Перейти к публикации

yeahga

новички
  • Публикации

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

  • Посещение

Сообщения, опубликованные пользователем yeahga

  1. В 05.10.2018 в 13:03, celsoft сказал:

    любое действие на JS можно отменить и заменить на свой без правки JS файлов

    Вы правы, пожалуй можно обойтись этим. 

     

    В 05.10.2018 в 13:03, celsoft сказал:

    Если не у вас не достаточно знаний JS, то это не значит что вашу возможность нельзя сделать без правки этого файла.

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

     

    В 05.10.2018 в 13:03, celsoft сказал:

    Если вы не знали, то этот путь что вы привели не всегда в DLE, а только при комбинации определенных настроек, когда их нет, статика идет в браузер напрямую минуя скрипты.

    Я знаю. Этот путь привёл лишь в качестве примера, в контексте того, что JS файлы не всегда минуют DLE.

     

    В 03.10.2018 в 21:50, celsoft сказал:

    плюс далеко не все включают сжатие

    Я сам не включаю.

    ПС: прошу прощения за потраченное время.

  2. 4 часа назад, celsoft сказал:

    В одном случае, если включена одна настройка, то отдавать, а если не включена, то не отдавать?

    Та нет же. Отдавать правленый файл в любом случае. Можно просто патчить файл. Не вижу ни одной причины, мешающей реализовать это. А так получается недосистема плагинов, которая работает на 50% В чем смысл, когда из релиза в релиз приходится делать правки вручную? 

    5 часов назад, celsoft сказал:

    В одном случае, если включена одна настройка, то отдавать, а если не включена, то не отдавать?

    Вы серьезно, или решили поиздеваться? 

  3. 4 минуты назад, celsoft сказал:

    Это сжатие и такая же прямая отдача, плюс далеко не все включают сжатие.

    Я понимаю. Я имел в виду, что можно отдавать правленый js файл.

  4. 53 минуты назад, celsoft сказал:

    JS статические файлы которые загружает браузер с сервера напрямую, минуя DLE.

    Да, но.. /engine/classes/min/index.php?f=engine/classes/js/dle_js.js

  5. 28 минут назад, NlCKRUS сказал:

    Если использовать древовидные комментарии, то тяжело найти последний, т.к. нет возможности отправлять пользователю ссылку именно на новый комментарий.

    Под новостью много страниц с комментариями, кто-то ответил кому-то, и как искать этот комментарий, чтобы продолжить диалог?

    В шаблоне comments.tpl используйте 

    <a href="#comment-id-{id}" title="Ссылка на этот комментарий">#{id}</a>

     

  6. Вот ещё небольшой список предложений.

    Для модуля закладки:
     - возможность выводить количество пользователей, добавивший новость в закладки
     - возможность выводить список пользователей, добавивших новость в закладки + настраиваемый шаблон вывода
     - возможность выводить закладки пользователя в профиле + шаблон
     - возможность публичного просмотра закладок пользователя по ссылке /user/{username}/favorites/
     - возможность пользователю ограничивать доступ к его закладкам
     - вывод топ новостей на основе количества пользователей, добавивших новость в закладки

    Другое:
     - возможность делать правки в js и css файлах в /engine/* через систему плагинов

     - систему личных сообщениях с использованием WebSocket

    • Поддерживаю 1
  7. Не знаю, почему все зациклились на одном лишь .htaccess? Неужели, никто не делает правки, например, в файле engine/classes/js/dle_js.js ? В моем случае, для реализации select[multiple] приходится менять 

    $.each($("#ajaxnews"+a).serializeArray(),function(a,c){b[c.name]=c.value})

    на 

    $.each($("#ajaxnews"+a+" :input"),function(){b[$(this).attr("name")]=$(this).val()||''})


    Сделайте возможным редактировать js и css файлы через систему плагинов. По моему скромному субъективному мнению, это будет лучшим введением в новой версии. 

  8. 10 минут назад, odys сказал:

    добавь его себе, в чём проблема?

    Это лишь предложения. Все вышеперечисленное себе уже добавил (кроме п.7)

     

    10 минут назад, odys сказал:

    это убожество нахрен не нужно из коробки

    А highslide нужен?

  9. Перечислю несколько своих предложений.

    1. Для дополнительного поля с типом "Загружаемое изображение":
     - добавить возможность загрузки изображения по прямой ссылке с удаленного сервера, как тут engine/ajax/controller.php?mod=upload
     - добавить возможность создавать среднюю копию загружаемого изображения
     - добавить теги [xfgiven_thumb_url_X][/xfgiven_thumb_url_X] и [xfnotgiven_thumb_url_X][/xfnotgiven_thumb_url_X]
     - добавить возможность указывать минимальное разрешение загружаемого изображения

    2. Добавить дополнительное поле с типом "Мультивыбор"
    3. Добавить возможность указывать символ или набор символов, с помощью которого произойдет разбиение стоки на перекрестные ссылки
    4. Добавить тег [new-pm][/new-pm]
    5. highslide заменить на FancyBox 3
    6. Добавить возможность самому задавать URL новостям и страницам
    7. $config['search_length_min'] сделать доступным из админ панели
    8. Добавить фильтрацию по дополнительным полям

    • Поддерживаю 5
  10. Разобрался. Надо еще в engine/inc/xfields.php и engine/ajax/rebuild.php заменить
     

    $temp_array = explode( ",", $newpostedxfields[$value[0]] );

    на
     

    $temp_array = explode( "/", $newpostedxfields[$value[0]] );

    Спасибо за подсказку!

    И в engine/inc/massactions.php

    $temp_array = explode( ",", stripslashes($postedxfields[$value3[0]]) );

    на
     

    $temp_array = explode( "/", stripslashes($postedxfields[$value3[0]]) );

     

  11. 11 час назад, celsoft сказал:

    Это файлы вывода новостей на сайте, а не добавления.

     

    За добавление отвечают файлы

    engine/inc/addnews.php

    engine/inc/editnews.php

    engine/modules/addnews.php

    Кажется, понял. Прошу прощения за свою глупость 

  12. Короче, мне надо чтобы не это

    field|value1,value2,value3||

    преобразовывалось в гиперссылки, а это 

    field|value1/value2/value3||

    В базу-то всё записывается правильно.

    После правок в файлах show.***.php список гиперссылок формируется нормально. Но поиск по дополнительным полям не работает. То есть, по ссылке /xfsearch/field/value2/ не найдет новостей. Подозреваю правки надо делать еще и в engine/engine.php где-то тут:

     

    elseif ($do == 'xfsearch') {
    			// ################ Поиск новостей по доп. полям #################			
    			if ($cstart) {
    				$cstart = $cstart - 1;
    				$cstart = $cstart * $config['news_number'];
    			}
    
    			$xf = urldecode ( $_GET['xf'] );
    			$url_charset = detect_encoding($xf);
    
    			if ( $url_charset AND $url_charset != strtolower($config['charset']) ) {
    
    				if( function_exists( 'mb_convert_encoding' ) ) {
    			
    					$xf = mb_convert_encoding( $xf, $config['charset'], $url_charset );
    			
    				} elseif( function_exists( 'iconv' ) ) {
    				
    					$xf = iconv($url_charset, $config['charset'], $xf);
    				
    				}
    				
    			}
    
    			if (dle_substr ( $xf, - 1, 1, $config['charset'] ) == '/') $xf = dle_substr ( $xf, 0, - 1, $config['charset'] );
    			
    			$xf = explode ( '/', $xf );
    			$xfname ="";
    			
    			if( $_GET['xfname'] AND !$config['allow_alt_url'] ) {
    				$xfname =$db->safesql(totranslit(trim($_GET['xfname'])));
    			} elseif(count($xf) > 1 ) {
    				$xfname =$db->safesql(totranslit(trim($xf[0])));
    				unset($xf[0]);
    			}
    			
    			$xf = implode('/', $xf);
    			$xf = @$db->safesql ( htmlspecialchars ( strip_tags ( stripslashes ( trim ( $xf ) ) ), ENT_QUOTES, $config['charset'] ) );
    
    			if (isset ( $_SESSION['dle_sort_xfsearch'] )) $news_sort_by = $_SESSION['dle_sort_xfsearch'];
    			if (isset ( $_SESSION['dle_direction_xfsearch'] )) $news_direction_by = $_SESSION['dle_direction_xfsearch'];
    			
    			if($xfname) {
    				
    				$url_page = $config['http_home_url'] . "xfsearch/{$xfname}/" . urlencode ( str_replace("&#039;", "'", $xf) );
    				$user_query = "do=xfsearch&amp;xfname=".$xfname."&amp;xf=" . urlencode ( str_replace("&#039;", "'", $xf) );
    				$db->query ( "SELECT news_id FROM " . PREFIX . "_xfsearch WHERE tagname='{$xfname}' AND tagvalue='{$xf}'" );
    				
    			} else {
    				$url_page = $config['http_home_url'] . "xfsearch/" . urlencode ( str_replace("&#039;", "'", $xf) );
    				$user_query = "do=xfsearch&amp;xf=" . urlencode ( str_replace("&#039;", "'", $xf) );
    				$db->query ( "SELECT news_id FROM " . PREFIX . "_xfsearch WHERE tagvalue='{$xf}'" );
    			}
    			
    			$xf_array = array ();
    			
    			while ( $row = $db->get_row () ) {
    				
    				$xf_array[] = $row['news_id'];
    			
    			}		
    			if (count ( $xf_array )) {
    				
    				if( $config['allow_alt_url'] AND $config['seo_control'] ) {
    					
    					$tmp_pos = strpos($_SERVER['REQUEST_URI'], urlencode(str_replace("&#039;", "'", $xf)) );
    
    					if (substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' OR $_GET['cstart'] == 1 OR substr ( $_SERVER['REQUEST_URI'], - 2 ) == '//' OR strpos ($_SERVER['REQUEST_URI'], "do=xfsearch" ) !== false OR !$tmp_pos ) {
    							
    						$re_url = $url_page . "/";
    							
    						if( $_GET['cstart'] > 1 ) {
    							$re_url .= "page/".intval($_GET['cstart'])."/";
    						}
    						
    						header("HTTP/1.0 301 Moved Permanently");
    						header("Location: {$re_url}");
    						die("Redirect");
    					}
    				}
    				
    				$xf_array  = array_unique($xf_array );				
    				$xf_array = "(" . implode ( ",", $xf_array ) . ")";
    				$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE {$stop_list}p.id IN {$xf_array} AND p.approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];
    				$sql_count  = "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE {$stop_list}id IN {$xf_array} AND approve=1" . $where_date;
    			
    			} else {
    				
    				if(!$xf) {
    					
    					$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
    					$re_url = reset ( $re_url );
    						
    					header("HTTP/1.0 301 Moved Permanently");
    					header("Location: {$re_url}");
    					die("Redirect");
    				}
    				
    				$sql_select = "SELECT SQL_CALC_FOUND_ROWS p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE {$stop_list}xfields LIKE '{$xf}' AND approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];
    				$sql_count = "SELECT FOUND_ROWS() as count";
    			
    			}
    
    			$allow_active_news = true;
    		
    		}

    Буду безмерно благодарен, если подскажите! 

  13. Мне нужно, чтобы, в том числе, при добавлении новости значения разделялись слэшем

    Дело в том, что запятая часто встречается в значениях полей и как разделитель не подходит.

  14. Здравствуйте! Подскажите, как сделать, чтобы значения в дополнительных полях перечислялись через другой разделитель, нежели запятая? Например, мне нужно через слэш (/). Делал замену в файлах show.custom.php, show.full.php и show.short.php 
    Менял

    $temp_array = explode( ",", $xfieldsdata[$value[0]] );

    на

    $temp_array = explode( "/", $xfieldsdata[$value[0]] );

    и

    $xfieldsdata[$value[0]] = implode(", ", $value3);

    на

    $xfieldsdata[$value[0]] = implode(" / ", $value3);


    В итоге список значений дополнительных полей в новости формируется нормально, но поиск по полям не работает, если значений несколько. Подскажите, надо ли еще где-то правки делать или дело в чем-то другом? Спасибо!

    сайт htts://deathgrind.xyz

    В случае, когда значения полей используются как перекрестная гиперссылка. 

×
×
  • Создать...