subject: spnet проапгрейдился до iii-php v0.11
09.11.2024 17:13
shaos (spnet, 2)
v0.10 - стал убирать \r при выводе сообщения - в результате исправился показ секций ==== вводимых на самой ноде (ещё надо сделать убирание при получении сообщения т.к. например iii-php будучи запущенным в Firefox создаёт сообщения с \r\n), также убрал показ самих ==== (остался только <pre>)
v0.11 - в Echolist сделал подсветку эх у которых последнее сообщение новее 3 дней
Исходники под MIT-лицензией как обычно тут: https://gitlab.com/shaos/iii-php
P.S. Сейчас делаю topicid...
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.11
10.11.2024 06:51
shaos (spnet, 2) => AIzaO3W3nR1m7703ngN4
Пока лазил по архивам наткнулся на старое сообщение от автора ii-php:
/x/e ii-php
Оказывается, рабочая реализация "сообщений с определённого msgid" на моей ноде уже имеется. Это /x/e, который был реализован про запас.
Образец
POST /x/e
параметр data равен:
====
pipe.2032:msgid
ii.14:msgid
ещёэха:msgid
====
Результат:
====
pipe.2032
msgid
msgid
msgid
ii.14
msgid
ещёэха
msgid
====
Если указанного msgid в базе нет, выдаёт всю эху. Если msgid последний в списке, то в результате пустота (нет даже названия эхи).
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.11
10.11.2024 06:52
shaos (spnet, 2) => JPwCEzz2DH0NkC2tCHP8
И оно в моём iii-php действительно всё ещё есть :)
====
elseif ($opts[0] == 'x' and $opts[1] == 'e' and remote('data')) {
$lines=explode("\n", $_POST['data']);
foreach ($lines as $line) {
$line=explode(":", $line);
if (count($line)!=2) continue;
$echoarea=trim($line[0]);
$msgid=trim($line[1]);
$index=$access->getMsgList($echoarea);
$maxElement=count($index)-1;
$search=array_search($msgid, $index);
if ($search!=NULL and $search<$maxElement) {
$newMessages=array_slice($index, $search+1);
echo $echoarea."\n".implode("\n", $newMessages)."\n";
} elseif ($search==$maxElement) {
continue;
} else {
echo $echoarea."\n".$msgids;
}
}
}
====
--------------------------------------------------------------------------------