CMS DataLife Engine - Система управления сайтами

Xaker1493

местные
  • Публикаций

    53
  • Зарегистрирован

  • Посещение

Репутация

12 Обычный

Информация о Xaker1493

  • Звание
    Активист
  • День рождения 01.04.1993

Контакты

  • Сайт
    http://anime-workshop.ru/

Информация

  • Пол
    Мужчина
  • Город
    Киров

Посетители профиля

672 просмотра профиля
  1. Конфликта не обнаружил, наверно кэш не почистил.
  2. Это просто пример (Написал на скорую руку). Вот 2 плагина. Если включен один из двух, то второй из двух не работает: 1 Плагин: <?xml version="1.0" encoding="utf-8"?> <dleplugin> <name>Расширение функционала шаблонизатора новостей. Условия IF</name> <description>Простой, но многофункциональный хак, позволяющий выводить заданный текст в зависимости от значения полей новости или доп. полей xfields.</description> <icon></icon> <version>0.1</version> <dleversion>13.0</dleversion> <versioncompare>greater</versioncompare> <mysqlinstall><![CDATA[]]></mysqlinstall> <mysqlupgrade><![CDATA[]]></mysqlupgrade> <mysqlenable><![CDATA[]]></mysqlenable> <mysqldisable><![CDATA[]]></mysqldisable> <mysqldelete><![CDATA[]]></mysqldelete> <file name="engine/modules/functions.php"> <operation action="before"> <searchcode><![CDATA[?>]]></searchcode> <replacecode><![CDATA[function parseIf($m){ global $row,$config; $m[1] = trim($m[1]); $m[2] = trim($m[2]); preg_match("#^([0-9]+)\<(.+?)\>([0-9]+)?$#is",$m[1],$f); if($f[3]){ $xf = explode("xfvalue_",$f[2]); if($xf[1]) $v = floatval($row['xfields'][$xf[1]]); else $v = floatval($row[$f[2]]); if($v>=floatval($f[1]) AND $v<floatval($f[3])) return $m[2]; else return ""; } preg_match("#^(.+?)(!~|~|!=|=|>=|<=|<|>)['\"]?(.*?)['\"]?$#is",$m[1],$f); if(!$f[2]) return $m[0]; $xf = explode("xfvalue_",$f[1]); if($xf[1]) $v = $row['xfields'][$xf[1]]; elseif($f[1]=='tags') $v = $row[$f[1]][0]; else $v = $row[$f[1]]; $v = strtolower(strip_tags($v)); $fval = strtolower($f[3]); switch($f[2]){ case ">": $v = floatval($v); $fval = floatval($fval); if($v>$fval) return $m[2]; break; case "<": $v = floatval($v); $fval = floatval($fval); if($v<$fval) return $m[2]; break; case ">=": $v = floatval($v); $fval = floatval($fval); if($v>=$fval) return $m[2]; break; case "<=": $v = floatval($v); $fval = floatval($fval); if($v<=$fval) return $m[2]; break; case "!=": if($v!=$fval) return $m[2]; break; case "~": if(dle_strrpos($v,$fval,$config['charset'])!==false) return $m[2]; break; case "!~": if(dle_strrpos($v,$fval,$config['charset'])===false) return $m[2]; break; default: if($v===$fval) return $m[2]; } }]]></replacecode> </operation> </file> <file name="engine/modules/show.short.php"> <operation action="before"> <searchcode><![CDATA[$tpl->compile( 'content' );]]></searchcode> <replacecode><![CDATA[if(!is_array($row['xfields'])) $row['xfields'] = xfieldsdataload( $row['xfields'] ); $tpl->copy_template = preg_replace_callback("#\\[if (.+?)\\](.*?)\\[/if\\]#is","parseIf",$tpl->copy_template);]]></replacecode> </operation> </file> <file name="engine/modules/show.full.php"> <operation action="before"> <searchcode><![CDATA[$tpl->compile( 'content' );]]></searchcode> <replacecode><![CDATA[if(!is_array($row['xfields'])) $row['xfields'] = xfieldsdataload( $row['xfields'] ); $tpl->copy_template = preg_replace_callback("#\\[if (.+?)\\](.*?)\\[/if\\]#is","parseIf",$tpl->copy_template);]]></replacecode> </operation> </file> <file name="engine/modules/show.custom.php"> <operation action="before"> <searchcode><![CDATA[$tpl->compile( 'content' );]]></searchcode> <replacecode><![CDATA[if(!is_array($row['xfields'])) $row['xfields'] = xfieldsdataload( $row['xfields'] ); $tpl->copy_template = preg_replace_callback("#\\[if (.+?)\\](.*?)\\[/if\\]#is","parseIf",$tpl->copy_template);]]></replacecode> </operation> <operation action="before"> <searchcode><![CDATA[$global_news_count = 0;]]></searchcode> <replacecode><![CDATA[global $row;]]></replacecode> </operation> </file> </dleplugin> 2 Плагин: <?xml version="1.0" encoding="utf-8"?> <dleplugin> <name>Возрастное ограничение для новостей.</name> <description>Данный модуль выводить или скрывает текст если возраст пользователя не соответствует возрастному ограничению заданной определённой статье.</description> <icon></icon> <version>0.2</version> <dleversion>13.0</dleversion> <versioncompare>greater</versioncompare> <mysqlinstall><![CDATA[]]></mysqlinstall> <mysqlupgrade><![CDATA[]]></mysqlupgrade> <mysqlenable><![CDATA[]]></mysqlenable> <mysqldisable><![CDATA[]]></mysqldisable> <mysqldelete><![CDATA[]]></mysqldelete> <file name="engine/modules/functions.php"> <operation action="before"> <searchcode><![CDATA[?>]]></searchcode> <replacecode><![CDATA[function age_limit($matches=array()){ global $member_id, $is_logged,$member_id,$row; if(!count($matches))return ""; if(preg_match( "#birthday=['\"](.*?)['\"]#i", $matches[2], $birthday)){ $birthday = preg_match( "#(".$birthday[1].")\|(.*)#i", $member_id['xfields'], $xfields)?$xfields[2]:$birthday[1]; if(preg_match( "#([0-9]{1,2})\.([0-9]{1,2}).([0-9]{1,4})#", $birthday, $date )){ if($date[2] > date('m') || $date[2] == date('m') && $date[1] > date('d')) $age = (date('Y') - $date[3] - 1); else $age = (date('Y') - $date[3]); if (!is_numeric($age)) $age = 0; }else{ $age = 0; } }else{ $age = 0; } if(preg_match("#limit=['\"](.*?)['\"]#i", $matches[2], $limit_match)){ $xfieldsdata = xfieldsdataload($row['xfields']); $limit = $xfieldsdata[$limit_match[1]]?$xfieldsdata[$limit_match[1]]:$limit_match[1]; if (!is_numeric($limit)) $limit = 0; }else{ $limit = 0; } if($matches[1] == "agelimit"){ if($is_logged and $age>=$limit) return $matches[3]; else return''; }elseif($matches[1] == "not-agelimit"){ if($age<$limit) return $matches[3]; else return''; } }]]></replacecode> </operation> </file> <file name="engine/modules/show.short.php"> <operation action="before"> <searchcode><![CDATA[$tpl->compile( 'content' );]]></searchcode> <replacecode><![CDATA[if (strpos ( $tpl->copy_template, "[agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(agelimit) (.+?)\\](.*?)\\[/agelimit\\]#is", "age_limit", $tpl->copy_template ); } if (strpos ( $tpl->copy_template, "[not-agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(not-agelimit) (.+?)\\](.*?)\\[/not-agelimit\\]#is", "age_limit", $tpl->copy_template ); }]]></replacecode> </operation> </file> <file name="engine/modules/show.full.php"> <operation action="before"> <searchcode><![CDATA[$tpl->compile( 'content' );]]></searchcode> <replacecode><![CDATA[if (strpos ( $tpl->copy_template, "[agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(agelimit) (.+?)\\](.*?)\\[/agelimit\\]#is", "age_limit", $tpl->copy_template ); } if (strpos ( $tpl->copy_template, "[not-agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(not-agelimit) (.+?)\\](.*?)\\[/not-agelimit\\]#is", "age_limit", $tpl->copy_template ); }]]></replacecode> </operation> </file> <file name="engine/modules/show.custom.php"> <operation action="before"> <searchcode><![CDATA[$tpl->compile( 'content' );]]></searchcode> <replacecode><![CDATA[if (strpos ( $tpl->copy_template, "[agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(agelimit) (.+?)\\](.*?)\\[/agelimit\\]#is", "age_limit", $tpl->copy_template ); } if (strpos ( $tpl->copy_template, "[not-agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(not-agelimit) (.+?)\\](.*?)\\[/not-agelimit\\]#is", "age_limit", $tpl->copy_template ); }]]></replacecode> </operation> <operation action="after"> <searchcode><![CDATA[$global_news_count = 0;]]></searchcode> <replacecode><![CDATA[global $row;]]></replacecode> </operation> </file> </dleplugin>
  3. Тут такая проблема, если 2 плагина имеют одно схожее условие, например: 1 Плагин: Найти: $tpl->compile( 'content' ); Добавить выше: $tpl->set('{avatar}', $avatar['foto']); 2 Плагин: Найти: $tpl->compile( 'content' ); Добавить выше: $tpl->set('{Text}', 'Text']); Один из плагинов перестаёт работать, так как один заменяет другой. Можно как нибудь решить это, или только объединить 2 плагина?
  4. Версия: 0.2 - мелкие исправления. <?xml version="1.0" encoding="utf-8"?> <dleplugin> <name>Возрастное ограничение для новостей.</name> <description>Данный модуль выводить или скрывает текст если возраст пользователя не соответствует возрастному ограничению заданной определённой статье.</description> <icon></icon> <version>0.2</version> <dleversion>13.0</dleversion> <versioncompare>greater</versioncompare> <mysqlinstall><![CDATA[]]></mysqlinstall> <mysqlupgrade><![CDATA[]]></mysqlupgrade> <mysqlenable><![CDATA[]]></mysqlenable> <mysqldisable><![CDATA[]]></mysqldisable> <mysqldelete><![CDATA[]]></mysqldelete> <file name="engine/modules/functions.php"> <operation action="before"> <searchcode><![CDATA[?>]]></searchcode> <replacecode><![CDATA[function age_limit($matches=array()){ global $member_id, $is_logged,$member_id,$row; if(!count($matches))return ""; if(preg_match( "#birthday=['\"](.*?)['\"]#i", $matches[2], $birthday)){ $birthday = preg_match( "#(".$birthday[1].")\|(.*)#i", $member_id['xfields'], $xfields)?$xfields[2]:$birthday[1]; if(preg_match( "#([0-9]{1,2})\.([0-9]{1,2}).([0-9]{1,4})#", $birthday, $date )){ if($date[2] > date('m') || $date[2] == date('m') && $date[1] > date('d')) $age = (date('Y') - $date[3] - 1); else $age = (date('Y') - $date[3]); }else{ $age = 0; } }else{ $age = 0; } if(preg_match("#limit=['\"](.*?)['\"]#i", $matches[2], $limit_match)){ $xfieldsdata = xfieldsdataload($row['xfields']); $limit = $xfieldsdata[$limit_match[1]]?$xfieldsdata[$limit_match[1]]:$limit_match[1]; }else{ $limit = 0; } if($matches[1] == "agelimit"){ if($is_logged and $age>=$limit) return $matches[3]; else return''; }elseif($matches[1] == "not-agelimit"){ if($age<$limit) return $matches[3]; else return''; } }]]></replacecode> </operation> </file> <file name="engine/modules/show.short.php"> <operation action="before"> <searchcode><![CDATA[$tpl->compile( 'content' );]]></searchcode> <replacecode><![CDATA[if (strpos ( $tpl->copy_template, "[agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(agelimit) (.+?)\\](.*?)\\[/agelimit\\]#is", "age_limit", $tpl->copy_template ); } if (strpos ( $tpl->copy_template, "[not-agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(not-agelimit) (.+?)\\](.*?)\\[/not-agelimit\\]#is", "age_limit", $tpl->copy_template ); }]]></replacecode> </operation> </file> <file name="engine/modules/show.full.php"> <operation action="before"> <searchcode><![CDATA[$tpl->compile( 'content' );]]></searchcode> <replacecode><![CDATA[if (strpos ( $tpl->copy_template, "[agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(agelimit) (.+?)\\](.*?)\\[/agelimit\\]#is", "age_limit", $tpl->copy_template ); } if (strpos ( $tpl->copy_template, "[not-agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(not-agelimit) (.+?)\\](.*?)\\[/not-agelimit\\]#is", "age_limit", $tpl->copy_template ); }]]></replacecode> </operation> </file> <file name="engine/modules/show.custom.php"> <operation action="before"> <searchcode><![CDATA[$tpl->compile( 'content' );]]></searchcode> <replacecode><![CDATA[if (strpos ( $tpl->copy_template, "[agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(agelimit) (.+?)\\](.*?)\\[/agelimit\\]#is", "age_limit", $tpl->copy_template ); } if (strpos ( $tpl->copy_template, "[not-agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(not-agelimit) (.+?)\\](.*?)\\[/not-agelimit\\]#is", "age_limit", $tpl->copy_template ); }]]></replacecode> </operation> <operation action="after"> <searchcode><![CDATA[$global_news_count = 0;]]></searchcode> <replacecode><![CDATA[global $row;]]></replacecode> </operation> </file> </dleplugin>
  5. Возрастное ограничение для новостей. Для версий: DLE 13.0 Описание: Данный модуль выводить или скрывает текст если возраст пользователя не соответствует возрастному ограничению заданной определённой статье. Теги: [agelimit birthday="birthday" limit="age"] текст [/agelimit] - Выводят текст указанный в них если возраст больше или равен возрастному ограничению; [not-agelimit birthday="birthday" limit="age"] текст [/not-agelimit] - Выводят текст указанный в них если возраст меньше или равен возрастному ограничению; birthday="birthday" - Название доп. поля пользователя, обязательно дата виде: 01.04.2000. Также можно задать дату или возраст виде текста (birthday="01.04.2000" или birthday="16" ); limit="age" - Название доп. поля новостей, задаем число. Также можно задать возраст виде числа (limit="16"). Если birthday или limit не указаны или отсутствую, то будут равный нулю. Предупреждаю: Модуль сырой, если есть предложения по улучшению или исправления с удовольствием вас выслушаю. <?xml version="1.0" encoding="utf-8"?> <dleplugin> <name>Возрастное ограничение для новостей.</name> <description></description> <icon></icon> <version></version> <dleversion></dleversion> <versioncompare>less</versioncompare> <mysqlinstall><![CDATA[]]></mysqlinstall> <mysqlupgrade><![CDATA[]]></mysqlupgrade> <mysqlenable><![CDATA[]]></mysqlenable> <mysqldisable><![CDATA[]]></mysqldisable> <mysqldelete><![CDATA[]]></mysqldelete> <file name="engine/modules/functions.php"> <operation action="before"> <searchcode><![CDATA[?>]]></searchcode> <replacecode><![CDATA[function age_limit($matches=array()){ global $member_id, $is_logged,$member_id,$row; if(!count($matches))return ""; $age = '0'; $limit = '0'; if(preg_match( "#birthday=['\"](.*?)['\"]#i", $matches[2], $birthday)){ if(preg_match( "#(".$birthday[1].")\|(.*)#i", $member_id['xfields'], $xfields)){ $birthday = $xfields[2]; }else{ $birthday = $birthday[1]; } if(preg_match( "#([0-9]{1,2})\.([0-9]{1,2}).([0-9]{1,4})#", $birthday, $date )){ if($date[2] > date('m') || $date[2] == date('m') && $date[1] > date('d')) $age = (date('Y') - $date[3] - 1); else $age = (date('Y') - $date[3]); }else{ $age = $birthday[1]; } } if(preg_match("#limit=['\"](.*?)['\"]#i", $matches[2], $limit_match)){ $xfieldsdata = xfieldsdataload($row['xfields']); if($xfieldsdata[$limit_match[1]]) $limit = $xfieldsdata[$limit_match[1]]; else $limit = $limit_match[1]; } if($matches[1] == "agelimit"){ if($is_logged and $age>=$limit) return $matches[3]; else return''; }elseif($matches[1] == "not-agelimit"){ if($age<=$limit) return $matches[3]; else return''; } }]]></replacecode> </operation> </file> <file name="engine/modules/show.short.php"> <operation action="before"> <searchcode><![CDATA[$tpl->compile( 'content' );]]></searchcode> <replacecode><![CDATA[if (strpos ( $tpl->copy_template, "[agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(agelimit) (.+?)\\](.*?)\\[/agelimit\\]#is", "age_limit", $tpl->copy_template ); } if (strpos ( $tpl->copy_template, "[not-agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(not-agelimit) (.+?)\\](.*?)\\[/not-agelimit\\]#is", "age_limit", $tpl->copy_template ); }]]></replacecode> </operation> </file> <file name="engine/modules/show.full.php"> <operation action="before"> <searchcode><![CDATA[$tpl->compile( 'content' );]]></searchcode> <replacecode><![CDATA[if (strpos ( $tpl->copy_template, "[agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(agelimit) (.+?)\\](.*?)\\[/agelimit\\]#is", "age_limit", $tpl->copy_template ); } if (strpos ( $tpl->copy_template, "[not-agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(not-agelimit) (.+?)\\](.*?)\\[/not-agelimit\\]#is", "age_limit", $tpl->copy_template ); }]]></replacecode> </operation> </file> <file name="engine/modules/show.custom.php"> <operation action="before"> <searchcode><![CDATA[$tpl->compile( 'content' );]]></searchcode> <replacecode><![CDATA[if (strpos ( $tpl->copy_template, "[agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(agelimit) (.+?)\\](.*?)\\[/agelimit\\]#is", "age_limit", $tpl->copy_template ); } if (strpos ( $tpl->copy_template, "[not-agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(not-agelimit) (.+?)\\](.*?)\\[/not-agelimit\\]#is", "age_limit", $tpl->copy_template ); }]]></replacecode> </operation> <operation action="after"> <searchcode><![CDATA[$global_news_count = 0;]]></searchcode> <replacecode><![CDATA[global $row;]]></replacecode> </operation> </file> </dleplugin>
  6. Спасибо. Смог создать модуль. <?xml version="1.0" encoding="utf-8"?> <dleplugin> <name>Возрастное ограничение для новостей.</name> <description></description> <icon></icon> <version></version> <dleversion></dleversion> <versioncompare>less</versioncompare> <mysqlinstall><![CDATA[]]></mysqlinstall> <mysqlupgrade><![CDATA[]]></mysqlupgrade> <mysqlenable><![CDATA[]]></mysqlenable> <mysqldisable><![CDATA[]]></mysqldisable> <mysqldelete><![CDATA[]]></mysqldelete> <file name="engine/modules/functions.php"> <operation action="before"> <searchcode><![CDATA[?>]]></searchcode> <replacecode><![CDATA[function age_limit($matches=array()){ global $member_id, $is_logged,$member_id,$row; if(!count($matches))return ""; if(preg_match( "#birthday=['\"](.*?)['\"]#i", $matches[2], $birthday)){ if(preg_match( "#(".$birthday[1].")\|(.*)#i", $member_id['xfields'], $xfields)){ $birthday = $xfields[2]; }else{ $birthday = $birthday[1]; } if(preg_match( "#([0-9]{1,2})\.([0-9]{1,2}).([0-9]{1,4})#", $birthday, $date )){ if($date[2] > date('m') || $date[2] == date('m') && $date[1] > date('d')) $age = (date('Y') - $date[3] - 1); else $age = (date('Y') - $date[3]); }else{ $age = $birthday[1]; } }else{ $age = '0'; } if(preg_match("#limit=['\"](.*?)['\"]#i", $matches[2], $limit_match)){ $xfieldsdata = xfieldsdataload($row['xfields']); if($xfieldsdata[$limit_match[1]]) $limit = $xfieldsdata[$limit_match[1]]; else $limit = $limit_match[1]; }else{ $limit = '0'; } if($matches[1] == "agelimit"){ if($is_logged and $age>=$limit) return $matches[3]; else return''; }elseif($matches[1] == "not-agelimit"){ if($age<=$limit) return $matches[3]; else return''; } }]]></replacecode> </operation> </file> <file name="engine/modules/show.short.php"> <operation action="before"> <searchcode><![CDATA[$tpl->compile( 'content' );]]></searchcode> <replacecode><![CDATA[if (strpos ( $tpl->copy_template, "[agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(agelimit) (.+?)\\](.*?)\\[/agelimit\\]#is", "age_limit", $tpl->copy_template ); } if (strpos ( $tpl->copy_template, "[not-agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(not-agelimit) (.+?)\\](.*?)\\[/not-agelimit\\]#is", "age_limit", $tpl->copy_template ); }]]></replacecode> </operation> </file> <file name="engine/modules/show.full.php"> <operation action="before"> <searchcode><![CDATA[$tpl->compile( 'content' );]]></searchcode> <replacecode><![CDATA[if (strpos ( $tpl->copy_template, "[agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(agelimit) (.+?)\\](.*?)\\[/agelimit\\]#is", "age_limit", $tpl->copy_template ); } if (strpos ( $tpl->copy_template, "[not-agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(not-agelimit) (.+?)\\](.*?)\\[/not-agelimit\\]#is", "age_limit", $tpl->copy_template ); }]]></replacecode> </operation> </file> <file name="engine/modules/show.custom.php"> <operation action="before"> <searchcode><![CDATA[$tpl->compile( 'content' );]]></searchcode> <replacecode><![CDATA[if (strpos ( $tpl->copy_template, "[agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(agelimit) (.+?)\\](.*?)\\[/agelimit\\]#is", "age_limit", $tpl->copy_template ); } if (strpos ( $tpl->copy_template, "[not-agelimit" ) !== false) { $tpl->copy_template = preg_replace_callback ( "#\\[(not-agelimit) (.+?)\\](.*?)\\[/not-agelimit\\]#is", "age_limit", $tpl->copy_template ); }]]></replacecode> </operation> <operation action="after"> <searchcode><![CDATA[$global_news_count = 0;]]></searchcode> <replacecode><![CDATA[global $row;]]></replacecode> </operation> </file> </dleplugin>
  7. У меня есть готовый код: <?php $date = explode ("||", $member_id['xfields']); //(дата виде: 12.04.1991 ) $date = explode ("|", $date[1]); $date = explode (".", $date[1]); if($date[1] > date('m') || $date[1] == date('m') && $date[0] > date('d')) $Age = (date('Y') - $date[2] - 1); else $Age = (date('Y') - $date[2]); if($is_logged and !empty($date[1]) and $Age>'[xfvalue_age]'){ //([xfvalue_age] - список: +0,+16,+18 ) }else{ } Но я не знаю как вывести виде тегов, например: [agelimit=age] Если пользователь старше 18 лет. [/agelimit=age] [not-agelimit=age] Если пользователь младше 18 лет. [/not-agelimit=age] Помогите реализовать данную задумку.
  8. Если все грамотно сделать, то да.
  9. Перед установкой редактировали файлы show.short.php и main.php? Изменить тему не могу. Только перезалить с разрешением Администратора.
  10. Яндекс диск обновил ссылки. Файл SimpleBB v2.3.2 для DLE 13.0.zip перекинул на mega.co.nz
  11. Данный хак добавляет тег [xfvalue_X limit="X2" src], который выводит только URL для полноразмерной выбранной картинки "Галереи". Сам тег работает в custom, fullstory, shortstory. <?xml version="1.0" encoding="utf-8"?> <dleplugin> <name>Хак:[xfvalue_X image="Nr"] виде ссылки</name> <description>Тег [xfvalue_X limit="X2" src] выводит только URL для полноразмерной выбранной картинки "Галереи"</description> <icon></icon> <version></version> <dleversion></dleversion> <versioncompare>greater</versioncompare> <mysqlinstall><![CDATA[]]></mysqlinstall> <mysqlupgrade><![CDATA[]]></mysqlupgrade> <mysqlenable><![CDATA[]]></mysqlenable> <mysqldisable><![CDATA[]]></mysqldisable> <mysqldelete><![CDATA[]]></mysqldelete> <file name="engine/modules/show.short.php"> <operation action="after"> <searchcode><![CDATA[$gallery_single_image = array();]]></searchcode> <replacecode><![CDATA[$gallery_single_image_src = array();]]></replacecode> </operation> <operation action="after"> <searchcode><![CDATA[$gallery_single_image['[xfvalue_'.$value[0].' image="'.$xf_image_count.'"]'] = "<a href=\"{$img_url}\" class=\"highslide\" target=\"_blank\"><img class=\"xfieldimage {$value[0]}\" src=\"{$thumb_url}\" alt=\"\"></a>";]]></searchcode> <replacecode><![CDATA[$gallery_single_image_src['[xfvalue_'.$value[0].' image="'.$xf_image_count.'" src]'] = "{$img_url}"; ]]></replacecode> </operation> <operation action="after"> <searchcode><![CDATA[if($single_need AND count($gallery_single_image) ) { foreach($gallery_single_image as $temp_key => $temp_value) $tpl->set( $temp_key, $temp_value); }]]></searchcode> <replacecode><![CDATA[if($single_need AND count($gallery_single_image_src) ) { foreach($gallery_single_image_src as $temp_key => $temp_value) $tpl->set( $temp_key, $temp_value); }]]></replacecode> </operation> </file> <file name="engine/modules/show.custom.php"> <operation action="after"> <searchcode><![CDATA[$gallery_single_image = array();]]></searchcode> <replacecode><![CDATA[$gallery_single_image_src = array();]]></replacecode> </operation> <operation action="after"> <searchcode><![CDATA[$gallery_single_image['[xfvalue_'.$value[0].' image="'.$xf_image_count.'"]'] = "<a href=\"{$img_url}\" class=\"highslide\" target=\"_blank\"><img class=\"xfieldimage {$value[0]}\" src=\"{$thumb_url}\" alt=\"\"></a>";]]></searchcode> <replacecode><![CDATA[$gallery_single_image_src['[xfvalue_'.$value[0].' image="'.$xf_image_count.'" src]'] = "{$img_url}";]]></replacecode> </operation> <operation action="after"> <searchcode><![CDATA[if($single_need AND count($gallery_single_image) ) { foreach($gallery_single_image as $temp_key => $temp_value) $tpl->set( $temp_key, $temp_value); }]]></searchcode> <replacecode><![CDATA[if($single_need AND count($gallery_single_image_src) ) { foreach($gallery_single_image_src as $temp_key => $temp_value) $tpl->set( $temp_key, $temp_value); }]]></replacecode> </operation> </file> <file name="engine/modules/show.full.php"> <operation action="after"> <searchcode><![CDATA[$gallery_single_image = array();]]></searchcode> <replacecode><![CDATA[$gallery_single_image_src = array();]]></replacecode> </operation> <operation action="after"> <searchcode><![CDATA[$gallery_single_image['[xfvalue_'.$value[0].' image="'.$xf_image_count.'"]'] = "<a href=\"{$img_url}\" class=\"highslide\" target=\"_blank\"><img class=\"xfieldimage {$value[0]}\" src=\"{$thumb_url}\" alt=\"\"></a>";]]></searchcode> <replacecode><![CDATA[$gallery_single_image_src['[xfvalue_'.$value[0].' image="'.$xf_image_count.'" src]'] = "{$img_url}";]]></replacecode> </operation> <operation action="after"> <searchcode><![CDATA[if($single_need AND count($gallery_single_image) ) { foreach($gallery_single_image as $temp_key => $temp_value) $tpl->set( $temp_key, $temp_value); }]]></searchcode> <replacecode><![CDATA[if($single_need AND count($gallery_single_image_src) ) { foreach($gallery_single_image_src as $temp_key => $temp_value) $tpl->set( $temp_key, $temp_value); }]]></replacecode> </operation> </file> </dleplugin>
  12. SimpleBB — это модуль для создания полноценного форума на сайте под управлением CMS DataLife Engine 12.0 - 13.0. Основное отличие модуля от движка форума в том, что модуль использует общую базу данных пользователей и тесно интегрирован с движком DLE. Разработчик: Mehmet Hanoglu Дизайн: Kadir Hanoğlu Сайт разработчика: dle.net.tr Дата последнего обновления: 21.02.2018 Поддерживаемые версии DataLife Engine: 13.0, 12.1, 12.0 Перевод: Английский (DLEStarter), Русский (mrB4el), Украинский (Corsair), Французский (Bashu) Лицензия: MIT License Демо: https://forum.dle.net.tr/ Github: https://github.com/dlenettr/simplebb Подготовка: 1) Перед тем как начать установку, сделайте бэкап вашего сайта; 2) Создайте Категорию с альтернативным именем: forum, после этого создайте подкатегории в том порядке как на Скриншоте: в дальнейшем вы можете дополнить или изменить подкатегории; 3) В подкатегории необходимо указать путь к шаблонам: короткой и полных новости, заходим в настройки и прописываем путь: Шаблон короткой новости: forum/threads Шаблон полной новости: forum/post Установка (для DLE 12.1, 12.0): 1) Скачиваем simplebb v2.3.2 для DLE; 2) Распаковываем архив на ваш хостинг; 3) Дублируем файл engine/modules/addnews.php и переименуйте в addpost.php 4) После распаковки в адресную строку вводим: Ваш_сайт.ru/Install_module.php 5) Подтверждаем установку, ждем окончание установки (если что-то пошло не так, есть логи в папке install\logs\); 6) Если установка прошла удачно удаляем файл Install_module.php. Установка (для DLE 13.0): 1) Скачиваем SimpleBB v2.3.2 для DLE 13.0.zip 2) Заходим Админ панель > Утилиты > Управление плагинами и загружаем плагин и все. Настройка: * После установки заходим в Админ панель > Сторонние модули > MWS SimpleBB v2.3.2 и в поле Категория вашего форума выберите созданную заранее категорию. * В .htaccess находим: RewriteEngine On После ней вставить: RewriteRule ^addpost/([0-9]+)(/?)$ index.php?do=addpost&cat=$1 [L] * Добавьте часть кода в файл main.tpl (Не обязательно, если не планируете использовать шаблон SimpleBB): [forum]<link media="screen" href="{THEME}/forum/css/simplebb.css" type="text/css" rel="stylesheet" />[/forum] Форум на поддомене: * Если вам нужно чтобы форум запускался через поддомен (пример: forum.ваш_сайт.ru), включаем в настройке "Форум на поддомене" и в .htaccess находим: RewriteEngine On После ней вставить: Redirect 301 /forum http://Ваш_сайт.ru RewriteCond %{HTTP_HOST} ^forum\.Ваш-сайт\.ru$ [NC] RewriteRule ^$ index.php?do=cat&category=forum [L,NC] Не забудьте изменить .Ваш-сайт на ваш Домен. Теги: [forum:main]Отобразить только на главной странице Форума[/forum:main] [forum:cat] Отобразить только в Категориях[/forum:cat] [forum:forum]Отобразить только в Подфоруме[/forum:forum] [forum:inside]Отобразить только в Категориях или в Подфоруме[/forum:inside] [forum:thread]Отобразить только в Теме[/forum:thread] [forum]Отобразить в Форуме[/forum] [not-forum]На любой странице кроме Форума[/not-forum] {selected-cat} для addpost.tpl вывод категории к которой будет принадлежать категория {forum-stats} : Статистика форума (forum/stats.tpl); {category echo="id"} : Текущей категории ID (в show.short - тег не будет работать); {category echo="name"} : Название категории (в show.short - тег не будет работать); {page-title} : show.full Заголовок страницы, также может быть использовано место {title}; {count_all} : отображает количество созданных постов в категорий; {lastposter-foto} : [lastpost] [/lastpost] Ссылка на аватар пользователя создавший новый пост; {user-group} : show.full Группа пользователя; {avatar} : show.full Ссылка на аватар пользователя; {user-group-icon} : show.full Значок в группе пользователей; {forum-cats} : отображает список пользователей в категорий.
  13. SimpleBB — это модуль для создания полноценного форума на сайте под управлением CMS DataLife Engine 11.2. Основное отличие модуля от движка форума в том, что модуль использует общую базу данных пользователей и тесно интегрирован с движком DLE. Разработчик: Mehmet Hanoglu Дизайн: Kadir Hanoğlu Сайт разработчика: dle.net.tr Дата последнего обновления: 10.02.2017 Поддерживаемые версии DataLife Engine: 11.2, 11.1, 11.0, 10.5+ Перевод: Английский (DLEStarter), Русский (mrB4el), Украинский (Corsair), Французский (Bashu) Лицензия: MIT License Установка: Перед тем как начать установку, сделайте бэкап вашего сайта; Создайте Категорию с альтернативным именем: forum, после этого создайте подкатегории в том порядке как на Скриншоте, в дальнейшем вы можете дополнить или изменить подкатегории; В подкатегории необходимо указать путь к шаблонам: короткой и полных новости (пример Скриншоте), заходим в настройки и прописываем путь: Шаблон короткой новости: forum/threads Шаблон полной новости: forum/post После того как Категория и подкатегории будут созданный приступайте к установке форума, распаковываем архив на ваш хостинг, после распаковки в адресную строку вводим: Ваш_сайт.рф/Install_module.php, перед этим не забываем дать доступ файлам и папкам: .htaccess, engine/engine.php, engine/classes/google.class.php, engine/modules/main.php, engine/modules/functions.php, engine/modules/show.full.php, engine/modules/show.short.php, install/backup/ install/logs/ install/xml/ После установки заходим в Админ панель > Сторонние модули > MWS SimpleBB v2.2 и в поле Категория вашего форума выберите созданную заранее категорию. Если вам нужно чтобы форум запускался через поддомен (пример: forum.ваш_сайт.ru), включаем в настройке "Форум на поддомене" и в .htaccess находим RewriteEngine On После ней вставить: RewriteCond %{HTTP_HOST} ^forum\.Ваш-сайт\.ru$ [NC] RewriteRule ^$ index.php?do=cat&category=forum [L,NC] Не забудьте изменить .Ваш-сайт на ваш Домен. Чтобы попасть на форум в адресной строке прописываем в конце домена альтернативное имя форум (Которое вы указали в Категорий). Добавьте часть кода в файл main.tpl (Не обязательно, если не планируете использовать шаблон SimpleBB): [forum]<link media="screen" href="{THEME}/forum/css/simplebb.css" type="text/css" rel="stylesheet" />[/forum] Удаление: Находим файлы и удаляем: engine/classes/install.class.php engine/data/simplebb.conf.php engine/inc/simplebb.php modules/show.forum.php modules/simplebb.php skins/images/simplebb.png Дальше восстанавливаем изменённые файлы, заходим install/backup/ и распаковываем архив на ваш хостинг. Теги: [forum:main]Отобразить только на главной странице Форума[/forum:main] [forum:cat] Отобразить только в Категориях[/forum:cat] [forum:forum]Отобразить только в Подфоруме[/forum:forum] [forum:inside]Отобразить только в Категориях или в Подфоруме[/forum:inside] [forum:thread]Отобразить только в Теме[/forum:thread] [forum]Отобразить в Форуме[/forum] [not-forum]На любой странице кроме Форума[/not-forum] {forum-stats} : Статистика форума (forum/stats.tpl); {category echo="id"} : Текущей категории ID (в show.short - тег не будет работать); {category echo="name"} : Название категории (в show.short - тег не будет работать); {page-title} : show.full Заголовок страницы, также может быть использовано место {title}; {count_all} : отображает количество созданных постов в категорий; {lastposter-foto} : [lastpost] [/lastpost] Ссылка на аватар пользователя создавший новый пост; {user-group} : show.full Группа пользователя; {avatar} : show.full Ссылка на аватар пользователя; {user-group-icon} : show.full Значок в группе пользователей; {forum-cats} : отображает список пользователей в категорий. Файл addpost.tpl может быть таким же как и ваш файл addnews.tpl, вам только необходимо заменить {category} на {selected-cat}. Скачать: simplebb v2.2 for DLE Демо: https://forum.dle.net.tr/ Github: https://github.com/dlenettr/simplebb