AEC Опубликовано 4 Июня 2007 Жалоба Поделиться Опубликовано 4 Июня 2007 модифицировал этот код: //calculate timestamp diff function dateDiffEx($row) { $s = $row["nu"] - $row["lastpost"]; $m = intval($s/60); $s = $s % 60; $h = intval($m/60); $m = $m % 60; $d = intval($h/24); $h = $h % 24; $diff = "добавлено через "; if ( !$d == "0" ) { $diff = $diff . "$d день "; } if ( !$h == "0" ) { if ($h=="1") $diff = $diff . "$h час "; else { if (($h=="2") or ($h=="3") or ($h=="4") or ($h=="22") or ($h=="23")) $diff = $diff . "$h часа "; else $diff = $diff . "$h часов "; } } if ( !$m == "0" ) { if (($m=="2") or ($m=="3") or ($m=="4") or ($m=="22") or ($m=="23") or ($m=="24") or ($m=="32") or ($m=="33") or ($m=="34") or ($m=="42") or ($m=="43") or ($m=="44") or ($m=="52") or ($m=="53") or ($m=="54")) { $diff = $diff . "$m минуты "; } else { if (($m=="1") or ($m=="21") or ($m=="31") or ($m=="41") or ($m=="51")) $diff = $diff . "$m минуту "; else $diff = $diff . "$m минут "; } } if ((!$s == "0") and ($m == "0")) { if (($s=="2") or ($s=="3") or ($s=="4") or ($s=="22") or ($s=="23") or ($s=="24") or ($s=="32") or ($s=="33") or ($s=="34") or ($s=="42") or ($s=="43") or ($s=="44") or ($s=="52") or ($s=="53") or ($s=="54")) { $diff = $diff . "$s секунды "; } else { if (($s=="1") or ($s=="21") or ($s=="31") or ($s=="41") or ($s=="51")) $diff = $diff . "$s секунду "; else $diff = $diff . "$s секунд "; } } if ( $diff == "" ) { $diff = "-"; } trim ($diff); return $diff; } $new_post = $last_post['post'].'<br /><br /><i>'.$dif1.':</i><br />'.$this->post['post']; у вас в моде вроде как предусмотрено сохранение даты первого поста при склеивании. так вот в самом посте действительно пишет изначальную дату. а вот в списке топиков дата меняется и пост поднимается в самый верх списка, что не есть хорошо. замените эту строчку в том же файле:$update_array['last_post'] = time(); на этот код и проблема решена: if ( $this->topic['last_poster_id'] != $this->ipsclass->member['id'] ) { $update_array['last_post'] = time(); } else if ( $this->topic['last_post'] < $time_check ) { $update_array['last_post'] = time(); } Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
S(r1pt Опубликовано 17 Августа 2007 Жалоба Поделиться Опубликовано 17 Августа 2007 А для 2.3.1 есть? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
OverHerz Опубликовано 18 Августа 2007 Жалоба Поделиться Опубликовано 18 Августа 2007 в 2.3.1 все также, никаких изменений Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
zil1924 Опубликовано 8 Сентября 2007 Жалоба Поделиться Опубликовано 8 Сентября 2007 Как сделать чтобы писал Добавлено спустя х мин ? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 8 Сентября 2007 Жалоба Поделиться Опубликовано 8 Сентября 2007 Текст склейки 2.1.х Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
foolly Опубликовано 13 Сентября 2007 Жалоба Поделиться Опубликовано 13 Сентября 2007 Хак конечно клёвый, но хотелось чтобы в место http://img294.imageshack.us/img294/9579/pic3fu6.jpg было Добавленно спустя %time% ытить Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
foolly Опубликовано 14 Сентября 2007 Жалоба Поделиться Опубликовано 14 Сентября 2007 Текст склейки 2.1.х ty, немного переправил и получилось то, что хотел (; Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 15 Сентября 2007 Жалоба Поделиться Опубликовано 15 Сентября 2007 А чем тот вариант не устроил? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
foolly Опубликовано 15 Сентября 2007 Жалоба Поделиться Опубликовано 15 Сентября 2007 А чем тот вариант не устроил? Послностью устроил, просто изменил цвет текста и получилось http://img264.imageshack.us/img264/8325/pic1wb1.jpg, как я и хотел Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Dinamo Опубликовано 15 Сентября 2007 Жалоба Поделиться Опубликовано 15 Сентября 2007 Эта фишка работает на 2.2.x линейке? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 15 Сентября 2007 Жалоба Поделиться Опубликовано 15 Сентября 2007 да без разницы Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Dinamo Опубликовано 15 Сентября 2007 Жалоба Поделиться Опубликовано 15 Сентября 2007 А чем тот вариант не устроил? Послностью устроил, просто изменил цвет текста и получилось http://img264.imageshack.us/img264/8325/pic1wb1.jpg, как я и хотел А как так сделать нашпиши пожалуйста. Уже разобрался На 2.2.х работает всё Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
foolly Опубликовано 16 Сентября 2007 Жалоба Поделиться Опубликовано 16 Сентября 2007 /sources/classes/post/class_post_reply.php Найти$new_post = $last_post['post'].'<br /><br />'.$this->post['post']; Заменить на$timedeff = time() - $last_post['post_date']; $timedeff = round($timedeff / 60); $new_post = $last_post['post'].'<br /><br /><!--sizeo:1--><span style="color:red;font-size:8pt;line-height:100%"><!--/sizeo-->'.( ( $timedeff ) ? 'Добавлено через <b>'.$timedeff.'</b> мин.:' : 'Добавлено:').'<!--sizec--></span><!--/sizec--><br />'.$this->post['post']; Текст склейки 2.1.х Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
zil1924 Опубликовано 25 Октября 2007 Жалоба Поделиться Опубликовано 25 Октября 2007 модифицировал этот код: //calculate timestamp diff function dateDiffEx($row) { $s = $row["nu"] - $row["lastpost"]; $m = intval($s/60); $s = $s % 60; $h = intval($m/60); $m = $m % 60; $d = intval($h/24); $h = $h % 24; $diff = "добавлено через "; if ( !$d == "0" ) { $diff = $diff . "$d день "; } if ( !$h == "0" ) { if ($h=="1") $diff = $diff . "$h час "; else { if (($h=="2") or ($h=="3") or ($h=="4") or ($h=="22") or ($h=="23")) $diff = $diff . "$h часа "; else $diff = $diff . "$h часов "; } } if ( !$m == "0" ) { if (($m=="2") or ($m=="3") or ($m=="4") or ($m=="22") or ($m=="23") or ($m=="24") or ($m=="32") or ($m=="33") or ($m=="34") or ($m=="42") or ($m=="43") or ($m=="44") or ($m=="52") or ($m=="53") or ($m=="54")) { $diff = $diff . "$m минуты "; } else { if (($m=="1") or ($m=="21") or ($m=="31") or ($m=="41") or ($m=="51")) $diff = $diff . "$m минуту "; else $diff = $diff . "$m минут "; } } if ((!$s == "0") and ($m == "0")) { if (($s=="2") or ($s=="3") or ($s=="4") or ($s=="22") or ($s=="23") or ($s=="24") or ($s=="32") or ($s=="33") or ($s=="34") or ($s=="42") or ($s=="43") or ($s=="44") or ($s=="52") or ($s=="53") or ($s=="54")) { $diff = $diff . "$s секунды "; } else { if (($s=="1") or ($s=="21") or ($s=="31") or ($s=="41") or ($s=="51")) $diff = $diff . "$s секунду "; else $diff = $diff . "$s секунд "; } } if ( $diff == "" ) { $diff = "-"; } trim ($diff); return $diff; } $new_post = $last_post['post'].'<br /><br /><i>'.$dif1.':</i><br />'.$this->post['post']; у вас в моде вроде как предусмотрено сохранение даты первого поста при склеивании. так вот в самом посте действительно пишет изначальную дату. а вот в списке топиков дата меняется и пост поднимается в самый верх списка, что не есть хорошо. замените эту строчку в том же файле:$update_array['last_post'] = time(); на этот код и проблема решена: if ( $this->topic['last_poster_id'] != $this->ipsclass->member['id'] ) { $update_array['last_post'] = time(); } else if ( $this->topic['last_post'] < $time_check ) { $update_array['last_post'] = time(); }а можно по подробней в каких файлах изменения то делать Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
AEC Опубликовано 27 Октября 2007 Жалоба Поделиться Опубликовано 27 Октября 2007 а можно по подробней в каких файлах изменения то делать sources/classes/post/class_post_reply.php Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
zil1924 Опубликовано 27 Октября 2007 Жалоба Поделиться Опубликовано 27 Октября 2007 а можно по подробней в каких файлах изменения то делать sources/classes/post/class_post_reply.phpа что на что заменять самому гадать ? =) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
AEC Опубликовано 28 Октября 2007 Жалоба Поделиться Опубликовано 28 Октября 2007 модифицировал этот код:я для чего привёл ссылку на исходный код? если на него взглянуть, то сразу становится всё понятно. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
AEC Опубликовано 22 Ноября 2007 Жалоба Поделиться Опубликовано 22 Ноября 2007 кстати, проблема с датами до конца так и не решена! при склеивании сообщений на главной странице отображается дата, когда было добавлено (приклеено) новое сообщение. а во всех остальных местах (в списке тем, в самом сообщении) отображается дата первого сообщения, к которому липнут все остальные. сам я найти код, который отвечает за дату последнего сообщения на главной так и не нашёл. если кто в курсе, дайте знать, чтобы довести мод до логического конца. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Ashgo Опубликовано 17 Декабря 2007 Жалоба Поделиться Опубликовано 17 Декабря 2007 На 2.3.3 проверено. Все отлично работает. Плюсую пост последнего автора. С датами нужно разобраться. Доселе сидел на phpBB, знаю его досконально, а вот за IPB толmrj второй вечер. Решил для саморазвития рассмотреть... темный лес. Код куда посложнее будет... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 18 Декабря 2007 Жалоба Поделиться Опубликовано 18 Декабря 2007 кстати, проблема с датами до конца так и не решена! при склеивании сообщений на главной странице отображается дата, когда было добавлено (приклеено) новое сообщение. а во всех остальных местах (в списке тем, в самом сообщении) отображается дата первого сообщения, к которому липнут все остальные. сам я найти код, который отвечает за дату последнего сообщения на главной так и не нашёл. если кто в курсе, дайте знать, чтобы довести мод до логического конца.Ну правильно. На главной странице публикуется дата обновления топика.А во всех остальных - дата написания поста. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
AEC Опубликовано 18 Декабря 2007 Жалоба Поделиться Опубликовано 18 Декабря 2007 Ну правильно. На главной странице публикуется дата обновления топика. А во всех остальных - дата написания поста.так а что правильного-то? должно быть одинаково. либо так, либо этак.логичнее при склеивании конечно же не обновлять дату поста. и если уже не обновлять, то во всех случаях. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 18 Декабря 2007 Жалоба Поделиться Опубликовано 18 Декабря 2007 А с какой стати её обновлять?От того что к посту добавилась ещё одна часть, пост не стал быть написаным позже. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
AEC Опубликовано 18 Декабря 2007 Жалоба Поделиться Опубликовано 18 Декабря 2007 От того что к посту добавилась ещё одна часть, пост не стал быть написаным позже. вы следите за своей мыслью? именно об этом я и пытаюсь здесь сказать. при склеивании сообщений на главной странице отображается дата, когда было добавлено (приклеено) новое сообщение. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 18 Декабря 2007 Жалоба Поделиться Опубликовано 18 Декабря 2007 Моя фраза касается даты поста, а не даты на главной странице, ибо на главной странице указывается дата обновления топика (!). На главной странице вообще нет постов. Там есть только либо разделы, либо топики. Подумайте над этими понятиями:дата постадата обновления топика это не одно и тоже. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
AEC Опубликовано 19 Декабря 2007 Жалоба Поделиться Опубликовано 19 Декабря 2007 возможно вы и правы. просто это смущает не одного меня. модераторы мои тоже не могут понять в чём дело. на главной сигнализирует о обновлении даты топика, а когда в него заходят, то типа дата последнего сообщения не изменена.вообще смысл данной функции в предотвращении "подъёма" топиков наверх. и на главной странице это как раз и не удаётся предотвратить. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.