fix: search engine reset

This commit is contained in:
2013-10-29 21:44:17 +01:00
parent 2661e933da
commit 46aa984c2a
3 changed files with 11 additions and 26 deletions

View File

@@ -375,7 +375,7 @@ class Databap extends PhpObject
$this->oMySql->insertRow(MySqlManager::CHAN_TABLE, array('safe_name'=>self::getChanSafeName(self::DEFAULT_CHAN), MySqlManager::getText(MySqlManager::CHAN_TABLE)=>self::DEFAULT_CHAN));
//Install default users : admin and test
$iAdminId = $this->addUser('francois', 'lutran', 'cgi', 'francois@lutran.fr', self::CLEARANCE_ADMIN);
$iAdminId = $this->addUser('françois', 'lutran', 'cgi', 'francois@lutran.fr', self::CLEARANCE_ADMIN);
$this->addUser('test', 'test', 'test', 'test@test.com');
//Write the SAP blog parser bash script to main folder
@@ -693,7 +693,7 @@ class Databap extends PhpObject
self::ART_TYPE=>MySqlManager::ART_TABLE,
self::DOC_TYPE=>MySqlManager::DOC_TABLE);
$this->oMySql->getArrayQuery("TRUNCATE ".MySqlManager::SEARCH_TABLE);
$this->oMySql->emptyTable(MySqlManager::SEARCH_TABLE);
foreach($asSearchTypes as $sSearchType=>$sSearchTable)
{
$asItemIds = $this->oMySql->selectRows(array('select'=>MySqlManager::getId($sSearchTable), 'from'=>$sSearchTable));
@@ -4168,6 +4168,12 @@ class MySqlManager extends PhpObject
$this->setQuery("DELETE FROM ".$sTable." WHERE ".$this->getId($sTableName)." = ".$iTableId);
}
}
public function emptyTable($sTableName)
{
$this->cleanSql($sTableName);
$this->setQuery("TRUNCATE ".$sTableName);
}
public function selectRows($asInfo, $bStringOnly=true, $sGroupBy='')
{
@@ -4523,12 +4529,12 @@ class ToolBox
return (preg_match('/^.{1}/us', $sText, $ar) == 1);
}
function mb_ucwords($sText)
public static function mb_ucwords($sText)
{
return mb_convert_case($sText, MB_CASE_TITLE, "UTF-8");
}
function file_get_contents_utf8($oFile)
public static function file_get_contents_utf8($oFile)
{
$sContent = file_get_contents($oFile);
return mb_convert_encoding($sContent, 'UTF-8', mb_detect_encoding($sContent, 'UTF-8, ISO-8859-1', true));

View File

@@ -71,7 +71,7 @@ class Feed extends PhpObject {
$sItems = implode("\n", array_map(array($this, 'buildItem'), $asSortedItems));
//Global Feed
$sFeed = '<?xml version="1.0" encoding="UTF-8" ?>';
$sFeed = '<?xml version="1.0" encoding="'.Settings::TEXT_ENC.'" ?>';
$sFeed .= self::getHtml(self::getHtml($sRssFeedHeader.$sItems, 'channel'), 'rss', '', '', array('version'=>'2.0', 'xmlns:atom'=>'http://www.w3.org/2005/Atom'));
return $sFeed;

View File

@@ -168,27 +168,6 @@ if($bUserOk && $sAction!=Databap::EXT_ACCESS)
$oMySqlInstall = new MySqlManager();
$sResult = $oMySqlInstall->getFullInstallQuery();
break;
case 'fix_encoding':
/**
* Procedure (from ISO-8859-1, aka Latin-1)
* - Re-encode all tables from database using utf8_encode()
* - Alter database and change database generation script in MySqlManager :
* - ALTER DATABASE databap CHARACTER SET utf8 COLLATE utf8_general_ci;
* - (ALTER TABLE tablename CHARACTER SET utf8 COLLATE utf8_general_ci;)
* - CREATE DATABASE `my_db` CHARACTER SET = utf8 COLLATE = utf8_general_ci;
* - (CREATE TABLE `my_table` ([TABLE spec]) CHARACTER SET = utf8 COLLATE = utf8_general_ci;)
* - Convert existing database :
* - mysqldump --default_character_set=latin1 -u root -p my_db > my_db.sql
* - iconv -f iso-8859-1 -t utf8 my_db.sql > my_db-utf8.sql
* - sed s/latin1/utf8/ < my_db-utf8.sql > my_db-utf8-final.sql
* - CREATE DATABASE `my_db` CHARACTER SET = utf8 COLLATE = utf8_general_ci;
* - mysql -u root -p my_db < my_db-utf8-final.sql
* - check http://webcollab.sourceforge.net/unicode.html
* - add mb_* function : sudo apt-get install php-mbstring --> check http://allseeing-i.com/How-to-setup-your-PHP-site-to-use-UTF8
* - replace strlen with ToolBox::strlen() --> check the so called mb_* functions
*/
$sResult = $oDatabap->fixEncoding();
break;
}
}
}