+11.29
Рейтинг
67.40
Сила

Ден ♒

  • avatar Gmugra
  • 0
На комментарии настройки MySQL ещё очень сильно влияют. добавление комментария и голосование за оный можно ускорить в разы парой опций:
innodb-flush-log-at-trx-commit	= 2
innodb_locks_unsafe_for_binlog	= ON

Но, хорошо разберитесь какие риски они привносят.
Во, это уже интересно.

А можно чуть разжевать? Правильно ли я понимаю, что я должен сделать примерно так:
$config['module']['notify']['delayed'] = true;
$config['module']['notify']['insert_single'] = true;
А дальше нужно добавить в cron выполнение этого скрипта:
/include/cron/notify.php
Больше ничего делать не нужно?
Можно запилить в шаблон код:

{assign var="aTopics" value=$LS->Topic_GetTopicsByBlogId(BLOG_ID, 1, 20, array ('blog'), false)}
{assign var="aTopics" value=$aTopics.collection}
{foreach from=$aTopics item=oTopic}
<a href="{$oTopic->getUrl()}">{$oTopic->getTitle()|escape:'html'}</a>
{/foreach}


BLOG_ID заменить на id нужного блога. В данном примере будут выводиться 20 последних топиков.
  • avatar PSNet
  • 0
немного ошибся, вот так верно:
{assign var="aTopics" value=$LS->Topic_GetTopicsByBlogId(__BLOG_ID__, 1, 10, array ('blog'), false)}
{assign var="aTopics" value=$aTopics.collection}
{foreach from=$aTopics item=oTopic}
    <a href="{$oTopic->getUrl()}">{$oTopic->getTitle()|escape:'html'}</a>
{/foreach}
  • avatar ewden
  • 0
Мусклдампом вредно бекапить. Он блокирует таблицы. Лучше например хотя-бы xtrabackup.
А вообще, по человечески, так бакулу юзаем.
  • avatar rsmike
  • 0
смонтирован dropbox, по крону туда тарится mysqldump и копия сайта без uploads.
  • avatar kpoxas
  • 0
Давно использую вот такой bash скрипт.
Для бэкапа файлов можно раскомментировать соответствующую строчку.
Также пути к некоторым командам типа find могут отличаться в разных системах.
#!/bin/bash

MyUSER="user"       # USERNAME
MyPASS="password"   # PASSWORD
MyHOST="127.0.0.1"  # Hostname
DBName="dbname"     # Dbname

DEST="/..../backups"

# заносим в переменную DATE текущую дату
DATE=`/bin/date '+%Y.%m.%d'`

FILE="$DEST/$DBName"_"$DATE.sql.gz"

# оптимизация
mysqlcheck -u $MyUSER -p$MyPASS --auto-repair --check --optimize --all-databases >/dev/null 2>&1

# сохраняем дамп mysql
mysqldump -u $MyUSER -h $MyHOST -p$MyPASS $DBName | gzip -9 > $FILE

# архивируем все каталоги, кроме тех, в которых находится файл .noarchive
# /bin/tar -zcf PATH-TO-DIR-BACKUP/$DATE.backup.tar.gz --exclude-tag=.noarchive ./

# удаляем архивы, которым уже больше семи дней
/usr/bin/find $DEST -type f -name *.gz -atime +7 -exec rm -f \{\} \; >/dev/null 2>&1
  • avatar Gmugra
  • 1
Во Вконтакте всё есть. Там просто надо связаться с поддержкой и попросить их зарегистрировать RSS. Но у них есть условия: должно быть не менее 10 подписчиков в группе и должен быть любой их виджет прикручен к сайту. Причём их поддержка реагирует довольно быстро, мы обменялись тройкой сообщений и решили вопрос за два дня. Плюс там же у них есть возможность перепоста в Twitter, правда при этом они подсовывают собственный url shorter.
Ребята я вот чего не могу понять… зачем велосипеды… когда есть тот же time2post.ru/.
Когда ЖЖ прекрасно тянет RSS? И вообще через rss работают почти все агрегаторы и социалки… кто нибудь может мне дать внятный ответ?
  • avatar Shrike
  • 0
Для 1с готовый вариант для встраивания здесь и в Яндексе API он тоже есть
  • avatar vdenu
  • 0
На самом деле не совсем уникальное решение, нужно поискать библиотеки в сети. Вот на вскидку люди такое решали b.dmpas.ru/?p=109, а ещё лучше тут www.javenue.info/post/74
Я не силен в теории научными словами, поэтому опишу теми что знаю :)

Сущность представляет из себя геттеры и сеттеры, позволяющий обращаться с данными как с объектом. Она облегчает задачу тем что при выборке из базы данных посредством обращения к Engine::GetEntity('topic',$aRows) мы можем передать ей массив $aRows в котором определены данные в виде поле таблицы -> значение(обычная выборка, как и должно быть) и данные попадут в массив _aData, и в дальнейшем будут доступны через определенные нами геттеры.
Так же бывают случаи что нам необходимо записать данные в сущность(как в вашем варианте), для этого мы определяем сеттеры.

Сущности необходимы для облегчения работы с данными и наглядного отображения содержимого таблиц.

Создаем сущность со своими значениям —
github.com/livestreet/livestreet/blob/master/classes/actions/ActionTopic.class.php#L237

Передаем сущность в мэппер где данные снова извлекаются — github.com/livestreet/livestreet/blob/master/classes/modules/topic/mapper/Topic.mapper.class.php#L20

Выборка в мэппере после которой мы получим сущность с данными — github.com/livestreet/livestreet/blob/master/classes/modules/topic/mapper/Topic.mapper.class.php#L759
  • avatar Loci
  • 0
менять в /classes/modules/topic/Topic.class.php ~465 строка

Было:
/**
	 * Получает список хороших топиков для вывода на главную страницу(из всех блогов, как коллективных так и персональных)
	 *
	 * @param  int    $iPage
	 * @param  int    $iPerPage
	 * @param  bool   $bAddAccessible Указывает на необходимость добавить в выдачу топики, 
	 *                                из блогов доступных пользователю. При указании false,
	 *                                в выдачу будут переданы только топики из общедоступных блогов.	 
	 * @return array
	 */
	public function GetTopicsGood($iPage,$iPerPage,$bAddAccessible=true) {
		$aFilter=array(
			'blog_type' => array(
				'personal',
				'open'
			),
			'topic_publish' => 1,
			'topic_rating'  => array(
				'value' => Config::Get('module.blog.index_good'),
				'type'  => 'top',
				'publish_index'  => 1,
			)
		);	


Стало (удаляем 'personal')
public function GetTopicsGood($iPage,$iPerPage,$bAddAccessible=true) {
		$aFilter=array(
			'blog_type' => array(
				'open',
			),


Ну и естественно, если нужно сделать наоборот, тоесть, чтоб выводились только «персональные», а «коллективных» небыло, то 'personal' оставляем, а 'open' удаляем.