+6.49
Рейтинг
17.23
Сила

Минималистичный дизайн шаблона для персонального блога



На днях у меня появилась нужда создать свой персональный блог, на котором я бы мог публиковать свои мысли, проекты, дизайны, в общем всё то, чем я занимаюсь. После обдумывания идеи пришло время, выбирать движок, на котором, собственно и можно было бы реализовать мою задумку. В итоге выбор пал именно на LiveStreet. И вот тут появилась одна небольшая проблема…
Читать дальше →

Очистка textarea

В модальном окне при загрузке изображения есть кнопка «Загрузить»
<button onclick="ls.ajaxUploadImg('tab-upload-pc','topic_text');" class="button button-primary" type="submit">Загрузить</button>


Подскажите как очистить textarea
<textarea rows="20" class="mce-editor markitup-editor input-width-full markItUpEditor" id="topic_text" name="topic_text"></textarea>

по нажатию на «Загрузить».
Одним словом хочется очистки textarea, перед вставкой кода, нового изображения.
Может как — то можно, перехватить это событие?

Sphinx - ограничение на поиск более 100 страниц [РЕШЕНО]

Здравствуйте, сегодня столкнуся с проблемой, на сайте более 70 тыс топиков, настроил Сфинкс, все работает, отдает результаты поиска, НО
когда ввожу запрос на который выводится более 4000 результатов, пробую перейти на последнюю страницу сайт отдает ошибку


Системная ошибка, повторите позже

Вернуться назад, перейти на главную



Проблема любого запроса начинается с 101 страницы, на 100ой пагинация есть и результаты.

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

С помощью умельца 1099511627776 проблема была решена.

Спасибо вам 1099511627776 огромнейшее!

Отправитель письма при использовании sendmail

При отправки писем движком LiveStreet используя sendmail есть один нюанс, что отправителем письма (Return-Path) является какой-нибудь nobody@localhost или www-data@localhost или ещё что-то в подобном духе. (всё зависит от настроек сервера, но при виртуальном хостинге возможность исправить настройки сервера отсутствуют).

Изза чего письма могут оседать на некоторых спам фильтрах. или в некоторых webmailах или почтовых программах высвечиваться типа ваш@мейл On Behalf Of: nobody@localhost, что в принципе не кошерно.

Решение проблемы достаточно простое. (я думаю этот момент стоит внести в штатную сборку LiveStreet)

в файле engine/modules/mail/Mail.class.php

176 строка файла
в функции Init() находим
$this->oMailer->From=$this->sFrom;

и добавляем
$this->oMailer->Sender=$this->sFrom;


т.е. вот так выглядить функция после исправлений
	public function Init() {
		/**
		 * Настройки SMTP сервера для отправки писем
		 */
		$this->sHost     = Config::Get('sys.mail.smtp.host');
		$this->iPort     = Config::Get('sys.mail.smtp.port');
		$this->sUsername = Config::Get('sys.mail.smtp.user');
		$this->sPassword = Config::Get('sys.mail.smtp.password');
		$this->bSmtpAuth = Config::Get('sys.mail.smtp.auth');
		$this->sSmtpSecure = Config::Get('sys.mail.smtp.secure');
		/**
		 * Метод отправки почты
		 */
		$this->sMailerType=Config::Get('sys.mail.type');
		/**
		 * Кодировка писем
		 */
		$this->sCharSet=Config::Get('sys.mail.charset');
		/**
		 * Мыло от кого отправляется вся почта
		 */
		$this->sFrom=Config::Get('sys.mail.from_email');
		/**
		 * Имя от кого отправляется вся почта
		 */
		$this->sFromName=Config::Get('sys.mail.from_name');

		/**
		 * Создаём объект phpMailer и устанвливаем ему необходимые настройки
		 */
		$this->oMailer = new phpmailer();
		$this->oMailer->Host=$this->sHost;
		$this->oMailer->Port=$this->iPort;
		$this->oMailer->Username=$this->sUsername;
		$this->oMailer->Password=$this->sPassword;
		$this->oMailer->SMTPAuth=$this->bSmtpAuth;
		$this->oMailer->SMTPSecure=$this->sSmtpSecure;
		$this->oMailer->Mailer=$this->sMailerType;
		$this->oMailer->WordWrap=$this->iWordWrap;
		$this->oMailer->CharSet=$this->sCharSet;

		$this->oMailer->From=$this->sFrom;
		$this->oMailer->Sender=$this->sFrom; // 176 строка. фиксит return-path
		$this->oMailer->FromName=$this->sFromName;
	}

Ошибки дизайна для ИЕ

Сегодня обратился пользователь с просьбой решить проблему, когда пользователи ИЕ видят не совсем корректную верстку на сайте. Причем вопрос касался сразу нескольких плагинов, которые давно проверены в работе и ясно что проблема не в них. Открыв исходный код страницы я увидел простыню загрузки CSS файлов.

Читать дальше →

Самое узкое место в ЛС - увеличение производительности

Ища пути ускорения движка я постоянно спотыкаюсь об класс конфига (/engine/lib/internal/ConfigSimple/Config.class.php), а именно — меня беспокоит авто замена ключей в конфиге. Такой код мы можем найти в дистрибутиве:

static public function KeyReplace($cfg,$sInstance=self::DEFAULT_CONFIG_INSTANCE) {
  if(is_array($cfg)) {
    foreach($cfg as $k=>$v) {
      $k_replaced = self::KeyReplace($k, $sInstance);
      if($k==$k_replaced) {
        $cfg[$k] = self::KeyReplace($v,$sInstance);
      } else {
        $cfg[$k_replaced] = self::KeyReplace($v,$sInstance);
        unset($cfg[$k]);
      }
    }
  } else {
    if(preg_match('~___([\S|\.|]+)___~Ui',$cfg))
      $cfg = preg_replace_callback(
        '~___([\S|\.]+)___~Ui',
        create_function('$value','return Config::Get($value[1],"'.$sInstance.'");'),
        $cfg
      );
  }
  return $cfg;
}


Читать дальше →

Чего я хочу для LiveStreet или HighLoad играет значение

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

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

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

Redis(а может и Node.js)
Первое изменение которой я бы сделал в своем проекте — использовал Redis для хранения событий пользователей. Использование MySQL для таких вещей не самоубийсво, но все таки очень тормознутое решение нежели Redis, для которой шустрость второе имя. Ко всему прочему можно добавить возможность publish/subscribe, позволяющая в купе с node.js выводить уведомления такие же как в Вконтакте. Размышляя в этом направлении можно расширить границы использования этой БД. Для осуществления работы можно использовать библиотеку Rediska, разработанную с подачи нашего соотечественника.

Тем кто заинтересовался темой будет уютнее почитать подробности тут, чем читать обрывки вырезанных из текста абзацев — Redis.

MongoDB
Данных у нас много и все они хранятся в реляционной базе данных. Что если нам координально изменить парадигму хранения данных и использовать MongoDB. Выиграем мы и в скорости запросов и в скорости работы с данными продолжая использовать ORM, потому как в MongoDB оно организованно на уровне C++, а не эмулируются как сделанно в данный момент в LiveStreet. Но за это разработчикам стоит сказать отдельное спасибо, т.к это было действительно ценное решение ускоряющее разработку.

Подробности в виде презентации — Mongodb.

PS
Я просто показываю вам что вы можете сделать со своим LiveStreet и какой космос открыт перед вами :)

Если вы в этом шарите думаю все будут только рады перенять ваш опыт :)

Слежение за комментами: необходимое. Бета.

Я вот начал вновь активно участвовать в жизни сообщества LS и понял, что просто уже не представляю себе жизни без "слежения за комментами" — достало меня путешествовать по почтовым сообщениям и топикам, про которые уже и не помню…
Читать дальше →