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

zgr

Клиенты
  • Публикации

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

  • Посещение

  • Дней в лидерах

    17

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

  1. Я вот на чем еще задумался....

    Бросьте это гиблое дело :lol:

    Ведь через РНР все равно грузится вначале на сервак где стоит ДЛЕ, а уже оттуда перекачивается на ФТП, т.е. передача то все равно идет по HTTP.

    Файл, если нужно передать на другой сервер, никуда не закачивается, а сразу передается потоком на другой сервер через обычный аякс-запрос и, если запрос поступил, то на втором серваке этот файл сразу принимается хоть по открытому каналу, хоть с шифрованием. Для этого доступ к ФТП и прочее не нужно, всё в php работает и гораздо проще, самая простая функция получения файла - file_put_content(). Весь код буквально несколько строк занимает.

    но не на каждом хостинге такое возможно

    Если php нет на хостинге или нет прав на запись файла - то да, невозможно такое сделать, например, на хостинге Народ.ру. :)

  2. Про какой "бред" пошла речь - не понял :D

    и только на добавление сделать кнопку

    Так и сделал, кликаем на миниатюру в админке - тут же сразу всё меняется/загружается/удаляется аяксом, всё без проблем летает, сделал на высшем пилотаже :D На днях освобожусь - проверю загрузку флеш и доведу до ума миниатюры.

    П.С. К сожалению, мод писал под конкретный сайт, второго такого мода не будет, но если вам нужен аналог (под ваши запросы что-то подобное), пишите в личку через несколько дней ;)

  3. Не заморачивайтесь :D Есть куча готовых сервисов, например, блогеры часто ставят такой блок - то, что вы и описали. Писать аналогичный сервис на паблик... м... сложная задачка, вряд ли кто этим займется без коммерческого интереса :) Был бы Зенд, возможно, сделал бы бесплатную версию такого сервиса, но смысл? :rolleyes:

  4. Других я не видел в сети. Аналог писал, но он уже устарел - нужно нормально переписывать... так бы предложил посмотреть. Ну, тогда только заказ под свои нужды, видимо, либо автору того мода пишите, может, под 9.2 наладит.

  5. Согласен, пожелание странное... Я бы лично тоже закинул через ФТП раз в несколько дней картинку, а в CSS просто бы поменял img1.png на img2.png. А с другой стороны - пока есть странные пожелания, мне есть чем за тырнет платить :D

    П.С. Возможно, человеку просто мало понятно как с ФТП работать (непривычно), вот и подстраивает всё под себя - вполне понятный подход, я тоже долго не мог поначалу к ФТП привыкнуть, когда начал сайтами юлозить - лишние пароли, доступы, ссылки и т.д. :P

    П.П.С. Через рекламу малопонятно и неинтуитивно, да и заливки там нет на сайт. :P

  6. Привет, долго думал как лучше бы сделать... Есть много вариантов, как можно было бы реализовать, но каждый имеет свои плюсы и минусы... В данный момент как наиболее рациональный вариант прелагаю такой:

    1. Публикуем статью, как есть (используем только короткую версию).

    2. Чтобы описание ката соответствовало самой категории вместо титула статьи пишем путь к этой категории, в нашем примере - script_fotogalerei.

    3. Статью НЕ публикуем, т.е. снимаем все галочки, заполняем только 2 поля - титул + короткая версия.

    4. В index.php выше:

    $tpl->compile('main');
    добавить такой код:
    if ($do=='cat' && $category!='' && $subaction=='') {
    
      if (isset($cstart) && ($cstart===0 || $cstart==1)) {
    
    	$p = $cat_info[$category_id]['alt_name'];
    
    	if ($p && $p!='') {
    
    	  $sql = "SELECT category,title,short_story FROM ".PREFIX."_post WHERE title='$p' && category='42' LIMIT 1";
    
    	  $res = $db->query($sql);
    
    	  while ($r = $db->get_row($res)) $mycatinfo = $r['short_story'];
    
    	  if (!isset($mycatinfo) || !$mycatinfo || trim($mycatinfo)=='') $mycatinfo = '';
    
    	  else $mycatinfo = "\n<div id=\"mycatinfo\">$mycatinfo</div>\n";
    
    	  unset($sql,$res,$r);
    
    	} else $mycatinfo = '';
    
    	unset($p);
    
      } else $mycatinfo = '';
    
      if (!isset($cat_info[$category_id]['name']) || $cat_info[$category_id]['name']=='') $htitlesite = '';
    
      else $htitlesite = "<h1>{$cat_info[$category_id]['name']}</h1>";
    
      $tpl->set('{cat_descr_mainpage}',$mycatinfo);
    
      $tpl->set('{header_title_site}',$htitlesite);
    
      unset($mycatinfo,$htitlesite);
    
    }
    5. В шаблон main.tpl вставить в любое место:
    [aviable=cat]{header_title_site}{cat_descr_mainpage}[/aviable]

    http://script-php.ru/script_fotogalerei/ - титул + описание (обычная новость).

    http://script-php.ru/script_fotogalerei/page/2/ - только титул

    Получилось:

    Скрипт фотогалереи: все, что относится к фотогаллереям.

    П.С. category='42' - айди ката, в который публикуются все описания для всех наших катов (айди можно увидеть в админке при создании ката для наших описаний).

    Полагаю, это то, что нужно было :)

  7. Каков результат? Публиковать ссылку на исходный сайт стало возможным?

    Откуда мне знать? Если не в лом, проверьте, вам же нужно, а не мне, я просто мимо пробегал, решил вариант подсказать, как правильно сделать. :)

    • Поддерживаю 1
  8. исключением был урл исходного сайта

    Заменить:

    if( preg_match( "/href|url|http|www|\.ru|\.com|\.net|\.info|\.org/i", $_POST['comments']) || preg_match ("/href|url|http|www|\.ru|\.com|\.net|\.info|\.org/i", $_POST['name'] ) ) {
    
        $stop[] = "URL адреса сайтов, публиковать ЗАПРЕЩЕНО!";
    
        $CN_HALT = TRUE;
    
    }
    на:
    preg_match('|\s([\w]{3,7}://[\S]*)|\ssmi',$_POST['comments'],$r);
    
    if ($r) {$url = $r[1]; $uri = parse_url($url);}
    
    unset($r);
    
    if (isset($uri['scheme'])) && isset($uri['host']) && $uri['scheme']!='' && $uri['host']!='') {
    
      if ($uri['host']!=$_SERVER['HTTP_HOST']) {
    
        $stop[] = "URL адреса сайтов, публиковать ЗАПРЕЩЕНО!";
    
        $CN_HALT = TRUE;
    
      }
    
    }

    Особо не вникал в проблему, но должно работать по идее :)

    • Поддерживаю 1
  9. Допустим есть тег [test][/test], в каком файле нужно копаться чтобы ключевики не брались из этого тега?

    engine/inc/include/functions.inc.php

    engine/modules/functions.php

    Походу уже и Целсофт на свои правила забил: теперь можно и с нуллами помощь получить :D

  10. Мысли в студию

    Уже написал, видимо, готовый код нужен? :D

    error_reporting(E_ALL);
    
    ini_set('display_errors',TRUE);
    
    ini_set('display_startup_errors',TRUE);
    
    #set_error_handler('my_error_handler',E_ALL);
    
    
    $dir = $_SERVER['DOCUMENT_ROOT'].'/uploads/headers';
    
    if (!is_dir($dir)) {
    
      if (!mkdir($dir,0777)) die("Cat't creation folder: $dir/.");
    
      if (!mkdir("$dir/thumbs",0777)) die("Cat't creation folder: $dir/thumbs/.");
    
    }
    
    $myfiles['allow'] = 'jpg,jpeg,png,gif';
    
    $myfiles['list'] = glob("$dir/*.{{$myfiles['allow']}}",GLOB_BRACE);
    
    $myfiles['count'] = count($myfiles['list']);
    
    $thumbs['maxsize_width'] = 100;		 #Ðàçìåð ïîñòåðà.
    
    $thumbs['maxsize_height'] = 100;	 #Ðàçìåð ïîñòåðà.
    
    $poster['maxsize_width'] = 1024;	 #Ðàçìåð ïîñòåðà.
    
    $poster['maxsize_height'] = 1024;	 #Ðàçìåð ïîñòåðà.
    
    $quality = 85;
    
    
    if (isset($_FILES['poster']) && is_array($_FILES['poster']) && $_FILES['poster']!=null) {
    
      $err_poster = false;
    
      ...
    
    }
    
    $get = (isset($_GET['go']) && trim($_GET['go'])!='' && strpos($_GET['go'],'.')!==false)?trim($_GET['go']):false;
    
    if ($get) {
    
      define('DATALIFEENGINE',true);
    
      if (!defined('ROOT_DIR')) {
    
    	define('ROOT_DIR',$_SERVER['DOCUMENT_ROOT']);
    
    	define('ENGINE_DIR',ROOT_DIR.'/engine');
    
      }
    
      include_once ENGINE_DIR.'/data/config.php';
    
      include_once ENGINE_DIR.'/api/api.class.php';
    
      $count = $db->super_query("SELECT COUNT(*) AS count FROM ".PREFIX."_header");
    
      $count = $count['count'];
    
      if (!$count) $db->query("INSERT INTO ".PREFIX."_header VALUES ('$get')");
    
      else $db->query("UPDATE ".PREFIX."_header SET path='$get'");
    
      #unset($count,$get); $db->free(); $db->close(); exit();
    
    } #else unset($get,$_GET,$_POST);
    
    
    if ($get=="delete") {
    
    ...
    
    } else if ($get=="upload") {
    
    ...
    
    } else if ($get=="show_thumb") {
    
    ...
    
    } else if ($get=="show_list") {
    
    ...
    
    } else {
    
    ...
    
    }

    Вот пример вырезки кусочка кода из моего последнего мода: меняет шаб (шапку) сайта по клику на иконку шаба, появляется при наводе на миниатюру иконки кнопки и информация о шабе - можно удалить/изменить. Можно прямо на этой же странице опять же без перезагрузок показать шабы миниатюрами, либо вывести их список, тут же можно загрузить новый. Всё это делается на одной странице в админке в одном файлике php - всё сделал на автопилоте: кликнули - загрузился новый шаб, подвели мышку - показались доп. кнопки для редактирования/удаления "на лету", либо кликаем на миниатюру - "на лету" меняется шаб.

    Аналогично можно сделать что угодно и как угодно - никаких привязок ни к ДЛЕ, ни к чему-либо еще. Остальное показать не могу - секрет Фирма, думаю, достаточно материала для написания похожего мода :D Примеров аякса полно в сети, хоть на чистом JS, хоть на библиотеках, например, Джиквери.

  11. Специально для тех, кто в танке:

    1. Если ваша тема начинается с вопроса и вам нужна какая либо помощь, то в самой теме в обязательном порядке вы должны указывать ссылку на ваш сайт. Если ваш сайт находится в локальной сети и вы не можете предоставить ссылку, или вы не хотите публиковать открытой ссылки на ваш сайт, то отправляйте персональное сообщение с вопросом в службу поддержки непосредственно с сайта http://dle-news.ru/, вам ответят на ваш вопрос в персональном порядке, в случае если пользуетесь платной версией скрипта и обладаете лицензией на скрипт. Если вы пользуетесь демоверсией, то вы вам необходимо разместить сайт в сети интернет, и только потом обращаться за помощью. По находящимся на локальных компьютерах демоверсиям никакой помощи и поддержки на форуме не оказывается. Если вы не указали сайт, то ваша тема будет закрыта, а аккаунт на форуме заблокирован.

    То, что вы просите - пишется долго, вам вряд ли кто подскажет, можете изучить HTML + JS + AJAX и сделать сами, либо заказать в соседней ветке.

  12. Капец, искал вашу флешку 5 минут, а это простой скрипт... Как вы хотите, чтоб вам ваш скрипт переустановили? :lol:

    <script>//<!--
    
    ubn_user = "65104";
    
    ubn_page = "1";
    
    ubn_pid = Math.round((Math.random() * (10000000 - 1)));
    
    document.write("<iframe src='http://banner.kiev.ua/cgi-bin/bi.cgi?h" +
    
    ubn_user + "&amp;"+ ubn_pid + "&amp;" + ubn_page + 
    
    "&amp;12' frameborder=0 vspace=0 hspace=0 " +
    
    " width=728 height=90 marginwidth=0 marginheight=0 scrolling=no>");
    
    document.write("<a href='http://banner.kiev.ua/cgi-bin/bg.cgi?" +
    
    ubn_user + "&amp;"+ ubn_pid + "&amp;" + ubn_page + "' target=_top>");
    
    document.write("<img border=0 src='http://banner.kiev.ua/" +
    
    "cgi-bin/bi.cgi?i" + ubn_user + "&amp;" + ubn_pid + "&amp;" + ubn_page +
    
    "&amp;12' width=728 height=90 alt='Ukrainian Banner Network'></a>");
    
    document.write("</iframe>");
    
    //--></script>

    Удаляйте его, если с ним проблемы :D У меня нормально загрузилось всё. Я пользуюсь пока этим сервисом, сейчас свой аналог клепаю, там можно будет определить все глюки сайта.

  13. Окно тоже, что и для картинок.

    Полагаю, что ему нужно не только окно для заливки файлов, а еще и вывод этих самых залитых файло по датам/титулам/размерам/темам и т.д. Я такое на Юкозе видел, не знаю, это ему нужно или нет? - Большое поле работы для фантазии Целсофту... Нужно в пожелания писать, может, сваяет когда-нибудь... :)

  14. Самый простой способ, который мне известен - передать любым из запросов (ГЕТ или ПОСТ) переменные через пути, напримерр, ГЕТОМ, а в пхп отловить этот запрос и передать в окно. Другие способы не знаю, да вроде других и не существует, если только эти окна на одной странице формируются, тогда через простой JS (пути ДОМ), думаю, можно метки передать, но для этого нужно быть спецом либо в JS, либо в аяксе. :) Зачем вообще такой гемор нужен? :D

  15. Лучше в пожелания напишите, может, Целсофт сделает чекбоксы ;) С ними геморно, обычно нужно их дублировать, чтоб определить метку 0 или 1. Чем вас простые селекты не устраивают? - это же админка :unsure:

    П.С. Второй вариант (горизонтально) можно попробовать сделать свойством "флоат":

    td.xfields select option {float:left;}

    Попробуйте так, должны в линию встать ;)

  16. О... ответил тоже в другой ветке. Зачем дублировать в нескольких ветках?

    Целсофт, удалите дубль: http://forum.dle-news.ru/index.php?showtopic=54357

    Кидают, как в помойку топики, во все ветки... :D

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