Форумы портала PHP.SU » Разное » Колонка администратора » Задачи самописа форума

Страниц (2): [1] 2 »
 

1. DeepVarvar - 08 Июля, 2015 - 22:33:26 - перейти к сообщению
Вобщем вот.
Желающих пока не очень много, ибо огонь разгорается только когда ты сам горишь.
Вот пока я горю, я вам подкину головешек.

Значит.
Кроме самого форума и обвязки пользаков есть еще вот такие разделы:
Новости, Статьи, Документация, PHP скрипты, Книги/Учебники, Download, Поиск, Помощь.

Во первых -- это не конечный список.
Во вторых -- я хотел бы обсудить как мы это все будем хранить в базе и админить в браузере.

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

Вот. В этом и вопрос.
Как по вашему, делить на разграниченные кусочки или влепить большое дерево и один контроллер на все это дело?

И еще такие мысли -- документацию я бы психанул и забрал с пхп.нет, с перебивкой ссылок на наши местечковые.
И время от времени по крону ходить да сравнивать, если контент изменился, тогда обновить черновик и оповестить ответственного о том что появилось обновление на такой-то странице документации.
Ну и ответственный заходит, смотрит что поменялось и подтверждает изменения.
2. esterio - 09 Июля, 2015 - 13:51:45 - перейти к сообщению
DeepVarvar пишет:
документацию я бы психанул и забрал с пхп.нет

Аяяяяй копипаста не хорошо Радость Радость

А какой wysiwyg в планах использовать
3. DelphinPRO - 09 Июля, 2015 - 14:02:07 - перейти к сообщению
esterio пишет:
А какой wysiwyg в планах использовать

Эксклюзив

4. DeepVarvar - 09 Июля, 2015 - 15:26:12 - перейти к сообщению
esterio пишет:
Аяяяяй копипаста не хорошо
Копипасты не получится.
Там лицензия Креатив Коммон Атрибут 3.0.
Что дает право зеркалировать при условии упоминания всех авторов и указании ссылки на оригинал.
Кроме того -- там до сих пор есть еще не переведенные на русский язык страницы.
Что может дать фору вам самим в авторы этой документации затесаться.

Так що -- пишите парсер ))
Сохранять примерно ака:

origin_content_checksum, main_content_checksum, last_update, is_different, origin_content, main_content

чтобы реализовать уведомляшки что появилось обновление на какой-то там странице.
Плюс еще нужно оригинальный урл, наш айдишник или ури и название.
5. Мелкий - 09 Июля, 2015 - 15:38:21 - перейти к сообщению
На всякий случай напомню, что http насиловать не надо, документацию можно выгрузить отдельно: http://php.net/download-docs.php
6. DeepVarvar - 09 Июля, 2015 - 15:56:53 - перейти к сообщению
Ну, первичная загрузка конечно в таком виде устроит более чем.
А как отслеживать изменения на конкретных страницах?
7. DelphinPRO - 09 Июля, 2015 - 16:02:07 - перейти к сообщению
md5_file

всё равно же не будешь всю документацию парсить на предмет обновлений.
8. DeepVarvar - 09 Июля, 2015 - 16:05:26 - перейти к сообщению
Всю, дядя, всю )) Потихоньку, по кругу, не наглея, по одной страничке которую надо сверить.
Я уже посчитал, если дергать например, раз в минуну, то на завершение круга обхода чекалки понадобится ~18 месяцев.
9. DelphinPRO - 09 Июля, 2015 - 16:08:25 - перейти к сообщению
ну и нафиг это надо
раз в месяц качнул архив, сверил, если надо проапдейтил целиком
10. Мелкий - 09 Июля, 2015 - 16:09:14 - перейти к сообщению
DeepVarvar пишет:
А как отслеживать изменения на конкретных страницах?

Где твоё command line fu? Распаковал рядом обновлённую доку, построил рекурсивный diff, получил изменённые страницы.
11. DeepVarvar - 09 Июля, 2015 - 16:10:57 - перейти к сообщению
Я успел подумать что можно диффануть.
Кароч тут надо узнавать как часто они перезаливают доки.
Ну или да, раз в месяц и все.
(Добавление)
И там надо не просто проапдейтить, а уведомить ответственных, кто указан в ролях как следящий за документацией, тогда он должен глянуть руками что именно там поменялось и, если нужно дополнить/изменить то, что показывается у нас на портале (вдруг мы уже сделали перевод страницы) и отметить эту страницу как проверенную.
(Добавление)
Кароч давайте определяйтесь кто будет пилить этот парсер.
12. esterio - 09 Июля, 2015 - 16:25:05 - перейти к сообщению
окей чем тогда парсить HTML? варианты: регуляркы, phpQuery (давно не развиваеться, но того что есть хватает), DomDocument, sumplexml
13. DeepVarvar - 09 Июля, 2015 - 16:29:24 - перейти к сообщению
ДомДокумент + ДомХпатч конечно же.
14. esterio - 09 Июля, 2015 - 16:35:11 - перейти к сообщению
а такое
PHP:
скопировать код в буфер обмена
  1. $html = file_get_contents('http://example.com/');
  2. $doc = new DOMDocument();
  3. $doc->loadHTML($html);
  4. $sxml = simplexml_import_dom($doc);

в simplexml более простое API
15. and_07 - 09 Июля, 2015 - 16:40:08 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $html = file_get_contents($url);
  2. $doc = new DOMDocument();
  3. $doc->loadHTML($html);
  4. $xpath = new DOMXpath($doc);
  5.  
  6. $elements = $xpath->query("//table[@class='aws_data']/tr");



что быстрей

 

Powered by ExBB FM 1.0 RC1