Muddy
-
Публикации
14 -
Зарегистрирован
-
Посещение
-
Дней в лидерах
2
Сообщения, опубликованные пользователем Muddy
-
-
Мне тоже понравилось
Zeos. Подскажи. Почему у меня jpeg картинки в бэкграунде не отображаются. В чем может быть причина. Кэш обновил. Не помогает.
Сайт прикольный. Только у меня в лисе нижнее меню вылезает за визуальную границу блока
Firefox v. 3.5.5 - всё нормально.
-
Вот, активировал лицензию, теперь можно показать народу:
Думаю, для многих будет интересно посмотреть не совсем стандартное применение DLE, так как три колонки уже набили оскомину, хотя профи вряд ли почерпнут что-то новое для себя.
Особенности:
1. На главной выводятся новости в опредленном формате, на других страницах новостей нет, только контент.
2. Поиск по статическим страницам - как ответ можно найти на форуме. Правда из-за использования в статических страницах инклуда файлов php, порой вылезает код - минус конечно, но не критический.
3. Новости и статические страницы имеют разные шаблоны, можно определить по баннерам справа, которые разные.
А так, в принципе, ничего особенного. Профи могут ругать, начинающим работать с DLE, думаю, будет интересно.
P.S. на тяжесть, просьба не ругаться, изображения в топе кушают траффик, но красота требует жертв
- 1
-
В шаблоне делаешь
<input type="hidden" name="recip" value="1">
value - это ID пользователя, которому будут отправлятюся email. ID можно посмотреть в админке - редактирование пользователя, кликни на никнейм (изменить) и увидишь в открывшемся окне URL, в котором и присутствует ID, например,
.../admin.php?mod=editusers&action=edituser&id=1
а я просто стандартную форму обратной связи переделал под форму заказа, на мыле поставил фильтр по заголовку (заголовок скрыт от пользователя) и сейчас все письма с заказом попадают в одну папку очень удобно и сразу понятно от какого юзерапроблема в том, что мне надо было сделать три независмые и разные формы. То есть одна форма связи и два опросника.
- 1
-
Пардон, совсем уже не смотрю, что копи-паст делаю, Title для нашей страницы можно сделать без проблем. Вернитесь к пункту 3 и вместо него сделайте:
3. Открываем файл engine/engine.php находим:
находим:
elseif ($do == 'feedback') $nam_e=$lang['title_feed'];
ниже всталвяем:elseif ($do == 'formorder') $nam_e=$lang['title_formorder'];
И в языковом файле прописываем 'title_formorder' с названием нашей страницы.
- 1
-
Потребовалось создать дополнительную форму обратной связи, поискал на форуме - решение есть, но оно в разделе для клиентов, хотя мы и купили за всё время работы с DLE порядка 5-6 лицензий, а может и больше, но никогда не покупали поддержку, поэтому доступ в тот раздел нет, а решение нужно. Есть ещё модуль платный для создания форм из админки, но иногда проще потратить денек, чтобы самому найти решение, чем несколько дней, на проверку чужого решения, да и отзывы о модуле настораживают (см. 4dle.ru)
Сразу оговорюсь, я не прораммист, PHP не знаю, javascript не знаю, умею только делать copy -> paste - этим и займемся.
И так, нам надо создать дополнительную форму обратной связи, так как feedback уже используется, а нужно, например получить дополнительные данные от пользовтеля с помощью формы на администраторский email, к примеру форму заказа (делалось на версии 7.3).
1. Берем файл feedback.tpl и по его подобию создаем шаблон с другим названием, например, formorder.tpl
2. Берем файл engine/modules/feedback.php по его подобию создаем файл formorder.php
3. Открываем файл engine/engine.php находим:
case "feedback" : include ENGINE_DIR.'/modules/feedback.php'; break;
ниже вставляем:case "formorder" : include ENGINE_DIR.'/modules/formorder.php'; break;
находим:elseif ($do == 'feedback') $nam_e=$lang['title_feed'];
ниже всталвяем:elseif ($do == 'formorder') $nam_e=$lang['title_feed'];
4. Открываем созданный нами engine/modules/formorder.php находим:$tpl->load_template('feedback.tpl');
меняем на$tpl->load_template('formorder.tpl');
Наша новая форма готова, можно посмотреть: http://.../index.php?do=formorder'>http://.../index.php?do=formorder --------------------------------------------------------------------------------------------------- Но клон уже готовой формы отправки нам не нужен, нам нужно в эту форму вставить дополнительные поля, которые бы пользователь мог заполнить и эти данные пришли бы нам на email. 1. Откроем созданный нами шаблон formorder.tpl, и вставим дополнительные поля, например, добавим 2 новых поля (по аналогии вы сможете сделать больше):<tr> <td width="120" height="25">Город:</td> <td><input type="text" maxlength="45" name="city" class="text" /></td> </tr> <tr> <td width="120" height="25">Страна:</td> <td><input type="text" maxlength="45" name="country" class="text" /></td> </tr>
2. Теперь внесем изменения в файл engine/modules/formorder.php чтобы наши поля отправлялись на email, а не просто украшали страницу: находим строчку:$message = strip_tags(stripslashes($_POST['message']));
заменяем на:$message = 'Город: '.strip_tags(stripslashes($_POST['city'])).' Страна: '.strip_tags(stripslashes($_POST['country'])).' Сообщение: '.strip_tags(stripslashes($_POST['message']));
Обратите внимание, что между строчками Страна и Сообщение пропущена строка - точно также она будет пропущена и при получении email'а. Сюда же можно вставить и другие поля, которые уже реализованы в DLE: email, name В принципе наша форма уже готова, сообщение приходит на почту так, как нам нужно. Поля, которые мы сделали необязательны к заполнению и пользователь может оставить их пустыми. Но зачем нам форма, если нам поля будут присылать пустые, будем делать проверку - заполнено ли поле, плюс ко всему мне нужно было, чтобы заполненная форма не скидывалась, а сообщение вылатело тут же средствами alert, помимо всего хотелось, чтобы пользователю в алерте писалось, какое поле он не заполнил. начинаем делать: 1. В нашем файле engine/modules/formorder.php находим$tpl->copy_template = "<form method=\"post\" name=\"sendmail\" onsubmit=\"if(document.sendmail.subject.value == '' || document.sendmail.message.value == ''){alert('{$lang['comm_req_f']}');return false}\"action=\"\">\n".$tpl->copy_template."
меняем на:$tpl->copy_template = "<form method=\"post\" name=\"sendmail\" onsubmit=\" if(document.sendmail.name.value == ''){alert('{$lang['feed_err_name']}');return false} if(document.sendmail.subject.value == ''){alert('{$lang['feed_err_subject']}');return false} if(document.sendmail.city.value == ''){alert('{$lang['feed_err_city']}');return false} if(document.sendmail.country.value == ''){alert('{$lang['feed_err_country']}');return false} if(document.sendmail.message.value == ''){alert('{$lang['feed_err_message']}');return false} if(document.sendmail.sec_code.value == ''){alert('{$lang['reg_err_sec_code']}');return false} \"action=\"\">\n".$tpl->copy_template."
Обратите внимание, что мы также повесили проверки без перезагрузки страницы на name, message и sec-code. 2. Открываем файл language/Russian/website.lng находим строку (чтобы всё в одном месте было):'feed_err_7' => "Данный пользователь не найден в базе данных, либо он не хочет получать письма от других пользователей",
после неё добавляем:'feed_err_name' => "Вы не указали имя.", 'feed_err_subject' => "Вы не указали Заголовок.", 'feed_err_city' => "Вы не указали город.", 'feed_err_country' => "Вы не указали страну.", 'feed_err_message' => "Вы не написали сообщение.", 'reg_err_sec_code' => "Вы не написали защитный код.",
В принципе всё. Теперь по багам и улучшениям: 1. Title страницы http://.../index.php?do=formorder'>http://.../index.php?do=formorder - будет таким же, как и у формы обратной связи, что в принципе не страшно. 2. Для своей формы я прятал заголовок письма, так как пользовтаелю это дополнительное поле, а мы будем знать какую форму он нам заполнил по заголовку: Открываем файл formorder.tpl находим:<tr> <td width="120" height="25">Заголовок:</td> <td><input type="text" maxlength="45" name="subject" class="text" /></td> </tr>
заменяем на:<tr> <td width="120"></td> <td><input maxlength="45" value="Form: Order" name="subject" class="text" type="hidden" /></td> </tr>
Проверку в этом случаев файле engine/modules/formorder.php , мне кажется, можно снять, но не обязательно.
3. Форма письма, которое приходит к нам на email, имеет точный вид формы feedback - саму форму можно редактировать в административной панели "Шаблоны E-mail сообщений" - я оставил шаблон единый, очень не хотелось погружаться в это, так как там правки нужно вносить и в БД, насколько я понимаю.
4. Капча. Если поле остается пустым, то мы его проверяем, но если пользователь что-то неправильно ввел, то страница перезагрузится, выдавая ошибку ив се введенные данные пропадут - это, пожалуй, самое большое упущение DLE, так как при заполнении большой формы - скидывание введенного бесит невероятно. Если кто-то нашел решение - прошу поделиться. Возможно celsoft реализует проверку капчи без перезагрузки страницы и потери введенного, так как неоднократно слышал - мы ввели ВО-О-От такое сообщение в форме обратной связи, а капчу ошиблись и всё пропало.
Я данное упущение закрыл тем, что рядом с капчей написал: "Пожалуйста, при вводе защитного кода будьте внимательны, если код будет введен неправильно, страница перезагрузится и введенные данные будут потеряны."
В принципе всё. Если кто-то найдет решение с капчей, пожалуйста напишите. В создании хака очень помог Kiborgik
- 1
- 1
-
Для того, чтобы дать группе "главные редакторы" чуть больше прав, чем дает группа в административной панели (то, что у меня получилось, не знаю насколько это влияет на защищенноть, может celsoft ответит. Версия 7.3).
Статические страницы:
engine/inc/option.php
Было:
array( 'name' => $lang['opt_static'], 'url' => "$PHP_SELF?mod=static", 'descr' => $lang['opt_staticd'], 'image' => "spset.png", 'access' => "1", ),
Стало:array( 'name' => $lang['opt_static'], 'url' => "$PHP_SELF?mod=static", 'descr' => $lang['opt_staticd'], 'image' => "spset.png", 'access' => "2", ),
admin.php Было:elseif($system_modules[$mod] == "admin" and $member_db[1] == 1){ include(ENGINE_DIR.'/inc/'. $mod . '.php'); }
Стало:elseif($system_modules[$mod] == "admin" and $member_db[1] == 1){ include(ENGINE_DIR.'/inc/'. $mod . '.php'); } elseif($system_modules[$mod] == "admin" and $member_db[1] == 2){ include(ENGINE_DIR.'/inc/'. $mod . '.php'); }
В файле engine/inc/static.php - ничего не менял. Права на Создание, Редактирование, Удаление группе "главные редакторы" появились. Категории engine/inc/option.php Было:array( 'name' => $lang['opt_cat'], 'url' => "$PHP_SELF?mod=categories", 'descr' => $lang['opt_catc'], 'image' => "cats.png", 'access' => "1", ),
Стало:array( 'name' => $lang['opt_cat'], 'url' => "$PHP_SELF?mod=categories", 'descr' => $lang['opt_catc'], 'image' => "cats.png", 'access' => "2", ),
Файл admin.php изменил, как сказано выше. engine/inc/categories.php Было:if($member_db[1] != 1){ msg("error", $lang['addnews_denied'], $lang['cat_perm']); }
Стало:if($member_db[1] > 2){ msg("error", $lang['addnews_denied'], $lang['cat_perm']); }
Появились права на изменения, создание и удаление категорий. Реадктировани пользователей engine/inc/option.php Было:array( 'name' => $lang['opt_user'], 'url' => "$PHP_SELF?mod=editusers&action=list", 'descr' => $lang['opt_userc'], 'image' => "uset.png", 'access' => "1", ),
Стало:array( 'name' => $lang['opt_user'], 'url' => "$PHP_SELF?mod=editusers&action=list", 'descr' => $lang['opt_userc'], 'image' => "uset.png", 'access' => "2", ),
Файл admin.php изменил, как сказано выше. engine/inc/editusers.php Было:if($member_db[1] != 1){ msg("error", $lang['addnews_denied'], $lang['user_denied']); }
Стало:if($member_db[1] > 2){ msg("error", $lang['addnews_denied'], $lang['user_denied']); }
Управление картинками (только загрузка, без доступа удаления и управление директорями): Было:array( 'name' => $lang['opt_img'], 'url' => "$PHP_SELF?mod=files", 'descr' => $lang['opt_imgc'], 'image' => "iset.png", 'access' => "1", ),
Стало:array( 'name' => $lang['opt_img'], 'url' => "$PHP_SELF?mod=files", 'descr' => $lang['opt_imgc'], 'image' => "iset.png", 'access' => "2", ),
Файл admin.php изменил, как сказано выше. engine/inc/files.php Было:if(!$user_group[$member_db[1]]['allow_image_upload'] OR ($member_db[1] != 1 and $action != "quick")){msg("error", "Доступ запрещен", "Вы не можете выполнять операции с файлами");}
Стало:if(!$user_group[$member_db[1]]['allow_image_upload'] OR ($member_db[1] > 2 and $action != "quick")){msg("error", "Доступ запрещен", "Вы не можете выполнять операции с файлами");}
К сожалению, дать права на удаление и управление директорями не удалось.
-
Интересный модуль сам по себе. Странно, что celsoft не включил данную возможность в основной пак.
Хотелось бы видеть следующую реализацию на ajax:
1. В полной новости линк "Отправить новость другу"
2. При нажатии появляется окошко с просьбой заполнить следующие поля:
- Ваше имя - Ваш email
- Имя Вашего друга - Email Вашего друга
3. Обязательные поля к заполнению: Ваше имя, Имя Вашего друга, Email Вашего друга
4. В этом же окошке линк "Отправляемое письмо". При нажатии выводится текст сообщения, как будет выглядеть письмо, которое получит друг
5. В этом же окне кнопка с плюсиком - пзволяет добавить Имя и Email ещё одного друга.
4. Письмо отправляется на почтовый ящик друга с указанием имени и email отправителя
5. Текст сообщения можно изменять в административной панеле:
"Добрый день, %friendname!
На сайте %website я прочитал интересную новость, рекомендую посмотреть, возможно, тебе тоже понравится!
Линк на новость: %link
С уважением, %name
-------------------------------------------
Данное письмо был отправлено с сайта %website одним из пользователей. Администрация сайта не несет ответственности за получение Вами этого письма.
-
http://news.ereality.ru/index.php?do=gallery
Сделать:
По дефолту - Личные альбомы
http://news.ereality.ru/index.php?do=galle...mp;image=77#com
Комментарии неправильно сортируются (нужно - последний вниз), не всегда записываются (когда переходишь на фотографию через клик на картинку)
ФотоГрани >> Личные альбомы >> Muddy >> мой альбом;-) (все категории - ссылки)
Оценка фотографий: от 1 до 5 звезд, топ самых популярных фотографий по просмотрам и оценке.
[Создать альбом] [Добавить фотографии] вынести вверх, выделить картинкой.
Сделать: Личные альбомы – поиск по нику.
Общая фотогалерея игроков (134) – показ кол-ва фотографий в альбоме
Удаление комментариев и фотографий администрацией, запрет на добавление фотографий в общий раздел и в личные альбомы по нику.
Поиск по нику – существует ли фотоальбом.
Пофиксать модуль вывода новых фотографий
При создании альбома вывод по умолчанию первой фотографии, как обложки для альбома.
Список авторов – перемещение во все альбомы автора
Сделать сортировку по новым альбомам
Очень беглое описание, в процессе будет много правок и дополнений. Называйте Ваши примерные сроки и желаемую плату здесь или в icq: 328-186-197
P.S. лучше здесь, тема просматривается администратором проекта Грани Реальности
-
предполагаемая оплата?
-
МДФ сделали мне, изменяются файлы:
engne/modules/poll.php
engine/ajax/poll.php
if($_SESSION['dle_name'] == 'admin' || $_SESSION['dle_name'] == 'administrator' || $_COOKIE['dle_name'] == 'admin' || $_COOKIE['dle_name'] == 'administrator') { $list .= <<<HTML {$body[$v]} - {$num} ({$proc}%)<br /> <img src="{$config['http_home_url']}templates/{$config['skin']}/dleimages/poll{$pn}.gif" height="10" width="{$proc}%" style="border:1px solid black"><br /> HTML; } else { $list = <<<HTML Спасибо, за ваш голос! HTML; }
Теперь просто пользователи после того, как они отдали свой голос видят надпись "Спасибо, за ваш голос!", а админы перечисленные видят результаты, кнопку результаты можно по идее спрятать под HIDE.
Всё что уловил написал, программист очень быстро делал - не успевал записывать.
-
Суть простая, ряд новостей, в каждой новости опросы. Выбираем ответ, нажимаем проголосовать, наш голос учитывается - нам показываются результаты опроса на данный момент.
Нужно: чтобы вместо результатов голосования высвечивалась какая-то картинка или надпись: "Спасибо! Ваш голос учтен!" при повторной попытке проголосовать: "Вы уже проголосовали в этом опросе".
Группе "Администраторы" вместо этого демонстрируются результаты голосования. Для любых иных групп - результаты не видны.
Интересно для любой версии DLE не выше 6-ой.
Заранее спасибо, надеюсь на понимание!
P.S. В этом плане очень жаль, что не существет отдельного от тега {list} тега {result} и сам опрос выводится единым тегом с результатами. Просто думал сделать тайно голосование. Повторюсь, опрос не общий, а в новостях ({poll}).
Ещё раз спасибо!
-
очень хорошая задумка
А можно к этому как-то приложить возможность задавать адрес для админ входа? Хотя, сомневаюсь что это возможно, только если ручками переписывть всё:-(
Уж не знаю, хотя бы листинг файлов и номера строчек?!
-
На самом деле бытует мнение, что форекс это одна большая сетевая игра, никаким образом не связанная с реальной биржей!
Сайт о движках DLE, phpBB, WordPress
в Оцениваем
Опубликовано:
Internet Explorer 5 / 5.5 / 6 / 7 / 8
http://www.debugbar.com/download.php
Думаю, многим пригодится. Хотя я перестал оптимизировать под 6 и ниже. Браузеры столько не должны жить.