+63.93
Рейтинг
174.95
Сила

Владимир

  • avatar Loci
  • 0
Отлично всё работает, спасибо xyz =)

И так, у меня установлен плагин Blogs Autoconnect Plugin, и чтоб его заставить выводить список блогов по алфавиту, надо отредактировать Autoconnect.mapper.class.php

Топаем в /plugins/autoconnect/classes/modules/autoconnect/mapper/Autoconnect.mapper.class.php 37строка

Находим код

		$sql = "SELECT
					b.blog_id
					FROM
						".Config::Get('db.table.blog')." as b
					WHERE
						(b.user_owner_id = ? AND b.blog_type <> 'personal')
						OR
							(b.blog_type = 'open' 
							AND 
							b.user_owner_id <> ?
							AND 
							b.blog_limit_rating_topic <= ?
							)
						OR
							(b.blog_type = 'close' 
							AND 
							b.blog_id IN (SELECT bu.blog_id FROM ".Config::Get('db.table.blog_user')." AS bu WHERE bu.user_id = ? AND bu.user_role IN (?a))
							AND 
							b.blog_limit_rating_topic <= ?
							)
					";


И в конце добавляем ORDER by b.blog_title asc

		$sql = "SELECT
					b.blog_id
					FROM
						".Config::Get('db.table.blog')." as b
					WHERE
						(b.user_owner_id = ? AND b.blog_type <> 'personal')
						OR
							(b.blog_type = 'open' 
							AND 
							b.user_owner_id <> ?
							AND 
							b.blog_limit_rating_topic <= ?
							)
						OR
							(b.blog_type = 'close' 
							AND 
							b.blog_id IN (SELECT bu.blog_id FROM ".Config::Get('db.table.blog_user')." AS bu WHERE bu.user_id = ? AND bu.user_role IN (?a))
							AND 
							b.blog_limit_rating_topic <= ?
							)
							ORDER by b.blog_title asc
					";


Всё. Сортировка по алфавиту готова.
PS. Для админа сортировка не работает. Я не стал париться. Но решение есть тут
  • avatar ort
  • 0
2) нужно проверить, что содержит переменная $sFileClass

3) в экшене сделать
$this->Viewer_Assign('sTemplatePathPlugin',rtrim(Plugin::GetTemplatePath(__CLASS__),'/'));
далее в шаблоне
{include file="$sTemplatePathPlugin/name.tpl"}
  • avatar ort
  • 2
Проблема в не целостности базы, возможно она была MyISAM.
Конвертировать текущую 0.3.1 БД в нормальный целостный вид можно этим скриптом. Далее уже получившуюся БД конвертировать в 0.4.
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
set_time_limit(0);


$conn1 = mysql_connect("localhost", "root", "");
$conn2 = mysql_connect("localhost", "root", "",true);

if (!$conn1) {
    echo "Unable to connect to DB: " . mysql_error();
    exit;
}
  
if (!mysql_select_db("livestreet03",$conn1)) {
    echo "Unable to select mydbname: " . mysql_error();
    exit;
}
if (!mysql_select_db("livestreet03new",$conn2)) {
    echo "Unable to select mydbname: " . mysql_error();
    exit;
}
mysql_query("set character_set_client='utf8'",$conn1);
mysql_query("set character_set_results='utf8'",$conn1);
mysql_query("set collation_connection='utf8_bin'",$conn1);
mysql_query("set character_set_client='utf8'",$conn2);
mysql_query("set character_set_results='utf8'",$conn2);
mysql_query("set collation_connection='utf8_bin'",$conn2);


function buildInsertSql($sTable,$aRow)  {
	$sql='INSERT INTO '.$sTable.' SET ';
	foreach ($aRow as $key => $value) {
		if (!is_null($value)) {
			$value="'".mysql_escape_string($value)."'";
		} else {
			$value='NULL';
		}
		$sql.=' '.$key."=".$value.",";
	}
	return trim($sql,',');
}

function exportTable($sTable) {
	global $conn1;
	global $conn2;
	
	$iAll=0;
	$iExp=0;
		
	$res = mysql_query("SELECT * FROM {$sTable}",$conn1);
	if ($res) {
		while ($row = mysql_fetch_assoc($res)) {
			if (@mysql_query(buildInsertSql($sTable,$row),$conn2)) {
				$iExp++;
			}
		}
		$iAll=mysql_num_rows($res);
		mysql_free_result($res);
	}
	echo "Export {$sTable}: {$iExp} from {$iAll}\n";
}


//пользователи
exportTable('prefix_user');
exportTable('prefix_user_administrator');
exportTable('prefix_user_vote');

//блоги
exportTable('prefix_blog');
exportTable('prefix_blog_user');
exportTable('prefix_blog_vote');

//топики
exportTable('prefix_topic');
exportTable('prefix_topic_vote');
exportTable('prefix_topic_tag');
exportTable('prefix_topic_read');
exportTable('prefix_topic_question_vote');
exportTable('prefix_topic_content');
exportTable('prefix_topic_comment');
exportTable('prefix_topic_comment_vote');
exportTable('prefix_topic_comment_online');

//почта
exportTable('prefix_talk');
exportTable('prefix_talk_comment');
exportTable('prefix_talk_user');

//география
exportTable('prefix_city');
exportTable('prefix_city_user');
exportTable('prefix_country');
exportTable('prefix_country_user');

//остальное
exportTable('prefix_reminder');
exportTable('prefix_page');
exportTable('prefix_invite');
exportTable('prefix_friend');
exportTable('prefix_favourite_topic');

?>
  • avatar MOTOP
  • 2
Почитал топик и комментарии… У меня история очень похожая и проблемы те же самые.
Немного информации: сайту чуть меньше года, регион — Казахстан, тематика общая, зарегистрировано немногим более 500 человек.

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

Дополнительные модули работают очень слабо, если точнее, то Афиша вообще не работает, я так и не смог заставить/привлечь арт-директоров заведений оставлять анонсы, а самим юзерам это не надо.
Галерея почти не работает, очень редко там кто-то что-то размещает и еще реже комментирует.
Микроблоги боле-менее работают.

Блогость есть, социальности пока мало. Уверен, что сообща мы сможем найти какое-то решение проблемы. Уверен, что многое зависит от функциональности. Первое, что буду делать после перехода на 0,4 — подключать авторизацию/регистрацию через openID и прикручу кнопочки публикации в твиттере, фейсбуке, вконтакте. Правда в том, что надо не убегать от социальных монстров, а их использовать.

Функционал дружбы и профилей наверное нужно как-то расширять. Давайте делится идеями!!!
  • avatar avadim
  • 1
В первых строках php ругается на то, что используемые функции устарели...
Не-а, не сами ф-ции устарели, а устарел синтаксис вовзврата значения по ссылке. Т.к. в PHP5 объекты всегда передаются по ссылке (в т.ч. и в возврате функций), то правильней будет просто убрать & из такой конструкции:
$object =& new $class(...);
  • avatar ort
  • 6
3 варианта решения проблемы:
1. отключить в feedburner добавления параметров
2. добавить в RSS ленту слеш после "/123.html", т.е. должно быть "/123.html/"
3. в ActionBlog изменить регулярное выражение
$this->AddEventPreg('/^(\d+)\.html$/i','EventShowTopicPersonal');
$this->AddEventPreg('/^[\w\-\_]+$/i','/^(\d+)\.html$/i','EventShowTopic');
на
$this->AddEventPreg('/^(\d+)\.html(\?.*)?$/i','EventShowTopicPersonal');
$this->AddEventPreg('/^[\w\-\_]+$/i','/^(\d+)\.html(\?.*)?$/i','EventShowTopic');

  • avatar ort
  • 1
скорее всего на хостинге стоит PHP 5.3
можно либо отключить вывод этих предупреждений, либо в этих файлах заменить
=& new
на
= new
  • avatar it_
  • 0
1)http://learn.iis.net/page.aspx/460/using-url-rewrite-module/ качаем ставим
2)http://learn.iis.net/page.aspx/557/translating-htaccess-content-to-iis-webconfig/
3)пишем свой рул так как путем learn.iis.net/page.aspx/470/importing-apache-modrewrite-rules/
импорта работать не будет

4) не забываем про define('SYS_OFFSET_REQUEST_URL',1);
и про права для папока в системе

5) получаем долгожданный web.config


<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
  <rules>
    <rule name="Imported Rule 1" stopProcessing="true">
      <match url="^(.*)$" ignoreCase="false" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^arkanar\.org$" />
      </conditions>
      <action type="Redirect" redirectType="Permanent" url="http://www.arkanar.org/{R:1}" />
    </rule>
    <rule name="Imported Rule 2" stopProcessing="true">
      <match url="^(.*)$" ignoreCase="false" />
      <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
      </conditions>
      <action type="Rewrite" url="index.php/{R:1}" appendQueryString="true" />
    </rule>
  </rules>
</rewrite>
</system.webServer>
</configuration>


И будет счастье!