Юзерпики в «Эгее»
Во второй раз занимаюсь разовой конвертацией блогов в формат «Эгеи», надо бы записать кое-какие вещи, а то забывается. Авось придётся в третий, опять придётся разбираться.
В основном обращаться приходится к трём таблицам, имеющим довольно говорящие названия: Notes — сами заметки, Comments — комментарии к ним (там же хранятся и авторы комментариев, единого профиля у них нет) и Aliases — адреса, по которым доступны страницы (в моей схеме в этой таблице нет поля Alias, куда и записывается сам адрес).
Назначения полей, в основном, понятны из названий, кроме разве что поля Stamp — это временная метка создания чего либо в секундах (timestamp) и поля с префиксом GIP, об этом чуть ниже.
Если вам интересны метки (теги), то понадобятся ещё две таблицы: Keywords — где хранится русское название метки и её урл и NotesKeywords, таблица, связывающая метки и заметки.
Теперь про GIP. Если флаг IsGIPUsed в таблице Comments установлен в ноль, то это прежняя схема хранения автора комментарий — без юзерпика, чтобы юзерпик появился, надо выставить IsGIPUsed в единицу, в поле GIP записать сервис, через который была проведена аутентификация (facebook, vk или twitter), а в GIPAuthorID записать некий идентификатор пользователя во внешнем сервисе.
Юзерпик нужно положить в pictures/avatar/ с именем, составленным из полей GIP и GIPAuthorID, записанных через дефисоминус. Например: vk-1.jpg — это был бы юзерпик Дурова, создателя «Вконтакте», если бы он зачем-то зашёл хоть на одну «Эгею».
Тут есть одна интересная деталь. Дело в том, что у меня в блоге, когда он ещё работал на самописном движке, уже были юзерпики, были они и у Олега Петровича, блог которого я переносил сегодня ночью. Причём и у меня, и у Олега авторизация была своя собственная, не обязательно через те сервисы, которые поддерживает «Эгея». Как же мне удалось перенести юзерпики?
«Эгея» в этом месте имеет простой механизм расширений — в принципе в неё несложно добавить любой внешний механизм аутентификации, что я и сделал. Подобрал в папке system/theme/images/, где движок ищет картинки внешних сервисов, подходящую картинку (email.svg) и написал фейковый плагин для сервиса email, который положил в файл system/gips/email.php:
<?php
class E2GIPEmail extends E2GIP {
protected $type = 'email';
private function _get_instance() {
return (object) [];
}
public function get_auth_url() {
return '';
}
public static function get_profile_url($id, $link) {
return false;
}
public function callback() {
return true;
}
}
Файл плагина (и его тип) должны называться так же как и выбранная картинка — email и в базе его пользователи записываются с тем же значением поля GIP. В итоге, все свои старые комментарии я положил, как принадлежащие сервису email, а в качестве GIPAuthorID (это строка) взял хеш-сумму от сериализованной информации о пользователе.
Добавлено позднее: невероятно, но факт, оказалось, что GIP-плагины можно класть ещё и в users/gips/, что гораздо удобнее, так как в этой папке он не перетрётся при обновлении «Эгеи».
Евгений, привет. Подскажите, как настроить шрифты и фон в Эгее как на вашем блоге?
В стандартной теме они мелкие. В «Акуте» — цвет иной. Я так понимаю, где то в коде нужно что-то изменить? Может подскажете?
Я просто создал свою тему (скопировал какую-то, они все лежат в themes/) и определил в ней свои стили.
Странный ник вышел. Что за ерунда:))
Поправил. Это у вас не в первый раз, один такой коммент я удалил уже.
Что ж, ответ вы дали, но понятнее не стало.
(не в вашу сторону реплика, а мысли по поводу).
Скажем так, Эгея понравилась своей простотой, однако под капотом и в настройках возникают сложности (как настроить, как что то прикрутить, что то добавить). Иногда видишь реализованные решения у блогеров на Эгее. Иногда эти люди пишут посты, как и что они делали.
К сожалению, нет комьюнити (ну, форум там какой, нет развернутой документации (Бирман, привет!).
У вас один из отличнейших блогов (текста и стиль оформления), поэтому и решил спросить. Так как познаний для решения некоторых вопросов пока еще не хватает.
Ну смотрите.
1) идёте в themes, берёте любую схему, которая вам больше подходит и копируете её папку в любую другую, например, в папку «egor»;
2) внутри редактируете theme-info.php, меняете «index», скажем на «0», в «display_name» прописывате имя своей темы на разных языках — «egor/егор»;
3) в styles/main.css вставляете нужные вам стили;
4) в настройках «Эгеи» (шестерня справа вверху) выбираете свою новую схему.
Направление куда думать, понял. Спасибо за то, что уделили время. И хороших постов вам!
Евгений, скажите пожалуйста, можно ли на Эгее сделать статическую страницу, что бы она всегда появлялась первой при старте Эгеи.
Валерий.
Это вы лучше к автору движка обратитесь. На Эгее, думаю, нет, можете просто сверстать HTML, сделать его индексным, а с него уже ссылку на Эгею сделать.
Евгений, я спросил Вас, прочитав Ваш ответ Егору. Эгея притягательна не только для знатоков PHP, но и для простых юзеров. Я пишу книгу и для содержания нужна статическая страница. Индексный HTML файл в корне папки Эгея не видит. Пойду спрашивать Бирмана. Жаль, что по Эгее нет форума, как это было на заре русского Вордпресса.
С уважением, Валерий.
Форума нет, есть чат в «телеграме»: https://t.me/aegea_community