IT-Security 33 Опубликовано: 27 декабря 2007 Рассказать Опубликовано: 27 декабря 2007 Это что за загрузка файлов такая, которая "кушает все ресурсы"? Загрузка файлов ничего не кушает, кроме ресурсов файловой системы. А она работает на порядок выше, чем думает и работает даже тысяча пользователей. Я ещё не видел сайты, которые "висели" из-за загрузки. Да и разделения ресурсов в ПХП впринципе нет. Ссылка на сообщение Поделиться на других сайтах
Pitstoper 0 Опубликовано: 27 декабря 2007 Рассказать Опубликовано: 27 декабря 2007 Snake Нам не нужен висячий модуль Ссылка на сообщение Поделиться на других сайтах
igramnet 1 Опубликовано: 27 декабря 2007 Рассказать Опубликовано: 27 декабря 2007 Автор Просто я заметил, что при загрузке файла по http протоколу, т.е. перекачка с сервера на сервер, сайт не откликается у меня.... Ссылка на сообщение Поделиться на других сайтах
IT-Security 33 Опубликовано: 27 декабря 2007 Рассказать Опубликовано: 27 декабря 2007 Не может такого быть. Ссылка на сообщение Поделиться на других сайтах
igramnet 1 Опубликовано: 27 декабря 2007 Рассказать Опубликовано: 27 декабря 2007 Автор Ну... Может оно и не так, но я это вижу именно в таком варианте. Могу даже дать ссылочку потестить Если кому интересно в асю или в googleTalk стучитесь Ссылка на сообщение Поделиться на других сайтах
Fixp 0 Опубликовано: 28 декабря 2007 Рассказать Опубликовано: 28 декабря 2007 Ну... Может оно и не так, но я это вижу именно в таком варианте. Могу даже дать ссылочку потестить Если кому интересно в асю или в googleTalk стучитесь Может это тупо просто занимается твой канал интернета закачкой файла)) Ссылка на сообщение Поделиться на других сайтах
igramnet 1 Опубликовано: 28 декабря 2007 Рассказать Опубликовано: 28 декабря 2007 Автор Может.. Но опять не вяжется один момент. Я же перекачиваю с сайта на сайт. Причём тут мой интернет? Ссылка на сообщение Поделиться на других сайтах
igramnet 1 Опубликовано: 28 декабря 2007 Рассказать Опубликовано: 28 декабря 2007 Автор Итак, всё необходимое сделал. А именно теперь можно и редактировать полноценно и добавлять и удалять файлы Теперь очень хочу сделать четыре вещи 1. Оптимизировать код (убать или поправить его до такой степени, чтобы модуль работал быстро). 2. Добавить возможность вывода файлов через RSS 3. Отправка файлов на E-mail. 4. Вывод похожих файлов (как новости). Может кто поможет (можно даже за денежку)? Ссылка на сообщение Поделиться на других сайтах
Pitstoper 0 Опубликовано: 28 декабря 2007 Рассказать Опубликовано: 28 декабря 2007 Я поговорю завтра с человеком одним, нам такой Мод нужен, поэтому узнаю как мы сможем помочь и тебе Ссылка на сообщение Поделиться на других сайтах
igramnet 1 Опубликовано: 30 декабря 2007 Рассказать Опубликовано: 30 декабря 2007 Автор Столкнулся с проблемой. При добавлении комментария мы используем функцию word_filter(),которая подгружается из parse.class.php. Для 6,5 я поменял путь, но теперь при поппытке добавить коммент выкидывает ошибку Fatal error: Call to undefined function word_filter() in F:\Web\DiskS\fmnokia_test\engine\modules\files.php on line 1669 Мы ведь подгружаем файл parse.class.php, в чём же дело. Если же "выдрать" функцию word_filter() из самого файла и вставить в files.php то всё работает. Почему же так косячит? В файле modules/files.php часть кода //################################################################################ #################################### // Функция добавление коментариев //################################################################################ #################################### function postcomment() { global $tpl, $member_id, $user_group, $db, $config, $filesConfig, $is_logged, $lang; include ENGINE_DIR.'/classes/parse.class.php'; $parse = new ParseFilter(); $parse->safe_mode = true; $id = intval ($_POST['id']); $fileid = intval ($_POST['fileid']); $autor = $db->safesql($parse->process(trim($_POST['name']))); $email = $db->safesql($parse->process(trim($_POST['mail']))); $stop = array (); if ($filesConfig['allow_comments'] == "0"){ $stop[] = "Комментарии запрещены"; $check_status = TRUE; } if (!$is_logged AND $filesConfig['allowed_guest_com'] == "0"){ $stop[] = "Добавление комментариев для незарегистрированных посетителей запрещено! <br>Уважаемый посетитель вы вошли на сайт как незарегистрированный пользователь. <br>Мы рекомендуем вам зарегистрироваться либо войти на сайт под своим именем."; $check_status = TRUE; } if ($is_logged) { $autor = $member_id['name']; $email = $member_id['email']; } if ($is_logged){ $is_register = 1;} else{ $is_register = 0;} $time = date ("Y-m-d H:i:s", (time()+$config['date_adjust']*60)); if ($_SERVER['HTTP_X_FORWARDED_FOR']) $_IP = $db->safesql($_SERVER['HTTP_X_FORWARDED_FOR']); else $_IP = $db->safesql($_SERVER['REMOTE_ADDR']); if ($config['allow_comments_wysiwyg'] != "yes") $comments = $db->safesql($parse->BB_Parse($parse->process($_POST['comments']), false)); else{ $parse->ParseFilter(Array('div', 'a', 'span', 'p', 'br'), Array(), 0, 1); $comments = $db->safesql($parse->BB_Parse($parse->process($_POST['comments']))); } $comments = word_filter($comments); if (!$user_group[$member_id['user_group']]['captcha']) { $_SESSION['sec_code_session'] = 1; $_POST['sec_code'] = 1; } if( strlen($autor) > 50){ $stop[] = $lang['news_err_1']; $check_status = TRUE; } if( strlen($email) > 50 AND !$is_logged){ $stop[] = $lang['news_err_2']; $check_status = TRUE; } if(!$fileid){ $stop[] = "Данный файл не существует"; $check_status = TRUE; } if( strlen($comments) > 3000){ $stop[] = $lang['news_err_3']; $check_status = TRUE; } if ($_POST['sec_code'] != $_SESSION['sec_code_session'] OR !$_SESSION['sec_code_session']) { $stop[] = "Введен неверный код безопасности"; $check_status = TRUE; } if ($comments ==''){ $stop[] = $lang['news_err_11']; $check_status = TRUE; } if($member_id['user_group'] > 2 AND intval ($config['flood_time']) AND $check_status != TRUE){ if(flooder($_IP) == TRUE ){ $stop[] = "Включена защита от флуда!!!<br>Вы сможете добавить повторно комментарий для данного файла только через {$config['flood_time']} секунд"; $check_status = TRUE; } } $row = $db->super_query("SELECT id, approve from " . PREFIX . "_downloads WHERE id='".intval($fileid)."'"); if (!$row['id'] OR $row['approve'] ==1) { $stop[] = "Добавление комментариев для этого файла запрещено."; $check_status = TRUE; } if (!$is_logged and $check_status != TRUE) { $row = $db->query("SELECT name from " . PREFIX . "_users where LOWER(name) = '".strtolower($autor)."'"); if ($db->num_rows($row) > 0) { $stop[] = $lang['news_err_7']; $check_status = TRUE; } } if (empty($autor) and $check_status != TRUE) { $stop[] = $lang['news_err_9']; $check_status = TRUE; } if($email == " " or $email == ""){ $email = ""; } else{ $ok = FALSE; if(preg_match("/^[\.A-z0-9_\-]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/", $email)) $ok = TRUE; elseif($config['allow_url_instead_mail'] == "yes" and preg_match("/((http(s?):\/\/)|(www\.))([\w\.]+)([\/\w+\.-?]+)/", $email)) $ok = TRUE; elseif($config['allow_url_instead_mail'] != "yes"){ $stop[] = $lang['news_err_10']; $check_status = TRUE; } else{ $stop[] = $lang['news_err_10']; $check_status = TRUE; } } if(intval($config['auto_wrap']) > 1){ $comments = preg_replace("#([^\s<>'\"/\.\\-\?&\n\r\%]{".intval($config['auto_wrap'])."})#i", "\\1<br />" ,$comments); } if ($check_status) { msgbox ($lang['all_err_1'], implode("<br />", $stop)."<br /><br /><a href=\"java script:history.go(-1)\">".$lang['all_prev']."</a>"); } else { $_SESSION['sec_code_session'] = 0; $db->query("INSERT INTO ".PREFIX."_files_com SET id='$newid', post_id='$fileid', user_id='$member_id[user_id]', date='$time', autor='$autor', email='$email', text='$comments', ip='$_IP', is_register='$is_register'"); /////+1 $db->query("UPDATE " . PREFIX . "_downloads set comm_num=comm_num+1 where id ='$fileid'"); if ($is_logged) { $db->query("UPDATE " . PREFIX . "_users set comm_num=comm_num+1 where user_id='$member_id[user_id]'"); } if($config['flood_time'] != 0 and $config['flood_time'] != ""){ $time = time()+($config['date_adjust']*60); $db->query("INSERT INTO " . PREFIX . "_flood (id, ip) values ('$time', '$_IP')"); } if ($config['allow_alt_url'] == "yes") { $url ="/files/file$fileid.html#comment"; } else { $url ="/index.php?do=files&op=download&fileid=$fileid#comment"; } @header ("Location: $url"); } }//postcomment end //################################################################################ #################################### // Функция добавление коментариев END //################################################################################ #################################### Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 30 декабря 2007 Рассказать Опубликовано: 30 декабря 2007 Snake, да странно конечно. По коду - убери $tpl из global - он же не используется. И ещё - функция по моему часто будет делать кучу лишних телодвижений. К примеру, мы запретили комментировать файл гостям. В этом условии мы видим что гость пытается оставить комментарийif (!$is_logged AND $filesConfig['allowed_guest_com'] == "0" - всё, можно смело заканчивать работу функции и вывести мессагу об ошибке. Нет же - она у тебя продолжает работать и парсить почём зря исходные данные. Не понятно зачем... А проверка на то можно ли вообще к этому файлу оставлять комментарии всем проводится где-то посередине И ещё. Улыбнуло if ($is_logged){ $is_register = 1;} else{ $is_register = 0;} Фактически ты создаёшь клона переменной $is_logged. потому как $is_logged и $is_register всегда равны друг другу. Вроде всё) Да кстати немного не по теме, но давно хотел спросить знающих людей... Зачем нам писать так: $comments = preg_replace("#([^\s<>'\"/\.\\-\?&\n\r\%]{".intval($config['auto_wrap'])."})#i", "\\1<br />" ,$comments); когда проще вот так: $comments = wordwrap($comments, intval($config['auto_wrap']), "<br />"); у меня всё Ссылка на сообщение Поделиться на других сайтах
igramnet 1 Опубликовано: 30 декабря 2007 Рассказать Опубликовано: 30 декабря 2007 Автор lifestar, За сколько бы ты взялся "почистить" и потимизировать код модуля Files ? Мне нажно сделать модуль быстрым и с как можно меньшими запросами. Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 30 декабря 2007 Рассказать Опубликовано: 30 декабря 2007 Snake, это не форумный разговор, пиши в аську Ссылка на сообщение Поделиться на других сайтах
Olegyarp 0 Опубликовано: 30 декабря 2007 Рассказать Опубликовано: 30 декабря 2007 Игрался с локалкой. Скопировал папку с сайтом для тестирования торого сайта вместе с моудлем 2.1. Какого же было мое удивление, когда "автокатегории" вывели список категорий и кол-во сайтов со старого сайта. Базы данных, естественно, разные, а в админке категории отсутствуют. Подскажите плз, куда модуль записал их? Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 30 декабря 2007 Рассказать Опубликовано: 30 декабря 2007 видимо из кэша - engine/cache/system/category.php Ссылка на сообщение Поделиться на других сайтах
Olegyarp 0 Опубликовано: 30 декабря 2007 Рассказать Опубликовано: 30 декабря 2007 Спасибо, помогло Ссылка на сообщение Поделиться на других сайтах
Rebz 0 Опубликовано: 1 января 2008 Рассказать Опубликовано: 1 января 2008 Господа, простите что вмешиваюсь Могли бы утрочнить кое-что. Что за версия Модуля Files у вас используется? 1.5? Откуда скачать можно и есть ли дистрибутив для DLE 6.5? Ссылка на сообщение Поделиться на других сайтах
Olegyarp 0 Опубликовано: 1 января 2008 Рассказать Опубликовано: 1 января 2008 Последняя версия 2.1 , работает на версиях до 6.5, не включительно. Для 6.5. сейчас в разработке. Ссылка на сообщение Поделиться на других сайтах
ShVad 2 Опубликовано: 2 января 2008 Рассказать Опубликовано: 2 января 2008 1. Оптимизировать код (убать или поправить его до такой степени, чтобы модуль работал быстро). 2. Добавить возможность вывода файлов через RSS В моем давно это все есть. Скоро напишу версию 2.0) Ссылка на сообщение Поделиться на других сайтах
igramnet 1 Опубликовано: 2 января 2008 Рассказать Опубликовано: 2 января 2008 Автор ShVad, У тебя же не на основе Files модуль делалася. А многим актуально именно на нём, т.к. прикинь сколько ссылко измениться перейдя на новый модуль. Ссылка на сообщение Поделиться на других сайтах
Pitstoper 0 Опубликовано: 2 января 2008 Рассказать Опубликовано: 2 января 2008 Ждем релиза от всех и по больше Спасибо за ранее! Ссылка на сообщение Поделиться на других сайтах
igramnet 1 Опубликовано: 2 января 2008 Рассказать Опубликовано: 2 января 2008 Автор На днях запущу тестовую версию... потестите и если багов будет мало, то можно будет выпустить Files 2.3 оптимизированный для DLE 6.5. Ссылка на сообщение Поделиться на других сайтах
SNAKE-VLAD 0 Опубликовано: 3 января 2008 Рассказать Опубликовано: 3 января 2008 Здравствуйте! Перерыл кучу информации, весь яндекс, все возможные темы с mod files 2.0. Проблема заключается в addfile, форма заполняется, файл отправляется, он выкладывается и всё нормально работает, но после отправки формы и надписи что пойдёт на рассмотрение, в шапке вылезает вот такое предупреждение: Warning: move_uploaded_file(): Operation not permitted in /pub/home/имя_скрыл/htdocs/engine/modules/addfile.php on line 244 Warning: chmod(): Operation not permitted in /pub/home/имя_скрыл/htdocs/engine/modules/addfile.php on line 245 Открывая ругань, там кусок кода: ##================================Функция загрузки файла=========================================## function do_upload($upload_dir) { global $file_name, $file_prefix; $temp_name = $_FILES['file_a']['tmp_name']; $file_path = $upload_dir.$file_prefix.$file_name; if (is_uploaded_file($_FILES['file_a']['tmp_name'])){ move_uploaded_file($temp_name, $file_path); #строка 244 chmod ($file_path, 0666); #строка 245 } } ##============================================================================== =================## Отметил строку 244 и 245... Знаю что права, но не пойму где их верно проставить, папка uploads и все в ней папки с правами 777, самое интересное что Денвер не ругается... Data Life Engine 5.5 Ссылка на сообщение Поделиться на других сайтах
ShVad 2 Опубликовано: 3 января 2008 Рассказать Опубликовано: 3 января 2008 У тебя же не на основе Files модуль делалася. А многим актуально именно на нём, т.к. прикинь сколько ссылко измениться перейдя на новый модуль. Кто сказал что на основе? Я бы сказал про мод филес(он мне не нравится, Я так и не понял зачем там файл вывода весит 90Кб??? В нем дублируются функции и лишнии куски кода от DLE). Посмотри когда создан домен www.pocketx.ru - перед тем как его создать, Я написал архив файлов. Тогда еще про мод филес речи не шло... Даже смешно получается), DLE Files сделан на основе mod files Ссылка на сообщение Поделиться на других сайтах
igramnet 1 Опубликовано: 3 января 2008 Рассказать Опубликовано: 3 января 2008 Автор Кто подскажет, функиця рейтинга где-то в движке прописана отдельно? Т.е. можно ли подключить рейтинг пользуясь кодом движка или писать заново? Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Архивировано
Эта тема находится в архиве и закрыта для публикации сообщений.