Pasha

Pasha

+815
Репутация
12693
Рейтинг
#1 [ЕСТЬ РЕШЕНИЕ] При добавлении php.ini сайт перестает работать 18 апреля 2014 в 23:40
А -v чтобы не так скучно было? smile
#2 Как добавить возможность выбора группы при регистрации? 18 апреля 2014 в 20:55

создаю переменную $check_group = [цифры через запятую] — которую необходимо дальше уже проверять через if? В итоге правка кода минимальная, если вдруг надо добавить какую-то группу второй админской, стоит всего лишь в переменную добавить ее номер.


Ладно, раз намеков не понимают, скажу в лоб. Не нужно пытаться отлавливать то что запрещенно, гораздо надежнее и проще пропускать только то, что разрешено. В вашем случае не нужно писать if (id==1 || id==2), идите от обратного if (id != 5 || id != 6), то не разрешать
Повторяю, дожмите до конца метод request, откройте файл и посмотрите что он делает сейчас и что он может (должен) делать на самом деле. Гарантирую, что половина if которые вы хотите применять основываясь на старом коде отпадет сама по себе…
#3 Как добавить возможность выбора группы при регистрации? 18 апреля 2014 в 16:54

if($users['group_id'] == 1 || $users['group_id'] == 2 ){unset........

Отлично, проверяем две группы. А завтра или через год я решу что мне нужна еще одна привилегированная группа (ну мало ли) и без задней мысли добавлю ее через админку. Естественно получу очередной group_id, ну пусть например будет номер 25… И? Начинаем все условия переписывать? Или вы думаете что такого никогда не будет? Вообщем коль по взрослому делать не хотите, то пускай "вроде бы работает". smile
#4 Как добавить возможность выбора группы при регистрации? 18 апреля 2014 в 16:13
scanread, не идите на поводу у изначально неправильных и устаревших решений. Для начала дожмите метод request.

p.s. Идентификаторы групп это тоже понятие весьма относительное и при некотором стечении обстоятельств они запросто могут поменяться, в данном случае только на них я бы не сильно рассчитывал…
#5 Как добавить возможность выбора группы при регистрации? 18 апреля 2014 в 15:08
scanread, так делать нельзя. При таком подходе только ленивый не откроет исходник и не забьет в value двойку…
#6 Доработка ПОИСКА по сайту. Ищу исполнителя 18 апреля 2014 в 14:22
Чем не угодил поиск от гугла например?
#7 [ЕСТЬ РЕШЕНИЕ] Есть проблема нужно решение 18 апреля 2014 в 07:14
  1.  
  2. <?php
  3.  
  4. class p_yandex_ping extends cmsPlugin {
  5.  
  6. public function __construct(){
  7. parent::__construct();
  8.  
  9. $this->info['plugin'] = 'p_yandex_ping';
  10. $this->info['title'] = 'Пинг Яндекса';
  11. $this->info['description'] = 'Пингует Яндекс при добавлении статей, объявлений и постов в блоги';
  12. $this->info['author'] = 'Anyfiles Net';
  13. $this->info['version'] = '1.0';
  14.  
  15. $this->config['key'] = '66e51072807f00680a0847d0963cb5363434f0d5'; //ваш Ключ
  16. $this->config['id_search'] = '2106869'; //id поиска
  17. $this->config['login'] = 'partners-pro'; //логин Яндекса
  18.  
  19. $this->events[] = 'ADD_POST_DONE';
  20. $this->events[] = 'ADD_ARTICLE_DONE';
  21. $this->events[] = 'ADD_BOARD_DONE';
  22. $this->events[] = 'UPDATE_ARTICLE';
  23. }
  24.  
  25. public function execute($event = '', $item = array()){
  26. parent::execute();
  27.  
  28. switch ($event){
  29. case 'ADD_POST_DONE':
  30. $url = HOST.'/blogs/'.$item['seolink'].'.html';
  31. break;
  32. case 'ADD_ARTICLE_DONE':
  33. $url = HOST.'/'.$item['seolink'].'.html';
  34. break;
  35. case 'ADD_BOARD_DONE':
  36. $url = HOST.'/board/read'.$item['id'].'.html';
  37. break;
  38. case 'UPDATE_ARTICLE':
  39. $url = HOST.'/'.$item['seolink'].'.html';
  40. break;
  41. default:
  42. return $item;
  43. }
  44.  
  45. $ya_url = 'http://site.yandex.ru/ping.xml?urls='.urlencode($url).'&login='.$this->config['login'].'&search_id='.$this->config['id_search'].'&key='.$this->config['key'];
  46. $curlYA = curl_init($ya_url);
  47. curl_setopt($curlYA, CURLOPT_RETURNTRANSFER, true);
  48. $mess = 'Отправлен ping Яндексу, '.$url.' -> '.curl_exec($curlYA);
  49. curl_close($curlYA);
  50.  
  51. if($mess && cmsUser::getInstance()->is_admin)
  52. cmsCore::addSessionMessage($mess, 'info');
  53.  
  54. unset($curlYA, $mess, $ya_url);
  55.  
  56. return $item;
  57. }
  58. }
  59.  
  60. ?>
  61.  
#8 Подскажите как сделать открытой форму ввода комментарие по умолчанию? 17 апреля 2014 в 15:48

Спасибо, способ работает на 1.10.3, только при переходе например на статью, запись каталога или объявление, происходит переход сразу к комментариям, что не есть правильно.

Может и неправильно зато быстро😊Прыжок вниз происходит из-за автофокуса. Чтобы его убрать нужно открыть файл comments.js и закомментировать 11 строку — $('#content').focus();
#9 [ЕСТЬ РЕШЕНИЕ] Формат даты в статьях и модуле последних статей 17 апреля 2014 в 02:44
  1.  
  2. <?php
  3.  
  4. /*
  5.  
  6.   Модификатор |my_date_format
  7.   Принимает форматированную дату и возвращает ее в виде числа, месяца и года разложенных по спанам
  8.   Все содержимое сохранить как "modifier.my_date_format.php" и положить в папку /includes/smarty/libs/plugins
  9.   В шаблонах использовать - {$переменная_с_датой|my_date_format}
  10.  
  11.   =======================================================================
  12.  
  13.   В com_content_view.tpl это будет {$article.fpubdate|my_date_format}
  14.   В com_content_read.tpl {$article.pubdate|my_date_format}
  15.  
  16. */
  17.  
  18. function smarty_modifier_my_date_format($string) {
  19.  
  20. $data = explode(" ", trim($string));
  21. $day = trim($data[0]);
  22. $month = trim($data[1]);
  23. $year = trim($data[2]);
  24.  
  25. if(mb_strtolower($day) == 'сегодня') {
  26.  
  27. return "<span class='day'>Сегодня</span><span class='month'>в ".$year."</span>";
  28.  
  29. } elseif(mb_strtolower($day) == 'вчера') {
  30.  
  31. return "<span class='day'>Вчера</span><span class='month'>в ".$year."</span>";
  32.  
  33. } else {
  34.  
  35. $day = sprintf("%2d", $day);
  36. return "<span class='day'>".$day."</span><span class='month'>".$month."</span><span class='year'>".$year."</span>";
  37.  
  38. }
  39.  
  40. }
  41.  
  42. ?>
  43.  
#10 [ЕСТЬ РЕШЕНИЕ] Разлогинивание из профиля сваливает в 404 ошибку 16 апреля 2014 в 16:23
Так что ли?

  1. if(stristr(cmsCore::getBackURL(), 'editprofile')){
  2. cmsCore::redirect('/'); // Выход со страницы настройки профиля
  3. } else {
  4. cmsCore::redirectback(); // Выход с любой другой страницы
  5. }
#11 Проблемы с переходом на версию 10.1 16 апреля 2014 в 15:49

На главной странице не отображаются аватарки у Ленты активности

в разделе "Форум" При нажатии… "Сообщения без ответов" не загружаются оные


Не работает ибо в стандартном движке таких функций нет и никогда не было. Очевидно существовали некие доработки которые при "быстром и безболезненном" обновлении были затерты. Для восстановления ищите автора этих доработок, заказывайте их заново или воспользуйтесь резервной копией сайта оставленной до обновления, вы же ее оставили?..
#12 [ЕСТЬ РЕШЕНИЕ] Формат даты в статьях и модуле последних статей 16 апреля 2014 в 14:42
Для этого существуют модификаторы. В простейшем случае будет так:
  1. /*
  2.   модификатор |my_date_format вернет дату, месяц и год разложенные по спанам
  3. */
  4.  
  5. function smarty_modifier_my_date_format($string) {
  6. $data = explode(" ", trim($string));
  7. $day = trim($data[0]);
  8. $month = trim($data[1]);
  9. $year = trim($data[2]);
  10.  
  11. if(mb_strtolower($day) == 'сегодня') {
  12. return "<span class='day'>Сегодня</span><span class='month'>в ".$year."</span>";
  13. } elseif(mb_strtolower($day) == 'вчера') {
  14. return "<span class='day'>Вчера</span><span class='month'>в ".$year."</span>";
  15. } else {
  16. $day = sprintf("%2d", $day);
  17. return "<span class='day'>".$day."</span><span class='month'>".$month."</span><span class='year'>".$year."</span>";
  18. }
  19. }
#13 [ЕСТЬ РЕШЕНИЕ] нужно доработать шаблон -оплачу!!! 15 апреля 2014 в 15:46
Координаты в подписи…
#14 [ЕСТЬ РЕШЕНИЕ] Как не выводить несколько последних новостей в модуль? 15 апреля 2014 в 07:35
Это лишнее, можно использовать то что уже есть.
Поскольку речь идет о модуле "Новые статьи", то я так полагаю, что две последние в данном случае означают две первые в цикле, а значит все просто:
  1. {foreach key=aid item=article from=$articles}
  2. {if $aid > 2} <!-- {$aid} начинается с нуля! -->
  3. <div class="mod_latest_entry">.........</div>
  4. {/if}
  5. {/foreach}
Ну и поскольку пагинация при таком раскладе работать правильно не сможет лучше бы этот момент проконтролировать и вывести для себя напоминание. Например в самом верху файла вставить:
  1. {if $cfg.is_pag}
  2. <p>Бла-бла-бла, пагинацию включать нельзя!!!</p>
  3. {/if}
#15 [ЕСТЬ РЕШЕНИЕ] Как не выводить несколько последних новостей в модуль? 14 апреля 2014 в 12:12
Перечислю целых три варианта. Отсечь "лишнее" можно:

1. На уровне запроса к БД
2. На уровне обработки данных перед передачей их в шаблон,
3. На уровне шаблона

Первый наиболее логичный, но если материал не просто выводится, а еще и фильтруется по неким критериям, например должен иметь рисунок или не менее 100 слов в анонсе, то тогда нужен вариант 2. Если же вмешательство в оригинальные файлы системы не желательно, то вариант номер 3. Что конкретно интересует?
🍪Мы используем файлы cookie для работы сайта. Читать подробнее.