Форум PHP скриптов

Форум PHP скриптов

Форум техподдержки WR-Скриптов на php. Здесь обсуждаются: основы программирования на PHP, различные подходы к реализации скриптов. А также WR-скрипты: Доски объявлений, скрипты форумов, Гостевые книги, Каталог ссылок, Галерея, Фотоальбом, Счётчики, Рассылки, Чат, Анекдот и т.д. Принимаются пожелания для новых версий. Пишите какой скрипт планируете увидеть, постараемся реализовать. Давайте сделаем бесплатные php скрипты лучше и доступны всем!!!
Главная сайтаГлавная сайта   ПоискПоиск   Участники  
Сегодня: 20.09.2017 - 15:41:21
Страницы:  1 ... 3  4  5  6  7  ... 52
Форум PHP скриптов » WR-Forum Professional » Форум WR-Forum 1.9 - Любые вопросы
АвторСообщение

790

форумчанин





Статистика:
Тем создано: 0
Сообщений: 313
Репутация: 453 ±
Нарушения: 0
Имя файла.

    Код:

    $fotoname = $_FILES['file']['name']; // определяем имя файла
    $ext = strtolower(substr($fotoname, 1 + strrpos($fotoname, "."))); // проверяем расширение файла
    $fotoname = date("YmdHis.").$ext; // Переименовываем в цифровой код


Проверка кириллицы становится просто не нужна так как имя файла будет всегда цифровым вида: 20081013113050.jpg то есть ГодМесяцДеньМинутаСекунда. Или можно использовать функцию uniqid.

---------------------------------------

Цитата с ником.

Это:

    Код:

    print"</tr><tr height=150><td class=$tblstyle valign=top><span class=name><BR><center>";

    // Проверяем: это гость?


Заменяем на это:

    Код:

    print"</tr><tr height=150 onmousedown=\"nick='$dt[0]'\"><td class=$tblstyle valign=top><span class=name><BR><center>";

    // Проверяем: это гость?


Добавляем кнопку в ячейку с сообщением:

    Код:

    <INPUT onclick=\"quote(this)\" type=button class=button value='Цитата' title='Цитировать выделенное' style='FLOAT: right'>


Кнопка в форме:

    Код:

    <INPUT onclick='quote()' type=button class=button value='Цитировать выделенное'>


Добавляем функцию:

    Код:

    function quote(btd) {

    sel=window.getSelection?window.getSelection():document.selection.createRange().text;

    if (!!btd && sel==''){
    sel=btd.parentNode.innerText;
    }

    if (sel!=''){
    REPLIER.msg.value+='[Quote=\"'+nick+'\"]'+sel+'
';
} else {
REPLIER.msg.value+='
    Цитата:
';
}

nick='';
sel='';
document.selection.empty();
REPLIER.msg.focus( );


Обработка:

    Код:

    $dt[4]=str_replace("&#092;&quot;","&quot;",$dt[4]);
    $dt[4]=str_replace("[Q uote]","<BR><fieldset align=center style='width:80%; color:#EE4422'>", $dt[4]);
    $dt[4]=str_replace("[Quote=&quot;","<BR><fieldset align=center style='width:80%; color:#EE4422'><legend><B>Цитата: ", $dt[4]);
    $dt[4]=str_replace("&quot;]","</B></legend>", $dt[4]);
    $dt[4]=str_replace("
","</fieldset><BR>", $dt[4]);


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

Это:

    Код:

    <span class=postdetails><I>Сообщение # <B>$fm.</B></I></span>


Заменяем на это:

    Код:

    <A href='#m$fm'><span class=postdetails><I>Сообщение # <B>$fm.</B></I></span></A>
--------------------------------------------------
Мод галереи: http://mod790.novhost.cf/
Сообщение # 45 16.04.09 - 13:12:01

790

форумчанин





Статистика:
Тем создано: 0
Сообщений: 313
Репутация: 453 ±
Нарушения: 0
Вот эту проблему с отображением кода не помешало бы устранить. Закинул на всякий случай копию: http://candypaper.110mb.com/code.zip
--------------------------------------------------
Мод галереи: http://mod790.novhost.cf/
Сообщение # 46 16.04.09 - 16:12:11

Maksir

эксперт





Статистика:
Тем создано: 0
Сообщений: 491
Репутация: 548 ±
Нарушения: 0
Вас проблема с кодировками мучает? =)
--------------------------------------------------
Arch Linux
Сообщение # 47 16.04.09 - 17:24:33

790

форумчанин





Статистика:
Тем создано: 0
Сообщений: 313
Репутация: 453 ±
Нарушения: 0
Нас Maksir, проблема вываливания из fieldset беспокоит.

-----------------------------------
Этот модернизированный блок позволяет пользователю загружать фотки самого себя, и любые другие, любого размера и получить свой аватар без ограничений на размер или имя исходного фото! Ещё надо сделать чтобы если аватар кем-то используется он не предлагался для выбора остальным.

    Код:

    // блок загрузки АВАТАРА ---------------------------
    if ($_FILES['file']['name']!="") {
    $fotoname = $_FILES['file']['name']; // определяем имя файла
    $avatar=$fotoname;
    $ext=strtolower(substr($fotoname, 1 + strrpos($fotoname, "."))); // проверяем расширение
    $fotoname=uniqid("").".".$ext;
    //$fotoname=date("YmdHis.").$ext;

    if (!in_array($ext, $valid_types)) {exit("<B>ФАЙЛ НЕ загружен.</B> Возможные причины:<BR>
    - разрешена загрузка только файлов с такими расширениями: gif, jpg, jpeg, png<BR>
    - Вы пытаетесь загрузить не графический файл;<BR>
    - неверно введён адрес или выбран файл;</B><BR>");}
    }

    $text="$name&#124;$pass&#124;$kolvomsg&#124;$email&#124;$dayreg&#124;$dayx&#124;$pol&#124;$icq&#124;$www&#124;$about&#124;$work&#124;$write&#124;$ avatar&#124;$status&#124;";
    $text=replacer($text);
    $exd=explode("&#124;",$text); $name=$exd[0]; $pass=$exd[1]; $email=$exd[3];

    // Ставим куку юзеру
    $tektime=time(); $wrfcookies="$name&#124;$pass&#124;$tektime&#124;$tektime&#124;";
    setcookie("wrfcookies", $wrfcookies, time()+1728000);

    if ($_FILES['file']['name']!="") {

    // ЗАЩИТЫ от ВЗЛОМА
    // 1. считаем кол-во точек в выражении - если большей одной - СВОБОДЕН!
    $findtchka=substr_count($fotoname, "."); if ($findtchka>1) {exit("ТОЧКА встречается в имени файла $findtchka раз(а). Это ЗАПРЕЩЕНО! <BR>\r\n");}

    // 2. если в имени есть .php, .html, .htm - свободен!
    $bag="Извините. В имени ФАйла <B>запрещено</B> использовать .php, .html, .htm";
    if (preg_match("/\.php/i",$fotoname)) {exit("Вхождение <B>\".php\"</B> найдено. $bag");}
    if (preg_match("/\.html/i",$fotoname)) {exit("Вхождение <B>\".html\"</B> найдено. $bag");}
    if (preg_match("/\.htm/i",$fotoname)) {exit("Вхождение <B>\".htm\"</B> найдено. $bag");}

    // 4. Проверяем, может быть файл с таким именем уже есть на сервере
    if (file_exists("$avatardir/$fotoname")) {exit("Файл с таким именем уже существует, попробуйте ещё раз.");}
    // Конец защит по имени файла

    $tmpfile=$_FILES['file']['tmp_name'];
    $size=getimagesize($tmpfile);
    $smwidth=150;
    $smheight=150;

    if ($size[0]>$smwidth &#124;&#124; $size[1]>$smheight) {
    $reswidth=$smheight*$size[0]/$size[1];

    if ($reswidth>$smwidth){
    $reswidth=$smwidth;
    $resheight=$smwidth*$size[1]/$size[0];
    } else {$resheight=$smheight;}

    $format=strtolower(substr($size['mime'], strpos($size['mime'], '/')+1));
    $icfunc="imagecreatefrom".$format;
    if ($size[0]>3000 &#124;&#124; $size[1]>2000) {ini_set("memory_limit", "128M");} // Увеличение лимита памяти для фоток больше 3000х2000
    $isrc = $icfunc($tmpfile);
    $idest = imagecreatetruecolor($reswidth, $resheight);
    imagecopyresampled($idest, $isrc, 0, 0, 0, 0, $reswidth, $resheight, $size[0], $size[1]);
    imagejpeg($idest, "$avatardir/$fotoname", 80);
    imagedestroy($isrc);
    imagedestroy($idest);
    } else {copy($tmpfile, $avatardir."/".$fotoname);}

    }
    // КОНЕЦ блока загрузки аватара ----------------------------------



------------------------------------------------------------- -------------------------


Совершенно ненужную, если работает javascript и раздражающую надпись:

    Код:

    <B><a href='index.php'>Нажмите здесь, если не хотите больше ждать</a></B>


Нужно заменить на:

    Код:

    <NOSCRIPT><B><a href='index.php'>ДАЛЬШЕ >>></a></B></NOSCRIPT>
--------------------------------------------------
Мод галереи: http://mod790.novhost.cf/
Сообщение # 48 16.04.09 - 19:19:54

Maksir

эксперт





Статистика:
Тем создано: 0
Сообщений: 491
Репутация: 548 ±
Нарушения: 0
790, я делал такую вещь уже.

Смысл такоф, - человек загружает фото, на свой страх и риск... =) А скрипт сам подгоняет нужные размеры. Делает две копии, привьюшку и фото с более приемлемым видом.

В моём сценарии создаётся папка в директории pictury Это одноименная папка по нику пользователя. Там могут быть и не только его личный аватар...

Ведётся общая база по загружаемым графическим изображениям.

У вас идея какая?
--------------------------------------------------
Arch Linux
Сообщение # 49 16.04.09 - 22:50:57

790

форумчанин





Статистика:
Тем создано: 0
Сообщений: 313
Репутация: 453 ±
Нарушения: 0
Просто при составлении списка аватаров который предлагается в профиле не включать в него те, которые уже используются в профилях других.
--------------------------------------------------
Мод галереи: http://mod790.novhost.cf/
Сообщение # 50 17.04.09 - 09:03:22

WR

Администратор





Статистика:
Тем создано: 952
Сообщений: 2530
Репутация: 3414 ±
Нарушения: 0
Свежие доработки в форуме 1.9:

7) В профиле участника сделана строка активности, например: Всего сообщений: 86 [4.46% от общего числа / 0.19 сообщений в сутки]

8) В админпанели дописан блок сортировки участников по: Имени, Кол-ву сообщений, Кол-ву звёзд, Репутации, Дате регистрации, Активности


    Цитата:
    Вот эту проблему с отображением кода не помешало бы устранить. Закинул на всякий случай копию: http://candypaper.110mb.com/code.zip


Спасибо, скачал смотрю, изучаю.
--------------------------------------------------
Бесплатные скрипты это клёво!
Сообщение # 51 19.04.09 - 21:38:36

WR

Администратор





Статистика:
Тем создано: 952
Сообщений: 2530
Репутация: 3414 ±
Нарушения: 0
Забыл написать: демо обновил, ссылка на загрузку та же.
Сейчас здесь отсортировал участников по репутации. Очень удобно, сразу видно тех кто реально на форуме пишет, и кто зарегистрировался, но не написал сообщений, либо написал 1-2 сообщения. Всех, кто не пишет сообщения на форуме призываю общаться - обсужадть проблемы и искать пути их решения!!!!
--------------------------------------------------
Бесплатные скрипты это клёво!
Сообщение # 52 19.04.09 - 21:40:39

Maksir

эксперт





Статистика:
Тем создано: 0
Сообщений: 491
Репутация: 548 ±
Нарушения: 0
790, похожий алгоритм есть в моем моде по отправке уведомления пользователю, которому было направленно сообщение на форуме от зарегестрированного пользователя, учитывая всех кто Online, и тех кто не Online. Очень короткий скрипт, но алгоритм проверки может быть другим в вашем случае, хотя принцып проверки ваших данных тот же. И возможно, даже ещё проще, и ещё короче, ведь в моём случае проверяются пользователи по двум базам данных.

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

WR, ни тебе письма, не ответа... куда моды складывать?
я извиняюсь, напутал с папками.
Обновления до последней версии PHP и предлогаю перекодировать все на UTF8. Смысл UTF8 в том, что абсолютно у всех пользователей различие кодировок лишь во флаге операционной системы. В зависимости от флага RU или EN будет подставлен тот, или иной вариант вместо краказябер. Например, если локаль EN а ресурс в RU , то будет отображаться транслит латинскими буквами на русском.
--------------------------------------------------
Arch Linux
Сообщение # 53 19.04.09 - 23:33:07

WR

Администратор





Статистика:
Тем создано: 952
Сообщений: 2530
Репутация: 3414 ±
Нарушения: 0
Ответил на мыло Мод выложил в папке MODы.

Сейчас мне скинчики для форума захотелось сделать и выложить. уже есть 44 скина. Сейчас ещё ищу, делаю и мне помогает один товарищ
--------------------------------------------------
Бесплатные скрипты это клёво!
Сообщение # 54 21.04.09 - 21:59:14

alexov

новичок





Статистика:
Тем создано: 0
Сообщений: 12
Репутация: 12 ±
Нарушения: 0
WR, есть несколько предложений по форуму:

1. сделайте пожалуйста редактирование сообщений (меня пользователя постоянно напрягают по этому поводу), тем более что редактирование уже было реализовано в модах (Demod)

2. При отправке ЛC на e-mail в адресной строке браузера присутствует e-mail участника. Можно ли его как-то зашифровать?

3. В Опере есть проблема: после добавления сообщения пользователя перенаправляет в эту тему, но страница не обновляется т.е. пользователь не видит своего сообщения, нужно нажимать каждый раз Refresh. Многие пользователи жалуютя мне по этому поводу. Хотя в IE и в Opera 9.54 всё ок, но в версиях до 9.54 такой глюк присутствует

4. Сделайте сортировку тем по последнему сообщению. Оно то сортирует по последнему сообщению, но иногда после модерирования форума, темы выводятся в произвольном порядке(обычно задом наперед). Хотелось чтобы при пересчете сообщений темы сортировались по последнему ответу.

Пожалуйста учтите эти пожелания. Т.к. пользователи моего форума меня замучали вопросами: "Почему нет редактирования сообщений?", "почему глючит форум ?"
Надеюсь на ваше понимание.

С уважением, Алексей.
Сообщение # 55 22.04.09 - 01:14:34
Форум PHP скриптов » WR-Forum Professional » Форум WR-Forum 1.9 - Любые вопросы
подписка на тему :Предыдущая темаСледующая тема: качаем форум со статистикой
Страницы:  1 ... 3  4  5  6  7  ... 52

Сообщение
Имя E-mail
Сообщение

Нажмите на точку возле имени, чтобы вставить обращение к участнику в сообщение

Смайлы:
Ещё смайлы

* При вставке видео с Ютубе нужно указывать только 'хвостик', например: BoUUbs3CvHs
           
Защитный код: (введите цифры, которые на синем фоне)
Ответ на вопрос: (Какой сейчас год?)
   
WR-Счётчик
Powered by WR-Forum Professional © 2.0.7