Чтение RSS каналов

Форум

Открыть Ответить

Модуль игры на основе модуля файлов

1

1
1
23.10.2009 16:49:0023.10.2009 17:22:38

Модуль игры
Сделал на основе модуля files модуль games (движок open slaed 1.2), но с одним багом разобраться не могу. функция add() отображается несколько неправильно, а именно поля выводятся не по ширине отведенного под центральный модульный блок пространства:

Где примерно может быть ошибка? Код функции:

function add() {
	global $db, $prefix, $user, $pagetitle, $conf, $conff, $confu, $stop;
	$pagetitle = "".$conf['defis']." "._FILES." ".$conf['defis']." "._ADD."";
	if ((is_user() && $conff['addgames'] == 1) || (!is_user() && $conff['addquest'] == 1)) {
		if (is_user()) {
			$userinfo = getusrinfo();
		}
		head();
		menu(""._ADD."");
		$info = ""._ADDFNOTE."";
		if ($conff['upload'] == 1) $info .= "".sprintf(""._ADDFNOTE2."", str_replace(",", ", ", $conff['typefile']), files_size($conff['max_size']))."";
		$info .= " "._ADDFNOTE3."";
		if ($stop) warning($stop, "", "", 1);
		warning($info, "", "", 2);
		$title = save_text($_POST['title']);
		$cid = intval($_POST['cid']);
		$description = save_text($_POST['description']);
		$bodytext = save_text($_POST['bodytext']);
		$postname = text_filter(substr($_POST['postname'], 0, 25));
		$link = text_filter($_POST['link']);
		$gamesize = text_filter($_POST['gamesize']);
		$setup = text_filter($_POST['setup']);
		$system = text_filter($_POST['system']);
		$language = text_filter($_POST['language']);
		$year = text_filter($_POST['year']);
		$screenshots = $_POST['screenshots'];
		if ($description) preview($title, $description, $bodytext, "", $conf['name']);
		open();
		echo "<form name=\"post\" enctype=\"multipart/form-data\" action=\"index.php?name=".$conf['name']."\" method=\"post\">";
		if (is_user()) {
			echo "<div class=\"left\">"._YOURNAME.":</div><div class=\"center\">".text_filter(substr($user[1], 0, 25))."</div>";
		} else {
			$postname = ($postname) ? $postname : $confu['anonym'];
			echo "<div class=\"left\">"._YOURNAME.":</div><div class=\"center\"><input type=\"text\" name=\"postname\" value=\"".$postname."\" size=\"65\" class=\"".$conf['style']."\"></div>";
		}
		echo "<div class=\"left\">"._FTITLE.":</div><div class=\"center\"><input type=\"text\" name=\"title\" value=\"".$title."\" maxlength=\"100\" size=\"65\" class=\"".$conf['style']."\"></div>"
		."<div class=\"left\">"._CATEGORY.":</div><div class=\"center\"><select name=\"cid\" class=\"".$conf['style']."\">".getcat($conf['name'], $cid)."</select></div>"
		."<div class=\"left\">"._YEAR.":</div><div class=\"center\"><input type=\"text\" name=\"year\" value=\"".$year."\" size=\"65\" class=\"".$conf['style']."\"></div>"
		."<div class=\"left\">"._TEXT.":</div><div class=\"center\">".textarea("1", "description", $description, $conf['name'], "5")."</div>"
		."<div class=\"left\">"._ENDTEXT.":</div><div class=\"center\">".textarea("2", "bodytext", $bodytext, $conf['name'], "15")."</div>"
		."<div class=\"left\">"._SETYP.":</div><div class=\"center\"><textarea name=\"setup\" cols=\"15\" rows=\"5\" width=\"400\" class=\"".$conf['style']."\">".$setup."</textarea></div>"
		."<div class=\"left\">"._SISTEM.":</div><div class=\"center\"><textarea name=\"system\" cols=\"15\" rows=\"5\" width=\"400\" class=\"".$conf['style']."\">".$system."</textarea></div>"
		."<div class=\"left\">"._PEREVOD.":</div><div class=\"center\"><input type=\"text\" name=\"language\" value=\"".$language."\" maxlength=\"100\" size=\"65\" class=\"".$conf['style']."\"></div>";
		if ($conff['upload'] == 1) echo "<div class=\"left\">"._FILE_USER.":</div><div class=\"center\"><input name=\"userfile\" type=\"file\" size=\"65\" class=\"".$conf['style']."\"></div>";
		echo "<div class=\"left\">"._FILELINK.":</div><div class=\"center\"><input type=\"text\" name=\"filelink\" value=\"".$filelink."\" maxlength=\"100\" value=\"http://\" size=\"65\" class=\"".$conf['style']."\"></div>";
			$i = 0;
	while ($i < $conff['screenshots']) {
		$a = $i + 1;
		$display = ($i != 0 && $screenshots[$i] == "") ? "style=\"display:none;\"" : "";
		echo "<div id=\"med".$i."\" ".$display.">"
		."<div id=\"med".$a."-title\" class=\"left\" title=\""._ADD."\"><img src=\"".img_find("all/plus")."\" border=\"0\" align=\"center\" alt=\""._ADD."\" title=\""._ADD."\"> "._SCREEN." - $a:</div><div class=\"center\"><input type=\"text\" name=\"screenshots[]\" value=\"".text_filter($screenshots[$i])."\" size=\"65\" class=\"".$conf['style']."\"></div>"
		."</div><script language=\"JavaScript\" type=\"text/javascript\">var med = new SwitchCont('med".$i."', '');</script>";
		$i++;
	}
		echo "<div class=\"left\">"._SIZENOTEG.":</div><div class=\"center\"><input type=\"text\" name=\"gamesize\" value=\"".$gamesize."\" size=\"65\" class=\"".$conf['style']."\"></div>"
		."<div class=\"left\">"._LINK.":</div><div class=\"center\"><input type=\"text\" name=\"link\" value=\"".$link."\" size=\"65\" class=\"".$conf['style']."\"></div>"
		."".captcha_random().""
		."<div class=\"button\"><select name=\"posttype\">"
		."<option value=\"preview\">"._PREVIEW."</option>"
		."<option value=\"save\">"._SEND."</option></select>"
		."<input type=\"hidden\" name=\"op\" value=\"send\">"
		." <input type=\"submit\" value=\""._OK."\" class=\"fbutton\"></div></form>";
		close();
		foot();
	} else {
		Header("Location: index.php?name=".$conf['name']."");
	}
}



Версия системы: Open SLAED 1.*
Версия PHP: PHP 5
Сервер: Локальный сервер
2
23.10.2009 17:13:52

Откройте файл: templates/paradise/css/engine.css

Добавьте класс для своего модуля в строку: .account, .auto_links, .contact, .faq, .files, .jokes, .links, .media, .money,

или замените её на: .games, .account, .auto_links, .contact, .faq, .files, .jokes, .links, .media, .money,


О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
3
23.10.2009 17:33:47

Спасибо большое, я предполагал что дело в теме оформления - теперь буду точно знать.



Версия системы: Open SLAED 1.*
Версия PHP: PHP 5
Сервер: Локальный сервер
4
24.10.2009 21:04:0029.10.2009 21:07:54

возникла еще одна проблема. при использовании поля textarea и ВВ-редактора при каждом предварительном просмотре добавляются теги </br> на месте, в котором реально есть код br. При этом реально </br> предстваляет собой &lt;br /&gt; . При использовании редактора Spaw2 такого не наблюдается.
Php-код поля:

."<div class=\"left\">"._SYSTEM.":</div><div class=\"center\"><textarea name=\"system\" cols=\"15\" rows=\"5\" class=\"admin\">".$system."</textarea></div>";

Вывод переменной ".$system.":

Системные требования: Минимальные требования:<br /><br /><br />
ОС: Windows XP <br /><br /><br />
CPU: Intel Pentium D / AMD Athlon64 X2



Вид поля:
Вид поля



Версия системы: Open SLAED 1.*
Версия PHP: PHP 5
Сервер: Локальный сервер
5
25.10.2009 00:59:17

сайт бы еще посмотреть

3.31

3.31
6
28.10.2009 18:17:25

сайт в локалке. ну а так на глаз никто не скажет в чем проблема? может поменять тип поля на другой (какой?) или свойства поля какие-то установить? или проблема в ВВ-редакторе?



Версия системы: Open SLAED 1.*
Версия PHP: PHP 5
Сервер: Локальный сервер
7
29.10.2009 16:12:1929.10.2009 16:12:52

typou, элементарно

$system = str_replace(&#039;&lt;br /&gt;&#039;, &#039;&#039;, $system);

3.91

3.91
8
01.11.2009 21:25:06

Проблема решилась изменением функции
$system = save_text($_POST['system']);
на $system = $_POST['system'];
Очевидно save_text сохранял хтмл-коды как обычный текст, "дописывая" его каждый раз.



Версия системы: Open SLAED 1.*
Версия PHP: PHP 5
Сервер: Локальный сервер
9
01.11.2009 21:38:25

Еще одна проблема. В оригинальном каталоге файлов после меню модуля отображается следующее:

Общее количество: 1 файлов в 1 категориях


В копии модуля функция частично не работает:

Общее количество: игр в 1 категориях


В файле function/function.php функция добавлена:
# Format categories
if ($ccontent) {
	if ($mod == "files") {
list($pages_num) = $db->sql_fetchrow($db->sql_query("SELECT Count(lid) FROM ".$prefix."_files WHERE cid IN ($catid) AND date <= now() AND status!='0'"));
$in = _INF;
} elseif ($mod == "games") {
				list($pages_num) = $db->sql_fetchrow($db->sql_query("SELECT Count(lid) FROM ".$prefix."_games WHERE catid IN ($catid) AND time <= now() AND status!='0'"));
				$in = _ING; }

Надо еще что-то дописать, или где-то ошибка?



Версия системы: Open SLAED 1.*
Версия PHP: PHP 5
Сервер: Локальный сервер
10
11.11.2009 13:46:08

sam07, спасибо, твоя функция сильно помогла. ну а по поводу предыдщего поста никто ничего не скажет? не уже ли никто не копировал стандартный модуль файлов?



Версия системы: Open SLAED 1.*
Открыть Ответить
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь