{imgicourl}{zamok}
<< предыдущая заметкаследующая заметка >>
29 января 2019
Движок на Гитхабе

Выложил свой движок на Гитхаб: https://github.com/lleokaganov/lleoblog

Это весь мой движок — система ведения блога, сайта, автопостинг в соцсети и всё прочее — целиком, со всеми мыслимыми кренделями, пакетами, гуделками, тараканами и некоторыми внешними пакетами. Код весь мой, кроме TTF и содержимого /extended — там всякий софт редактора в стиле Ворда, модули работы со звуком и прочее, что вам скорее всего не пригодится.

Для установки понадобится:

1) Переименовать config.php.tmpl в config.php Вписать в нем вместо lleo.me свой домен, а также прописать пароли от MySQL. Пока больше ничего трогать не надо.

2) Если у вас старомодный apache — достаточно переименовать htaccess в .htaccess, и на этом всё.

Если у вас современный nginx — придется повозиться с его настройками: запретить папку /hidden и переадресовать любые непонятные запросы на index.php У меня примерно так:

[показать спрятанное]
показать nginx.conf
upstream home {
  server unix:/var/run/home-fpm.sock;
}

server {
  listen 80 default_server;
  listen [::]:80 default_server ipv6only=on;

  root /var/www/home;
  index index.php index.html index.htm index.shtml;

  server_name lleo.me;

  client_max_body_size 500M;

  location /hidden {
    deny all;
    return 404;
  }

  location / {
    try_files $uri /index.php?$args;

    access_log /var/www/home/hidden/nginx/access.log;
    error_log /var/www/home/hidden/nginx/error.log;

    location ~ \.php$ {
      fastcgi_split_path_info ^(.+\.php)(/.+)$;
      fastcgi_pass unix:/var/run/home-fpm.sock;
      fastcgi_index index.php;
      include fastcgi_params;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      client_max_body_size       500m;
      client_body_buffer_size    128k;
      proxy_connect_timeout      90;
      proxy_send_timeout         90;
      proxy_read_timeout         90;
      proxy_buffer_size          4k;
      proxy_buffers              4 32k;
      #proxy_buffers           32 4k;
      proxy_busy_buffers_size    64k;
      proxy_temp_file_write_size 64k;
    }
  }
}

4) Теперь можно браузером открыть mysite.ru/install, убедиться, что движок поднялся, и закончить установку, обновляя эту страницу, создавая таблицы mysql и т.п.

В принципе должно работать, я попроверял у себя, вроде всё взлетает без проблем.

Хорошо бы дать права на запись папок и файлов движка — движок у себя там много чего перезаписывает, без этого может не взлететь. У админа, кстати, в движке есть встроенный онлайн-файл-браузер с редактором файлов, называется «фотоальбом» почему-то в меню. Хотя как раз редактирования фоток нету — ну разве что так, по мелочи, перевернуть можно.

Не обязательно ставить движок в корневую папку сайта. Если вы хотите его поставить в отдельную папку, корневую, надо в config.php прописать эту папку в переменную со слэшом на конце: $blogdir='dnevnik/'; Также возможно придется поправить пути в файлах /css/*.css Хотя я не помню, где-то в /install кажется была кнопка, которая css исправляла сама.

Будьте осторожны: до тех пор, пока движок не выдаст авторизационный номер (логично, если это будет 1) и вы не пропишете его руками в config.php в переменную $admin_unics='1'; (админы назначаются только вручную из соображений безопасности) — до этого момента любой посетитель вашего сайта будет обладать правами админа (пока $admin_unics='';)

А вот нажимать кнопку INSTALL и пытаться обновить движок с какого-то внешнего сервера уже в общем-то и не надо. На github сейчас самая последняя версия. Я не придумал пока, как буду ее автоматически поддерживать, но придумаю.

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
архив понравившихся мне ссылок
Оставить комментарий
Windows Safari Chrome
 Санкт-Петербург
2
0
Шура
Крут :)
Windows Safari Chrome
 Москва
0
0
Roman Erykalov
Супер!
В начале января начал перебираться на новый сервер с nginx+php-fpm. Сайты на MODx прямо залетали. С твоим движком возникли проблемы с конфигурацией, писал в технический блог, удалось решить путём подбора) С костылями, правда. Надо попробовать твой конфиг. Хочу сделать публикацию в телеграм, как у тебя.
Windows Safari Chrome
 Москва
0
0
Roman Erykalov
Такой конфиг у меня не работает (естественно, изменил пути на свои). Может, дело в том, что я работаю через ispmanager. Может, в том, что я не устанавливаю новую версию, а перенёс обновлённую со старого сервера. Может, ещё в чём-то. Оставил пока свои костыли, надёрганные из разных мануалов по настройке nginx. Буду разбираться)
Linux Safari Chrome
 Санкт-Петербург
0
0
Leonid Kaganov
В Телеграмм там проще всего :) Фейсбук самый проблемный...
Mac Safari
 Москва
2
0
Den_x (#6269400)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
И от Созидателя уже ничего не осталось, кроме начальной идеи, дизайна?
Linux Safari Chrome
 Санкт-Петербург
0
0
Leonid Kaganov
Ну пара внутренних названий переменных...
Windows Firefox
 Финляндия
0
0
Людовик XIV
А файл _antibot.php?
Linux Safari Chrome
 Москва
1
1
Leonid Kaganov
Это вы ещё antibot2.php не видали :) Хотя подозревали о его существовании, получая все эти баны :)
Linux Ubuntu Safari Chrome
 Москва
2
0
Artem
Беда с кодировкой русских комментариев в коде
«// &yacute;&ecirc;&eth;&agrave;&iacute;&egrave;&eth;&icirc;&acirc;&agrave;&ograve;&uuml;»
Linux Safari Chrome
 Санкт-Петербург
0
1
Leonid Kaganov
Это потому что они в 1251. Наверно надо перед заливкой их все в utf транслировать... О это надо транслятор писать свой.
Linux Ubuntu Safari Chrome
 Москва
1
0
Artem
как-то так
find . -type f -name '*.php' -print -exec iconv -f cp1251 -t utf-8 {} -o {}.utf8 ;
Linux Safari Chrome
 Санкт-Петербург
0
1
Leonid Kaganov
Да, спасибо. Но там много надо вообще чистить и править перед заливкой в паблик каждый раз, когда захочется обновить. Консольным скриптом не обойтись. К тому же там есть пара файлов, которые по своим причинам в utf уже.

Поэтому если хочется, чтобы на Гитхабе была более-менее свежая версия, придется сочинять софт, который рисует в отдельной папке отдельную копию для Гитхаба.

Но тут ещё есть особая проблема: движок-то работает в 1251, и все сообщения в нем 1251. В utf не тестировался, будет ли работать - совсем не уверен.
Windows Safari Chrome
 Ирландия
2
0
masepi
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Часть исходников с кракозябрами
Windows Safari Chrome
 Москва
0
0
rjhdby11 (#7405572)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
...о необходимости которой так долго говорили большевики :D
Linux Ubuntu Firefox
 Германия
2
0
mr_tron (tr0n)
Без лицензии не хорошо. Явная хорошая лицензия типа gpl нужна.
Linux Ubuntu Safari Chrome
 Fremont
0
0
churbankin-cheburashka (#7572706)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
уж лучше Apache License
Linux Safari Chrome
 Санкт-Петербург
2
0
Leonid Kaganov
Я в лицензиях не разбираюсь, поэтому пока так.
Linux Safari Chrome
 Wisconsin Rapids
0
1
Карточка удалена
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Многие потенциальные пользователи не будут пользоваться только из-за этого: некоторые из-за неопределенности, некоторые из принципа.

Неопределенность в том, что кто-то может завязаться на ваш софт, а вы потом поставите неприемлимую лицензию, и человек потеряет все время и усилия.

Поэтому лучше выбрать хоть какую-нибудь лицензию, а потом поменять, если передумаете, в новых релизах. При этом старые релизы будут со старой лицензией, и люди всегда смогут их использовать.

Если вы хотите сделать ваш софт очень свободным и бесплатным, то поставьте MIT license. Если свободы не хотите, а хотите, чтобы код всегда оставался ваш, с обязательным упоминанием вас и некоммерческим, открытым, тогда ставьте GPL3.

Чтобы добавить лицензию, добавьте файл LICENSE.txt в корень репозитория.

Для MIT: https://opensource.org/licenses/MIT

Для GPL3 вот: https://www.gnu.org/licenses/gpl.txt
Linux Ubuntu Firefox
 Санкт-Петербург
5
0
Leonid Kaganov
Что-то у меня opensource.org только через TOR открывается.
Правильно ли я вас понял, что я должен положить в корень файл LICENSE.txt с нижеследующим текстом в кодировке UTF-8 (не свойственной моим файлам):

===========================================

The MIT License fo shizzle my nizzle

Copyright 2006-2019 Leonid Kaganov, Russia
+7-916-6801685, lleo@lleo.me, http://lleo.me

Permission is hereby granted, free of charge, to any person obtaining a copy of this software (except extended/* and design/ttf/* ) and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: the above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

* * *

MIT-лицензия: грабь, воруй, сношай гусят

Copyright 2006-2019 Леонид Каганов, Москва - Санкт-Петербург
+7-916-6801685, lleo@lleo.me, http://lleo.me

Бесплатно разрешаю любому лицу использовать копии этого ПО и осуществлять операции с ним без ограничений, включая, помимо прочего, право на использование, копирование, изменение, слияние, публикацию, распространение и / или продажу. Всё это, разумеется, возможно при cохранения данного файла с информацией об авторе и способах связи с ним, которая должна быть включена во все копии или используемые части ПО.

Лицензия не распространяется на содержимое /extended/* и /design/ttf/*, где лежат дополнительные модули чужого авторства, у которых собственные лицензии. Эти компоненты можно смело удалить, поскольку они приведены в ознакомительных целях и для работы системы не нужны, а лишь предоставляют некоторые дополнительные сервисы для особых задач, связанных с обработкой текста, звука, графики и т.п.

ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БЫЛО СОЗДАНО ДЛЯ СЕБЯ И СВОИХ ЗАДАЧ, У МЕНЯ ОТЛИЧНО РАБОТАЕТ УЖЕ МНОГО-МНОГО ЛЕТ, А У ВАС НЕ ЗНАЮ. ПОЭТОМУ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ» - ТО ЕСТЬ БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, В ТОМ ЧИСЛЕ (НО НЕ ОГРАНИЧИВАЯСЬ) ЕСЛИ У ВАС ЧТО-ТО НАЕБНЁТСЯ, НЕ ЗАРАБОТАЕТ, ЛИБО ПРИ ИСПОЛЬЗОВАНИИ ДАННОГО ПРОДУКТА ЧТО-ТО НАНЕСЕТ ВРЕД, ИСПОРТИТ ОКРУЖАЮЩИЕ ФАЙЛЫ, ЗАЛЬЕТ КРОВЬЮ ПОЛ И ЗАБЛЮЁТ КОВРОЛИН. Ни при каких обстоятельствах автор не несет ответственность за любой ущерб, пропавшие данные и потраченное время, и не принимает никаких исков и претензий, хотя оставляет за собой право их выслушать, чтобы посочувствовать вам на правах психотерапевта, хотя за спиной конечно же позлорадствовать и поржать с друзьями, как это принято у психотерапевтов.

Пользуясь случаем, предлагаю всем желающим платную или бесплатную помощь в установке, настройке, доделке, переделке данного ПО, а также разработке любых новых функций, частей, а также разработку любых других систем под ваши задачи, в том числе не связанные с этим ПО. Сайты, серверные системы, мобильные приложения, электроника на микроконтроллерах и всевозможные сетевые связи между вышеперечисленным (JS, PHP, C, Linux) - вот моя область интересов. Напоминаю координаты: lleo@lleo.me, +7-916-6801685

===========================================
Linux Safari Chrome
 Wisconsin Rapids
1
0
Карточка удалена
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Вы ничего не должны, но это - хорошая идея.

По содержанию - все, что угодно, хотя я рекомендую использовать образец слово-в-слово, ниже объясняется как.

По процедурному вопросу, можно даже проще, есть инструкция на гитхабе как добавить лицензию, и темплейты популярных лицензий там тоже есть: https://help.github.com/articles/adding-a-license-to-a-repos[...]

Вот мой вольный перевод относящихся к делу пунктов:

1. Пойдите нахуй на основную страницу своего репозитория в гитхабе.

2. Над списком файлов, нажмите "Create new file" (создать новый файл).

3. В названии файла напишите LICENSE или LICENSE.md

4. Справа от имени файла нажмите "create a license template" (создать заготовку лицензии)

5. На странице слева, под "add license to your project" (добавить лицензию в ваш проект) посмотрите, что там есть, и выберите лицензию.

6. Нажмите "review and submit" (проверить и захерачить).

7-10. Добавить коммит.

11. Заебись.
Linux Ubuntu Firefox
 Санкт-Петербург
0
1
Leonid Kaganov
Не понял.
Я просто залил файл LICENSE.txt - этого тоже недостаточно?

Я теперь должен унижаться, бегать по сайту, принадлежащему Микрософту, своим браузером, двигать там мышкой, открывать какие-то менюшки, нажимать в незнакомом интерфейсе какие-то кнопки, выбирать специальные опции по добавлению и присвоению проекту именно лицензий... Если так - да пошли бы они нахуй с такими правилами, оно мне больно надо ;) Кому надо - найдут в корне файл, не рассыплются. Верно я мыслю?
Linux Safari Chrome
 Wisconsin Rapids
4
0
Карточка удалена
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
По-моему достаточно.

Ничего не делать тоже было бы достаточно.

Нет правил, есть возможности.

Это свобода, Леонид, которая, как известно (и очевидно вновь и вновь) "так и остается призраком на этом континенте скорби".

Наслаждайтесь! :)
Linux Ubuntu Firefox
 Москва
3
0
Adamos
Вообще-то лицензия в коде нужна, чтобы ее НЕ читать.
Заглянуть, убедиться, что это MIT / Apache / LGPL - и НЕ ЧИТАЯ ее, понять, что можно и что нельзя делать с этим кодом.

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

И да, "сношай гусят" - это простительная шалость, а вот работа только с cp1251 - это уже извращение ;)
Linux Safari Chrome
 Санкт-Петербург
0
0
Leonid Kaganov
Движок пока не готов к переезду на UTF. Это надо писать много кода, который позволит сделать безболезненный переезд софта и баз всем, у кого движок уже установлен. Кроме того, там во множестве мест пойдут глюки, потому что всевозможные substr и strlen работают с байтами, а не символами. Менять их все на mb муторно, сложно, не везде ещё на хостингах mb установлен... Нет, мне пока лень об этом думать. Если github не умеет хранить код в 1251, то это его проблемы. Мне не мешает.
Linux Safari Chrome
 Wisconsin Rapids
4
0
Карточка удалена
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Ну я собственно это и пытался донести, но попробуйте это объяснить шестилетнему ребенку Ллео. Хочет он гусят ебать, свобода, что поделаешь...
Mac Safari Chrome
 Германия
1
0
karash_l
Я бы на Вашем месте использовал Do What The Fuck You Want To Public License (WTFPL) ("https://ru.wikipedia.org/wiki/WTFPL")

<pre>
O WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004

Copyright (C) 2019 Leonid Kaganov

Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. You just DO WHAT THE FUCK YOU WANT TO.
</pre>
Linux Ubuntu Firefox
 Германия
0
0
mr_tron (tr0n)
Это ОЧЕНЬ плохая лицензия. Она не защищает автора от претензий, если пользователь понесёт убытки из-за её использования.
Linux Firefox
 Boulder
0
0
Михаил (#1684620)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Это в какой стране такие законы, чтобы за бесплатно взятую программу без сертификатов (и даже каких-либо обещаний) можно было предъявлять претензии? И где строчка «не виноватая я» от таких претензии спасёт?
Windows
 Москва
3
0
_ (ngs-govno)
> Многие потенциальные пользователи не будут пользоваться только из-за этого: некоторые из-за неопределенности, некоторые из принципа.

Вы как-то переоцениваете количество потенциальных пользователей
Linux Firefox
 Пенза
0
0
qwerty блинн которого сайт забыл
а чего разбираться то? Взял и написал свою. Подробно изложив что можно, а что нельзя! типа:
1. аффтар низашо не отвечает
2. афторские права принадлежат мне. лицензия обязана распространяться вместе с исходниками
3. данный софт можно свободно использовать и модифицировать в некомерчиских целях. При модификации запрещается удалять упоминания об авторских правах. Отличия внесенные кем либо должны быть помечены (чтоб мне не краснеть за чужОй говнокод) и могут содержать ссылку на их автора.
4. При использовании данного продукта в составе другого, этот другой продукт обязан распространяться под любой лицензией не противоречившей данной. (вот вам аналог GPL-virus :) )
5. при использовании в коммерческих целях - связаться со мной, занести долю малую и получить дополнительное разрешение. или ваще запретить коммерческое использование. или разрешить....
6. итд

а совсем без лицензии низя....
Linux Safari Chrome
 Петрозаводск
3
0
гость 42 (#7581458)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Спасибо, 2007-й ненадолго вернулся.
Windows Safari Chrome
 Москва
2
0
rjhdby11 (#7405572)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
К слову о том, чем среды разработки лучше текстового редактора.
Это только index.php


Linux Safari Chrome
 Санкт-Петербург
1
0
Leonid Kaganov
Пока нет конкретики, невозможно понять, речь идёт об каких-то ошибках или это глюки и фантазии очередной "среды". В чем их, кстати, основные недостатки.
Mac Safari Chrome
 Германия
0
0
karash_l
В основном оно ругается на переменные и вызов функций, которые нигде не объявлены (видимо, глобальные).
Linux Safari Chrome
 Санкт-Петербург
0
0
Leonid Kaganov
А важное есть чего? Где посмотреть весь список?
Mac Firefox
 Германия
0
0
karash_l
Вообще, ничего особенного и критичного, кроме вышеупомянутых глобальных переменных. Синтактически все в порядке.
Linux Ubuntu Firefox
 Санкт-Петербург
1
0
Leonid Kaganov
Помню, двадцать пять лет назад писал всякие мелкие программки под DOS в основном - консольные обработки текстов в основном, всякая умная расстановка пробелов для выравнивания строки и прочие мелочи. Писал на чистом ассемблере. Компилировал не в EXE, а в COM, кажется до сих пор это валяется где-то на сайте необъявленное: http://lleo.me/soft/micrsoft.htm

Так вот, почти все антивирусы того времени с новомодными "эвристиками" страшно ругались и находили в этих файлах "вирусы".

Причина проста: я слегка перехватывал управление клавиатурой с единственной целью: отловить нажатие ESC от пользователя и мгновенно прекратить выполнение программы. В то время это было удобно для отладки и вообще - чтоб комп не повис, если что-то в программе пошло не так. Но антивирус считал, что я написал вирусы.
Windows Safari Chrome
 Москва
8
0
rjhdby11 (#7405572)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Ну по факту это был key-logger. Можно чмырить антивирус за его глупость, но по факту он был прав, среагировав на подозрительное поведение.
Windows Safari Chrome
 Москва
3
0
rjhdby11 (#7405572)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Статический анализ - достаточно полезный инструмент. Ложные срабатывания бывают, но они достаточно редки и возникают в действительно сложных случаях.
Тут уместно сравнение с проверкой орфографии в текстовом редакторе. Если слово подчеркнуто красным, то, вполне возможно, вы специально написали его неправильно, но скорее всего это ошибка.
Тут вопрос даже не в том, что анализатор нашел какие-то ошибки и предупреждения, а в их количестве. Все равно, что открыть текст вордом, а он весь красный, сверху до низу. :) Возможно конечно, что текст специально написан в падонкоффском стиле, но...
Windows Safari Chrome
 Москва
0
0
rjhdby11 (#7405572)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Основные же недостатки, при беглом просмотре, следующие:
1. Код очень сложно читать. Как будто пытаешься восстановить текст пропущенный через шреддер.
2. Используется много устаревших функций и не оптимальных подходов.
3. Работа с БД.
3.1. В файле намешаны функции из mysqli и mysql.
3.2. SQL-запросы повсеместно формируются "склейкой" строк, что очень-очень плохо и небезопасно.
4. Частое использование оператора '@'. Т.е. ошибки не обрабатываются, а тихо спускаются в /dev/null
Linux Safari Chrome
 Санкт-Петербург
3
0
Leonid Kaganov
1) Код писался много лет для себя, задачи делать его удобным для чтения кому-то другому не ставилось. Мне, например, неудобно читать сильно размазанный по вертикали код, где каждая { занимает отдельную строчку. А кто-то любит.

2) mysqli детектируется автоматически, движок работает и с тем и с другим, именно поэтому там в коде оба варианта можно найти. А вы бы писали код только с одним из вариантов?

3) Запросы SQL сложные, случаев много. Вы бы писали как? Вопрос в очистке данных, а он, как вы можете заметить, решается тщательно.

4) А для чего по-вашему изобретен @?

Честно сказать, я пока вообще не вижу для себя никакой пользы в публикации кода на Гитхабе. Надеюсь в будущем услышать какие-то дельные и конкретные советы, но пока что в отзывах (не только ваших) нет ничего, что могло бы принести проекту конкретную и ощутимую пользу. А такая надежда была.
Windows Safari Chrome
 Москва
1
0
rjhdby11 (#7405572)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
1. Это всё понятно, но всё же :)
2. Я бы (пере)писал код с PDO. Даже не так. Я бы работал с БД через интерфейс, за которым, в зависимости от необходимости, подключал любую необходимую реализацию. Хоть mysql(i), хоть postgresql, хоть oracle с mssql. Кстати, с вашего позволения, займусь этим, хорошо?
3. Мне по работе приходится писать очень много PHP-шного кода, активно использующего разные БД. Одновременно. Масштабы сильно больше чем у вас в движке, честное слово. Единственный кейс, когда с ходу нельзя использовать подготовленные запросы - конструкция "WHERE a IN(...)". Но и там есть довольно простой и надежный вариант обхода.
Нет, наврал, еще один вариант есть - когда имя таблиц/полей генерируется динамически - но это фу-фу-фу.
4. Он был изобретен на самой заре PHP, когда язык был страшен и глюкав. В современном языке использование этого оператора сродни детской "уборке" методом запихивания разбросанных игрушек под кровать. Вроде в комнате и убрано, но мы то знаем.

Ну как минимум один баг то с mysqli_connect уже нашли
Нанесению пользы очень мешает пункт 1. Но думаю, что как только людям удастся прорваться через дебри, то процесс пойдет. 4 форка уже есть, значит народ заинтересовался:)
Linux Safari Chrome
 Санкт-Петербург
1
0
Leonid Kaganov
Было бы здорово.

Хочу сказать вот ещё чего: да,я совершенно не тратил усилия на понятность кода, зато тратил много сил, чтобы движок инсталлировался на большинстве хостингов как есть. Он работает у меня и не только у меня на самых разных серверах, включая домашние роутеры.

Поэтому принципы, которые хотелось бы сохранить, были такие:

1) Движок - не единичный экземпляр. Он должен работать у всех в общем случае при базовых настройках. Не факт, что человек имеет возможность менять что-то в настройках своего хостинга. Нельзя заставлять человека, чтобы у него был инсталлирован какой-нибудь unictime_post_module и SuperProxyAgent и MemCache, иначе движок не поднимется. Считается, что у человека вообще нет доступа к консоли, к установке софта и модулей. Если пишется работа с Memcache или mysqli, надо обеспечить работу движка и там, где их не установлено. Может не быть file get contents или json decode, тогда надо писать заплатки для этих функций (они есть кстати).

2) Консоли может уже не быть. Все изменения админ может сделать по вебу, открыв браузером /install

3) Нельзя вносить изменения, которые парализуют работу движков. Если надо добавить поле в таблицу - пишется софт переезда в модулях, появляется новая кнопка а /install - "добавить поле count", например.

Таким правилами я руководствовался последние 12 лет.
Windows Safari Chrome
 Москва
0
0
rjhdby11 (#7405572)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Какая минимальная версия PHP?
Вот тут статистика за 18 год
https://seld.be/notes/php-versions-stats-2018-1-edition

PHP 5.4 ~1%
PHP 4 отсутствует как класс.
Linux Safari Chrome
 Москва
0
0
Leonid Kaganov
Так не вставало такой задачи - выдержать некую версию. В процессе разработки появлялись хостинги, на которых движок не работал, и тогда приходилось что-то придумывать, рисовать функции или заплатки. Какие там были версии (или недостающие модули) и какие из этих хостингов проапгрейдились в период с 2008 по 2018 - информации нет.

Салем так: даже обязан обеспечить минимальную работоспособность на любой версии php с отсутствующими модулями curl, iconv, с запрещёнными серверу исходящими соединениями, и далее при отсутствии file_get_contents.
Linux Safari Chrome
 Москва
0
0
Leonid Kaganov
И ещё: а это статистика - ЧЕГО? Крупных хостинговых провайдеров? Серверов? Домашних серверов? Личных десктопов? Вайфай-роутеров? У меня, например, движок стоит на двух роутерах - banana http://home.lleo.me (php 5.6) и Asus R16 http://spb.lleo.me (php 5.2)
Вы уверены, что у Asus R16 openwrt есть PHP7? Я чота совсем не уверен. И устраивать себе на пустом месте недельный геморрой с перепрошивкой роутера никакого желания нет :)
Linux Ubuntu Firefox
 Москва
1
0
Adamos
Нюанс в том, что РНР версии ниже 5.4 на хостинге сейчас представляет собой не столько веб-сервер, сколько широко распахнутый (с известными и уже не закрываемыми уязвимостями) бэкдор. Поддержка движком легаси - это прекрасно, конечно, но, имхо, не в том случае, когда затея установки чего бы то ни было на этот хостинг неудачна в целом.

У вас же движок публичного сайта, не какая-нибудь интранет-система, где на безопасность можно возлагать болт. Если у него появится какое-то коммерческое будущее, придется отвечать не только за свой код, но и за грехи того, на чем он работает.
Linux Safari Chrome
 Москва
0
0
Leonid Kaganov
А что конкретно в коде моего движка рассчитано на php 4 и потому столь опасно? Я вот не имею представления. И не знаю даже, стоял движок на php 4 когда-то. Совместимость в основном измерялась не цифрами, а особенностями и модулями.
Mac Firefox
 Германия
1
0
karash_l
А может быть имеет смысл заморозить текущую версию для "старых" серверов, дать ей какое-нибудь красивое название и продолжать развивать движок уже для современных версий PHP (7.3+)? А там уже выбросить все патчи обратной совместимости, выставить в минимальных требованиях конкретную версию PHP, MySQL и т.д. Наверняка можно будет выбросить много кода, путём удаления этих заплаток. Так со временем и читаемость повысится и рефакторить будет легче. Так, глядишь, и до Композера с Докером дойдем.

Иначе можно до маразма дойти, ведь где-нибудь всегда будет стоять древняя версия PHP 5.2, хоть в 2030 году, когда весь мир будет сидеть на PHP 27.4. Невозможно ведь поддерживать совместимость со ВСЕМИ версиями, которые когда либо существовали. PHP 5.2 вышел в 2006-году. Пора бы уже и на заслуженный отдых. В том числе и из-за существующих дыр в безопасности.
Linux Safari Chrome
 Москва
1
2
Leonid Kaganov
Какие именно куски кода вы предлагаете заморозить? Можно долго загибать пальцы, перечисляя неведомые мне номера версий php или ядер Линукса, но разговор этот не имеет никакого смысла, пока не обсуждается конкретный код.

С чего вы вообще взяли, что мой движок работает c php4? Вы пробовали? А если не работает, мы спорим впустую? А если работает, что конкретно вы предлагаете в нем сломать чтобы работать перестал? ;)
Linux Safari Chrome
 Wisconsin Rapids
0
0
Карточка удалена
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
А по первому пункту это реально просто плохое форматирование, или стиль вообще (я не смотрел)? Форматирование может можно пофиксить каким-нибудь тулом, не знаю, насколько в PHP это легко. Или это больше в стиле "давайте называть все методы doit1234()"? :)

Один форк - мой, признаю, что покамест заинтересован в основном в саркастических комментариях. Один форк - ваш, хрен знает, что вас заинтересовало, наверное помочь хотите.

По-моему основная проблема - не первый пункт, а нежелание сделать гитхаб источником истины. А так даже непонятно толком как с этим всем работать: инсталляция, как я понимаю, включает в себя догрузку какого-то альтернативного кода из дневника. А может нет. А если да - то какая там версия, что заменяется/изменяется по сравнению с гитхабом? Как одновременно предполагается разрабатывать, если основная версия не в гитхабе? Кто будет синхронизовать изменения, как, когда? Как следить за версиями, откатывать если надо?

В общем, не хочу звучать сильно негативно, загрузка на гитхаб - сильный ход, но надо бы обработать deployment напильником, если, как Леонид говорит, желательны изменения от других разработчиков.
Linux Safari Chrome
 Санкт-Петербург
0
0
Leonid Kaganov
Вы тоже меня извините, но наглость начинается не там, где люди не говорят спасибо автору за бесплатный софт. И не там, где люди, пытающиеся им воспользоваться, выкатывают не только вопросы, а негатив, претензии и требования. Наглость начинается там, где негатив начинают выкатывать персонажи, которые продуктом не пользовались и не собираются.
Linux Safari Chrome
 Wisconsin Rapids
0
0
Карточка удалена
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Вам совершенно не за что извиняться, как и мне (поэтому я и не извинялся). Если вы хотите в моих словах видеть наглость - ваше дело, я старался по делу посоветовать там, где разбираюсь.
Linux Safari Chrome
 Киев
2
0
Vitaliy
Кстати о движке. Лео, нельзяли убрать из main.js вот эту строчку?

setkey(['D','В','в'],'',function(e){document.location.href=wwwhost;},true); // в блог

Это строка 95.

Дело в том, что комбинация Alt+D во всех броузерах переводит фокус в строку адреса, а у тебя в блоге Alt игнорируется и при нажатии Alt+D загружается последняя запись. Жутко неудобно.
Лучше, конечно, в setkey() ввести понятие модификатора, возможно, есть люди, которым Alt+D не нужен, а к просто D уже привыкли.

UPD: У тебя, что, исходники в 1251? Не стыдно? :D
Linux Safari Chrome
 Санкт-Петербург
3
0
Leonid Kaganov
Уберем.
Linux Safari Chrome
 Wisconsin Rapids
1
0
Карточка удалена
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Поставьте MIT лицензию, и после этого на все такие вопросы можете цитировать анекдот: "вам - везде!" :)
Linux Ubuntu Firefox
 Санкт-Петербург
1
0
Leonid Kaganov
Спасибо, убрал.
Вообще убрал всё лишнее, все равно я этим не пользуюсь.

Оставил только:

setkey('esc' // закрыть последнее окно
setkey('enter' // если не открыто окон - окно правки
setkey(['U','Г','г'] // личная карточка

Ну и для админа:

if(adm) {
setkey(['E','У','у'], // редактор заметки
setkey(['N','Т','т'], // новая заметка
}

Вы, я вижу, очень грамотно в этом разбираетесь, поэтому встречный вопрос: мне хотелось бы в редакторе (заметок, комментариев) сделать полезные кейшоты. Например, выделил мышкой, нажал какой-нибудь ctrl-чего-то - и выделенный текст оказался в двойных красивых кавычках. Либо жирным выделен. Либо вставлен полезный символ типа неразрывного пробела или длинного тире.

Какие посоветуете сочетания клавиш?
Linux Safari Chrome
 Киев
0
0
Vitaliy
Ай, спасибо! Реально мешало.

А вот на вопрос не отвечу. Кроме очевидного Ctrl+B, Ctrl+I стандартов, вроде, и нет.

UPD1: ZXCV с Ctrl трогать нельзя, понятное дело, F, S и P - тоже, а больше что-то в голову ничего и не приходит.

UPD2: Ctrl+N и Ctrl+T в большинстве броузеров - новое окно и новая вкладка соответственно.
Linux Firefox
 Boulder
0
0
Михаил (#1684620)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
До фига их с Ctrl:
Ctrl+A — выделить всё
Ctrl+W — закрыть окно/вкладку
Ctrl+Q — закрыть совсем
Ctrl+R — перезагрузить страницу
Ctrl+D — сделать закладку
Ctrl+B — показать закладки
Ctrl+H — показать историю
Ctrl+J/K/L — пойти в строку адреса/поиска
Ctrl+U — показать исходник
и пр.

С Alt вызываются пункты меню, которые могут быть какие угодно, так что тут вообще ни на что рассчитывать нельзя.
Windows Firefox
 Amsterdam
0
0
Eugi Gufo
Воспользуюсь случаем и спрошу: а как организован автопостинг в facebook при их новых требованиях к приложениям?
Я, например, этот квест так и не смог пройти, т.к. не знал как доказать, что моё приложение про автопостингу не делает того, чего делать и не собиралось.
Linux Safari Chrome
 Санкт-Петербург
1
0
Leonid Kaganov
Без приложения, эмуляция браузера Сейчас через phantomjs, в проекте - через headless chrome.
Windows Firefox
 Amsterdam
0
0
Eugi Gufo
А это интересно. Спасибо!
Windows
 Москва
1
0
_ (ngs-govno)
Эти костыли отвалятся в первую очередь, когда фб слегка поменяет вёрстку или на очередном витке борьбы с ботами. А у ллео опять будет фб виноват, что он его ни о чём не предупредил.
Linux Safari Chrome
 Санкт-Петербург
0
0
Leonid Kaganov
Но поскольку ФБ уже дважды менял АПИ и в итоге отключил его совсем, то альтернативы-то все равно нет.
Mac Firefox
 Германия
0
0
karash_l
А что значит отключили совсем?
Разве это не то, что нужно? https://developers.facebook.com/docs/pages/publishing/
Linux Safari Chrome
 Москва
1
0
_ (ngs-govno)
Сказано же - отключили! Не выёбывайся. Все всё отключили.
Linux Safari Chrome
 Санкт-Петербург
0
1
Leonid Kaganov
Вы конечно не обижайтесь, но выше я общаюсь с человеком, который, как минимум, понимает, о чем речь. В идеале я бы хотел обсудить эту тему с такими же, как я - с программистами, которые последние 5 лет занимались успешным построением постинга в Фейсбук по разным методам и схемам, добившись успеха.

Вы, как человек с нулевым опытом в этой области, для меня нулевой авторитет. Если когда-нибудь сделаете свой первый автоматический пост в Фейсбук и через сутки так же автоматически его отредактируете, поправив опечатку - вот тогда и поговорим. А пока вам просто рано лезть в такие дискуссии.
Windows
 Москва
3
0
_ (ngs-govno)
Да господи, что на вас обижаться :) И чего там не понимать, я эту же ссылку на API вам и хотел дать и спросить, что вас не устраивает. Но уже вижу забавное, но полное ваше описание ниже. Меня просто всегда искренне удивляет, почему у вас всегда не работает то, что у всех всегда работало.

Если бы мне понадобился постинг в ФБ я бы действовал так же, как и с любым другим сервисом. 3 шага - зарегистрировался как разработчик, быстро пробежался по описанию API и how-to, взял готовый пакет/модуль/библиотеку для нужного языка и среды разработки, коммиты в который были за последние несколько месяцев хотя бы (потому, что их, наверняка, десятки). Всё. С инстаграмом, я так и сделал. С ЖЖ ещё проще (на удивление, API там ещё работает!). А вам было влом даже первый шаг выполнить (вы что, первый раз в жизни девелоперский логин где-то заводите?), но не влом делать свой велосипед из костылей. И виноваты в этом сервисы. И FB вам подляны делает, и Github у вас тупой, не может разобраться с кодировкой, и так далее... Любой сервис — это же живая вещь, он постоянно развивается и меняется. Но никому, в здравом уме, не придёт в голову вводить breaking changes в свой внешний API, не предупредив клиентов за месяцы. Мне постоянно приходят уведомления с Azure и AWS о том, что через пару месяцев будет что-то новое, а через полгода-год старое отключат. И вас бы тоже ФБ предупредил заранее. А если доступ к API платный (я сейчас не конкретно про ФБ), так там, наверняка и SLA в договоре и с его нарушением клиенты радостно в суд побегут. Вас не смущает, что сломалось только у вас, и больше ни у кого в мире? Если бы все роботы в один момент перестали работать с ФБ, крик на полмира поднялся бы.

Обхитрить их систему рейтинга — это да, веская причина для любых костылей. Я, правда, сомневаюсь, что она работает так, как вы думаете, а если и так, то такие коэфициенты, обычно, тюнятся каждую неделю. Ну и непонятно, почему поменять пару строк в адресах API — это сложно, а перенастроить хром проще? И, кстати, потом не удивляйтесь, если, вдруг, нейросеть, обученная на тысячах спамеров с похожим способом, вдруг пристрелит ваш аккаунт.
Linux Safari Chrome
 Mt Laurel
3
0
Карточка удалена
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Все верно. Как говорится, "не стоит подозревать злой умысел в том, что можно объяснить простой некомпетентностью".
Linux Safari Chrome
 Москва
0
0
Leonid Kaganov
Разница между нами в том, что я делаю реально работающие вещи и бесплатно предлагаю их всем желающим.

А вы - аноним, набегающий попиздеть о том, как плохо я всё делаю, и как хорошо сделали бы вы, если бы вдруг захотели.

Хотите доказать свое мастерство? Сделайте публикатор заметок Фейсбука в формате note (текст, перемежающийся фотками), принесёте пользу мне и множеству людей. Но вы не сделаете. Во-первых, потому что теоретик, только в комментах попиздеть умеете. Во-вторых, потому что неправильно мыслите и такая задача вам не по зубам. А вот я, как обычно, сделаю в ближайшее время и предложу всем желающим готовое решение и бесплатный сервис на Бинонике.
Linux Safari Chrome
 Санкт-Петербург
3
0
Leonid Kaganov
Вопрос сложный.

Не знаю как сейчас, надо разбираться. Но ещё год назад там висело под описанием "эта функция отключена с АПИ 2.х"...

В движке в protocols.php у меня собственно остались и наглядно видны все этапы большого пути. А именно:

1) Изначально АПИ Фейсбука позволял /note - все мои посты шли туда с вёрсткой и множественными фотографиями по ходу текста. Как на сайте, в ЖЖ, ВК и и.п.

2) Затем Фейсбук закрыл в АПИ /note Просто навсегда и для всех, ибо нехуй. Остался /post - текст и под ним одна фотка или ссылка или видео. Ладно, я переписал всю систему. Хотя стало уже совсем неинтересно.

3) Затем Фейсбук ИЗМЕНИЛ формат /post и снова всё перестало работать. Ладно. Я разобрался, чего-то там правил под новые edge и параметры, снова заработало.

4) Затем facebook отключил page вообще. Осталось то ли для сообществ, то ли не для личного аккаунта, а только на стену, то ли из каких-то особо авторизованных приложений... Не знаю, как сейчас, но висело разъяснение, что для всех прочих эта функция удалена. Мне лень гуглить, но в дневнике я об этом писал. И вот тогда я написал новый блок постинга под phantomjs - типа как браузером.

5) Недавно я сделал новую модель уже на headless chrome. Пока умеет делать пост с фотками (одной или пачкой) или видеороликом. В движок пока не интегрировал. В планах - вернуться к формату note. Я часто пишу развернутые статьи с вёрсткой и объектами, кастрированный формат "одна фоточка плюс текстик" меня мало устраивает.

Подытоживая:

-- Фейсбук меняет АПИ каждый год в среднем. Бегать за ним и всё переписывать сложно. В о время как интерфейс пользователя остаётся неизменным: окно ввода текста, кнопочк добавления фоток и "опубликовать". Перенастраивать виртуальный браузер вообще не проблема если что.

-- В АПИ Note уже нету и не будет. Точно так же в любой момент могут отключить Page

-- Никто не знает, как сейчас (или в будущем) Фейсбук рейнгует посты, сделанные через АПИ. Есть подозрения, что им заранее присваивается мусорный рейтинг и сильно режется выдача. Человек, использующий АПИ с точки зрения Фейсбука - не пользователь. Он готовит материалы на стороне и не скроллит свою ленту, читая рекламу. А то и - не дай боже - вдруг даже использует чей-то неофициальный мобильный клиент, а значит, не установил официальный! Фейсбуку такие не нужны.

Если у вас ещё остались вопросы, почему я перестал использовать АПИ и не собираюсь к нему возвращаться, я с удовольствием отвечу.

Если есть идеи - с ещё большим удовольствием выслушаю.
Mac Firefox
 Германия
1
0
karash_l
Я конкретно с АПИ Фейсбука не имел дел, но именно для этого и используются версии (и, судя по всему, Фейсбук это поддерживает https://developers.facebook.com/docs/apps/versions/#calling_[...]).

То есть вместо использования https://graph.facebook.com/<user_id>/feed, когда автоматически используется самая новая версия, которая в будущем может измениться так, что все сломается, нужно использовать конкретную версию, которая при любых изменениях будет гарантировано работать в будущем именно так, как сейчас: https://graph.facebook.com/v3.2/<user_id>/feed

А еще сейчас Фейсбук очень активно пропихивает свой GraphQL в массы, и там с версиями все в порядке
https://developers.facebook.com/docs/graph-api/overview#vers[...]

Так что на Вашем месте я бы дал им еще один шанс, потому как всякие Фантомы, Хедлесс Хромы и прочие Селениумы - это довольно костыльно и медленно.
Linux Safari Chrome
 Санкт-Петербург
0
0
Leonid Kaganov
Проблема в том, что Фейсбук (в отличие от всех остальных соцсетей) интенсивно меняет API в сторону снижения функционала и запрещения. Моменты, о которых я говорю, были связаны именно с запретом старого функционала (вот не помню, запрета вообще или запрета для новых абонентов). Поэтому ему веры нет, да и все равно Note через API невозможно, только браузером.

Поэтому будет chrome.

То, о мы столь справедливо говорите - тормоза - решается переездом на принципиально иную система постинга. Сейчас постинг происходит в момент работы админа с заметкой. А надо - отдельную машину с очередью на постинг, отловом ошибок, числом допустимых попыток и т.п. Такая система, во-первых, не создаст сверхнагрузки и подозрительных одновременных запросов, если заметки начнут постить сразу несколько человек (в многопользовательском движке). Во-вторых, никому не придется ждать результата. Запрос встал в очередь - можешь выключать браузер, минут через пять все опубликовано. Это в планах ближайших.

Во-вторых, можно делать системы отложенного постинга.

Наконец, можно раздавать возможность автопостинга в разные сети как сервис.

Теперь что касается преимуществ headless chrome:

1) Ты не зависишь от капризов Фейсбука по изменению апи и санкций: ты не выделяешься из категории "обычный пользователь" с его точки зрения.

2) Пользователю не надо проходить сложную (для дилетантов), запутанную (интерфейс постоянно меняется, я делал гид со скриншотами, они устарели за год) и унизительную процедуру регистрации как девелопер для получения ключей. Достаточно логина и пароля, далее система все сделает сама.

3) Этот метод также сможет работать с сервисами, которые АПИ вообще не имеют. Пример: Яндекс.Дзен Вы хотите иметь возможность автопостинга своих материалов на Дзен? У меня это в планах.
Windows Safari Chrome
 Ростов-на-Дону
0
0
Hank (#7523740)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Идея хорошая и правильная. В инстаграмме относительно давно используется схожий подход (правда там пока без браузера обходится, просто парсингом), опыт есть.

Однако, там все разбивается об перманентно усиливающийся контроль по IP, в т.ч. по геолокации. Даже если внутри РФ сначала залогинеться на локальной машине где-нибудь в Краснодаре, а затем попробовать запостить что-нибудь через бот-хостинг в Питере - выдаст страйк с просьбой подтвердить, что вы это вы. Я уж не говорю про другие страны.
Mac Safari Chrome
 Германия
0
0
karash_l
Для упрощения установки можно запилить Docker-образ. Ибо сейчас это больше похоже на квест. Особенно со всякими правами на папки.
Linux Safari Chrome
 Санкт-Петербург
3
0
Leonid Kaganov
Нет возможности упрощать жизнь нескольким людям, усложняя ее себе :)
Linux Ubuntu Firefox
 Одесса
0
0
Azimut
Приветвтвую Вас, Леонид.

Друг-писатель Леша Филиппов попросил сайт, где бы он с читателями мог вместо фейсбука общаться. Я хотел попробовать Ваш.
Подскажите пож. по установке.

Распаковал в корень на апаче. Создал и прописал mysql базу,юзера и пароль.

Когда 2й раз (пурвый потребовала $admin_unics="0") захожу на
http://lll.komkomkom.com/install пишет

Твой unic=0
MySQL ERROR:

mysqli_query("INSERT INTO `unic` (`ipn`,`time_reg`) VALUES ('2887681044','1548781483')")
Table 'dnevnik.unic' doesn't exist

Может из-за того, что фейковый hostname на локалхост завернут ?

в логе апачи:
[Tue Jan 29 19:04:43.634788 2019] [php7:warn] [pid 3560] [client 172.30.132.20:48888] PHP Warning: array_merge(): Argument #1 is not an array in /var/www/site_mod/MAIN.php on line 153

А надо ли мне сперва создавать таблицы, базы mailbox и unic ?

p.s. отбой. поставил sql.sql и жизнь наладилась. Извините, но удалить пост не получается, только редактировать даёт.
Linux Ubuntu Firefox
 Санкт-Петербург
1
0
Leonid Kaganov
Движок не может присвоить посетителю unic пока нет таблиц MySQL, куда его можно зарегистрировать. Поэтому надо сперва установить MySQL, прописать пароли в config.sys и только затем заходить в /install Где первым делом понажимать кнопки создания всех таблиц. Вот затем поперегружать страницу, он наконец выдаст unic, и тогда можно прописать в config.sys админа и считать инсталляцию завершенной.
Windows Firefox
 Москва
0
0
vshvetsov
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
У меня та же ошибка, но жизнь не наладилась, поскольку я не "поставил sql.sql" (не знаю, куда). Базу SQL я создал, название, логин и пароль прописал в config.php. При заходе на мой_сайт/install получил такое:



Название базы у меня странное - u0637742_bino, потому что мой ISP manager добавил префикс u0637742_ (мой логин на хостинге) сам к имени bino.
Глядя на ромбики, начинаю думать - не в кодировке ли дело? Для движка я сделал базу с кодировкой cp1251.
Linux Safari Chrome
 Санкт-Петербург
0
0
Leonid Kaganov
Будем разбираться. Он должен был для начала дать админа.
Linux Safari Chrome
 Санкт-Петербург
0
0
Leonid Kaganov
Да, это было бы супер.
Мне важно отладить все глюки при установке. А они, увы, случаются разные и по самым загадочным причинам.

Одно время я даже собирал коллекцию самых смешных глюков, потом бросил. Например, у одного хостера движок не мог работать потому что... хостер по какой-то своей паранойе запрещал доступ к любым папкам, имя которых начиналось на /temp Соответственно шаблоны из папки /template были недоступны. Пришлось в коде движка сделать имя этой системной папки редактируемым в config.php эПереименовали папку на данном конкретном хостинге в /netemplate и всё заработало. Ну вот как такое можно предусмотреть или отладить дистанционно? :)
Mac Safari
 Израиль
1
0
braintunic
Лео, ты обещал исправить баг в системе личной переписки дневника.

Сейчас в собственном OUTBOX доступны только последние 20 записей, а к более старым записям доступа нет, и это печалит...
Linux Ubuntu Firefox
 Санкт-Петербург
1
0
Leonid Kaganov
Ох. Будем искать.
Mac Safari
 Израиль
1
0
braintunic
Лео, спасибо, теперь всё заработало правильно!
Наконец-то я нашёл в моём Outbox нужный мне текст трёхлетней давности :)

Полагаю, это починилось после твоего последнего исправления в системе поиска по комментариям.

Очевидно, это был один и тот же баг в обоих этих случаях — и там и тут отдавалась только одна последняя страница, без возможности листать дальше.
Linux Safari Chrome
 Wisconsin Rapids
0
0
Карточка удалена
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Ну кто вам сказал, что это ваш собственный OUTBOX? Политика Ллео, да и его разъяснения, очень ясно дают понять, что ничего вашего там нет.
Linux Ubuntu Firefox
 Санкт-Петербург
0
0
Leonid Kaganov
О, нет, OUTBOX и INBOX как раз полностью ваши ;)
Linux Ubuntu Safari Chrome
 Fremont
1
0
churbankin-cheburashka (#7572706)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
А мне не надо этого! Я протестую.
Linux Ubuntu Firefox
 Санкт-Петербург
0
0
Leonid Kaganov
У меня вообще была идея при случае там весь интерфейс переделать. Сделать как-то так: http://lleo.me/dnevnik/2018/12/09?hash=40861fc223234447262f2[...]
Mac Safari
 Израиль
0
0
braintunic
Ты хочешь поддерживать чат? instant messaging??
По-моему, это плохая идея.
Нынешняя система сообщений, по типу почтовых, куда удобнее — с асинхронными ответами, с таймстэмпом на каждом соообщении, с INBOX и OUTBOX.

Можно добавить поддержку фолдеров по юзерам, но только как опцию, а не как единственный вариант.
Объединённый mailbox часто удобнее.
Только нужна сквозная нумерация сообщений, а не как сейчас, от 1 до 20 на каждой странице опять и опять.
Linux Ubuntu Firefox
 Санкт-Петербург
0
0
Leonid Kaganov
Странно. А почему у меня все работает?
Linux Safari Chrome
 Wisconsin Rapids
0
0
Карточка удалена
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
СТРАННО??? :) :) :)
Windows Firefox
 Израиль
0
0
braintunic
> почему у меня все работает?

Заходишь в OUTBOX, видишь последние свои 20 отправленных сообщений, нажимаешь кнопку «следующие» — а оно перебрасывает в INBOX (и на Windows и на Android и на iPad).

У тебя может быть режим админа портит, попробуй в режиме простого юзера.
Linux Safari Chrome
 Санкт-Петербург
0
0
Leonid Kaganov
Я без админа и пробовал.
Mac Safari
 Израиль
1
0
braintunic
Значит, эта гадость срабатывает по какому-то параметру...
Например, накопилось более 50 исходящих сообщений, какое-то переполнение, или что-то в этом роде.

Спросим людей: у кого есть такая проблема, а у кого нет?
(среди имеющих более 20 исходящих записей в OUTBOX)

Linux Safari Chrome
 Wisconsin Rapids
0
0
Карточка удалена
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
У меня тоже показывается только последние 20, при нажатии на "следующие" ничего не происходит (крутилка на долю секунды появляется, потом пропадает).

Google Chrome
Version 69.0.3497.81 (Official Build) (64-bit)

Linux mjolnir 4.15.0-34-generic #37~16.04.1-Ubuntu SMP Tue Aug 28 10:44:06 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Linux Safari Chrome
 Wisconsin Rapids
1
0
Карточка удалена
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Никто не знает, как сейчас (или в будущем) Ллео рейтингует багрепорты, сделанные на тему INBOX/OUTBOX. Есть подозрения, что им заранее присваивается мусорный рейтинг. Человек, использующий INBOX/OUTBOX с точки зрения ЛЛео - не пользователь. Он готовит материалы на стороне, переписывается со всякими мутными личностями, наверняка на темы, не относящиеся к страницам дневника, и не скроллит дневник, читая ... ну что там написано. А то и - не дай боже - вдруг даже использует RSS, а значит, не ходит на официальный сайт! Ллео такие не нужны.

:)
Linux Safari Chrome
 Санкт-Петербург
2
0
Leonid Kaganov
Сразу видно человека, который никогда в жизни не писал багрепортов в Фейсбук. Их там не то, что реагировать, их вообще не читают.
Linux Safari Chrome
 Wisconsin Rapids
0
0
Карточка удалена
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Вы так это говорите, будто это плохо. :)
Linux Safari Chrome
 Санкт-Петербург
0
0
Leonid Kaganov
Гена, плохо. Потому что вам нечего сказать, но вы создаёте пустой шум и мешаете мне общаться с людьми, которые пишут по делу. Уйдите сами из этой заметки или буду удалять.
Linux Safari Chrome
 Wisconsin Rapids
0
0
Карточка удалена
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
А вам самому очень нравится, когда вам незнакомые люди говорят, что делать и что не делать?
Linux Ubuntu Firefox
 Владимир
3
0
Adamos
Никто не знает (да никого и не волнует), как Гена рейтингует посты Ллео на приземленные технические темы. Есть подозрение, что им заранее присваивается мусорный рейтинг. Ллео, пишущий о своем движке, с точки зрения Гены - не блоггер. Он решает свои вопросы, переписывается с комментаторами, способными дать дельный совет... а то и - не дай боже - преследует собственные интересы, совершенно игнорируя Гену! Гене такой Ллео не нужен.
Windows Safari Chrome
 Санкт-Петербург
0
0
cats-home.net@Кошак (cats-shadow)
Здорово!
Сейчас попробую обновить/развернуть на домашней машине.

На счёт обновления. Может сделать, как у Tiny Tiny RSS? Там тоже код с гитхаба берётся, обновляется просто вручную клоном репозитория, но при этом анализируется конгфиг и структура БД, при необходимости обновления запускается скрипт, который обновления вносит или информирует об изменениях (новых переменных) в конфиге.
Linux Safari Chrome
 Санкт-Петербург
0
0
Leonid Kaganov
Ну так /install же никто не отменял :)
Windows Safari Chrome
 Санкт-Петербург
1
0
cats-home.net@Кошак (cats-shadow)
Так /install же ссылается не на гитхаб, а на прописанные в конфигурации его экземпляры движков. Или я ничего не понимаю? :)
Если таким образом можно будет брать текущую версию с гитхаба — это годный план.
Кстати, конфиг достаточно изменился с старых версий. При установке уже не надо _md5 вручную прописывать :). Собственно об этом писал — было бы круто, если б при обновлении прилетала информация о нужном/не нужном в конфиге для новой версии.
Linux Safari Chrome
 Санкт-Петербург
2
0
Leonid Kaganov
Гитхаб все равно вторичен - самая свежая версия не в нем будет, а через /install с dnevnik
Linux Safari Chrome
 Санкт-Петербург
0
0
Leonid Kaganov
Ещё можно 2003-01-27.shtml
Mac Firefox
 Германия
0
0
karash_l
Пытаюсь установить движок, но почему-то не присваивается unic. Постоянно остается 0. Пробовал чистить куки, разные браузеры - не помогает.

Соединение с MySQL есть, таблицы созданы. PHP 7.3.1, Apache 2.4.25. Запускаю в докере, но думаю, что это не имеет значения.

А еще показывает, что нет PHP-GD модуля, хотя в соседней вкладке phpinfo говорит, что есть.

Скрины прилагаются. Заранее спасибо за помощь.

Mac Firefox
 Германия
0
0
karash_l


Mac Firefox
 Германия
0
0
karash_l
Кажется понял. Дебагер показывает, что функция "imagecreatefromjpeg" отсутствует, потому что нет поддержки JPEG в GD. Но сам GD в принципе доступен. Буду копать дальше.



Mac Firefox
 Германия
0
0
karash_l
С GD разобрался. Нужно было установить пакет libjpeg62-turbo-dev. Теперь показывает, что доступно.

Проблема с unic=0 все еще актуальна.

всего комментариев: 155

<< предыдущая заметка следующая заметка >>