Отличная новость, завтра буду брать. 1d10t, а насчет рисовалки про которую я тебе говорил в ЛС mrdoob.com/projects/harmony может сможешь нормально прикрутить в качестве бонуса:) За XText спасибо огромное.
шаги по конвертации:
1. создаем чистую БД 0.3 типа InnoDB
2. настраиваем скрипт и запускаем конвертацию из старой БД 0.3
3. при установке 0.4 указываем конвертировать новую БД 0.3 в 0.4
Проблема в не целостности базы, возможно она была 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');
?>
более простой способ… engine/modules/text/Text.class.php
public function Parser($sText) {
if (Config::Get('view.tinymce')) {
$this->oJevix->cfgSetAutoBrMode(!preg_match('/^<p>(.+)<\/p>$/isu', $sText));
}
если включен tiny и текст начинается и заканчивается абзацем, которые ставит tiny, значит вырубаем растоновку переносов :D но правильность работы нада тестить
С ОС и браузерами там вроде просто. Добавил несколько новых отчетов — Браузеры, ОС, источники трафика, рефераллы, время на сайте.
В конфиг.пхп нужно добавить после $cityCSV=«city.csv»; это
//////Длительность пребывания на сайте для всех посетителей
$ga->requestReportData($id,array('day','month'),array('timeOnSite','visits'),'month',null,$date1MonthStart, $date1MonthFinish,1,30);
//переменная для записи резалта
$output="";
//получаем и обрабатываем результаты
foreach($ga->getResults() as $result)
{
$d=$result; //день
$visits=$result->getVisits(); //посетители
$timeOnSite=$result->getTimeOnSite(); //посещения
$timeOnSite=$timeOnSite/$visits;
$timeOnSite=round($timeOnSite);
#$timeOnSite=date ("i:s", $timeOnSite);
//приводим дату к удобочитаемому виду ,мменяем пробелы на точки
$d=str_replace(" ",".",$d);
//формируем строку
$output.=$d.";".$timeOnSite."\n";
}
//пишем в файл
$fp=fopen($path.$timeOnSiteCSV,"w");
fputs($fp,trim($output));
fclose($fp);
//////получаем БРАУЗЕРЫ за последний месяц
$ga->requestReportData($id,array('browser'),array('visits'),'-visits',null,$date1MonthStart, $date1MonthFinish,1,5);
//переменная для записи резалта
$output="";
//получаем общее число браузеров
$total_visits=$ga->getVisits();
//получаем и обрабатываем результаты
foreach($ga->getResults() as $result)
{
$browser=$result->getBrowser(); //Браузеры
$visits=$result->getVisits(); //кол-во посещений
//формируем строку
$output.=$browser.";".$visits."\n";
}
//пишем в файл
$fp=fopen($path.$browsersCSV,"w");
fputs($fp,trim($output));
fclose($fp);
//////получаем Операционные системы за последний месяц
$ga->requestReportData($id,array('operatingSystem'),array('visits'),'-visits',null,$date1MonthStart, $date1MonthFinish,1,4);
//переменная для записи резалта
$output="";
//получаем общее число браузеров
$total_visits=$ga->getVisits();
//получаем и обрабатываем результаты
foreach($ga->getResults() as $result)
{
$operatingsystem=$result->getOperatingSystem(); //Браузеры
$visits=$result->getVisits(); //кол-во посещений
$operatingsystem=str_replace("(not set)","не определено",$operatingsystem);
//формируем строку
$output.=$operatingsystem.";".$visits."\n";
}
//пишем в файл
$fp=fopen($path.$operatingsystemCSV,"w");
fputs($fp,trim($output));
fclose($fp);
//////получаем Источники трафика системы за последний месяц
$ga->requestReportData($id,array('medium'),array('visits'),'-visits',null,$date1MonthStart, $date1MonthFinish,1,6);
//переменная для записи резалта
$output="";
//получаем общее число браузеров
$total_visits=$ga->getVisits();
//получаем и обрабатываем результаты
foreach($ga->getResults() as $result)
{
$medium=$result->getMedium(); //Источники трафика
$visits=$result->getVisits(); //кол-во посещений
$medium=str_replace("(none)","Прямой трафик",$medium);
$medium=str_replace("organic","Поисковые системы",$medium);
$medium=str_replace("referral","Сайты - источники переходов",$medium);
//формируем строку
$output.=$medium.";".$visits."\n";
}
//пишем в файл
$fp=fopen($path.$referrersCSV,"w");
fputs($fp,trim($output));
fclose($fp);
//////получаем сайты с которых ходили
$ga->requestReportData($id,array('source'),array('visits'),'-visits',null,$date1MonthStart, $date1MonthFinish,1,8);
//переменная для записи резалта
$output="";
//получаем общее число браузеров
$total_visits=$ga->getVisits();
//получаем и обрабатываем результаты
foreach($ga->getResults() as $result)
{
$source=$result->getSource(); //Источники трафика
$visits=$result->getVisits(); //кол-во посещений
$source=str_replace("(direct)","Прямой трафик",$source);
//формируем строку
$output.=$source.";".$visits."\n";
}
//пишем в файл
$fp=fopen($path.$sourceCSV,"w");
fputs($fp,trim($output));
fclose($fp);
в /temlpate/skin/new/comment.tpl меняем строки 35-37
{if $oComment->edit or ($oUserCurrent and $oUserCurrent->isAdministrator())}
<li><a href="javascript:lsCmtTree.commentEdit({$oComment->getId()});" class="reply-link">{$aLang.comment_edit}</a></li>
{if $oComment->edit or ($oUserCurrent and $oUserCurrent->isAdministrator())}
{/if}
не нужно сочинять
нет проверки ни на IP, ни на браузер. Просто при авторизации(ввод логина и пароля) ключ сессии перегенерируется и соответственно на прошлом компьютере он перестает работать.
Есть два варианта:
1. посмотреть ключ на одном компе и прописать его на другом, тогда не будет просить авторизацию в течении недели
2. заменить в User.class.php
пока можно с ftp: ls.ajaxy.ru/_download/Plugin_Ls-Cmtedit-1.5.zip
2. Фб — www.facebook.com/developers/createapp.php
3. Twitter — dev.twitter.com/apps/new
регистрируете, получаете нужные значения, вставляете в конфиге плагина, активируете плагин.Фб у многих не работает.
надо просто в конфиге записать доменное имя в виде punycode
типа xn--80aaepkcu7d3a0g.xn--p1ai == живаяулица.рф
и в конце нужно вручную изменить разрешение в таблицах для изображений, расширение которых — не JPG. или перезалить аватарки.
fix trac.lsdev.ru/livestreet/changeset/952
Шаблон классный, легко будет под себя настроить.
1. создаем чистую БД 0.3 типа InnoDB
2. настраиваем скрипт и запускаем конвертацию из старой БД 0.3
3. при установке 0.4 указываем конвертировать новую БД 0.3 в 0.4
такие действия были?
Конвертировать текущую 0.3.1 БД в нормальный целостный вид можно этим скриптом. Далее уже получившуюся БД конвертировать в 0.4.
хуже не будет :D
engine/modules/text/Text.class.php
если включен tiny и текст начинается и заканчивается абзацем, которые ставит tiny, значит вырубаем растоновку переносов :D но правильность работы нада тестить
В конфиг.пхп нужно добавить после $cityCSV=«city.csv»; это
в stat.php добавляем следующие строки
на
Например, добавлять к адресу серверного скрипта:
url+'?security_ls_key='+LIVESTREET_SECURITY_KEY
define('SYS_COOKIE_HOST','.mysite.ru'); // хост для установки куков. Обязательно с точкой.
нет проверки ни на IP, ни на браузер. Просто при авторизации(ввод логина и пароля) ключ сессии перегенерируется и соответственно на прошлом компьютере он перестает работать.
Есть два варианта:
1. посмотреть ключ на одном компе и прописать его на другом, тогда не будет просить авторизацию в течении недели
2. заменить в User.class.php на
или так
Работать будет как первый так и второй вариант. За второй вариант спасибо DevTeam.
Всем спасибо)