magic box: v1.0
This commit is contained in:
101
inc/databap.php
101
inc/databap.php
@@ -112,6 +112,8 @@ class Databap extends PhpObject
|
||||
'article'=>self::MESSAGE_ARTICLE,
|
||||
'news'=>self::MESSAGE_NEWS);
|
||||
const DEFAULT_COMPANY_LOGO = 'logo_unknown_24.png';
|
||||
const ADMIN_COMPANY_LOGO = 'logo_planeum_24.png';
|
||||
const SYSTEM_COMPANY_LOGO = 'logo_ovh_24.png';
|
||||
const ALL_CHAN_ID = 1;
|
||||
const ALL_CHAN_TEXT = 'A.l.l_C.h.a.n_I.n.c.l.u.d.e.d';
|
||||
const DEFAULT_CHAN_ID = 2;
|
||||
@@ -388,13 +390,15 @@ class Databap extends PhpObject
|
||||
$this->oMySql->insertRow(self::CHAN_TABLE, array('safe_name'=>self::getChanSafeName(self::DEFAULT_CHAN), MySqlManager::getText(self::CHAN_TABLE)=>self::DEFAULT_CHAN));
|
||||
|
||||
//Install default users : system, admin and test
|
||||
$iSystemId = $this->addUser('databap', 'bot', 'ovh', 'databap@botnet.com', self::CLEARANCE_ADMIN, self::SYSTEM_USER_ID);
|
||||
$this->setOptions(array(self::OPT_NICKNAME=>'Databot'), true, $iSystemId);
|
||||
$this->addUser('françois', 'lutran', 'planeum', 'francois@lutran.fr', self::CLEARANCE_ADMIN);
|
||||
$this->addUser('test', 'test', 'test', 'test@test.com');
|
||||
$iSystemCompanyId = $this->addCompany('ovh', self::SYSTEM_COMPANY_LOGO, false);
|
||||
$this->addUser('databap', 'bot', $iSystemCompanyId, 'databap@botnet.com', self::CLEARANCE_ADMIN, self::SYSTEM_USER_ID, false);
|
||||
$this->setOptions(array(self::OPT_NICKNAME=>'Databot'), true, self::SYSTEM_USER_ID);
|
||||
$iAdminCompanyId = $this->addCompany('planeum', self::ADMIN_COMPANY_LOGO, false);
|
||||
$this->addUser('françois', 'lutran', $iAdminCompanyId, 'francois@lutran.fr', self::CLEARANCE_ADMIN, 0, false);
|
||||
$this->addUser('test', 'test', $iAdminCompanyId, 'test@test.com', self::CLEARANCE_MEMBER, 0, false);
|
||||
|
||||
//Write the SAP blog parser bash script to main folder
|
||||
@file_put_contents('sap_website_parser.sh', "#!/bin/bash\n\ncd /var/www\n\n/usr/bin/php -f index.php a=external_access p=blogs auth_token=".$iSystemId.'_'.str_replace('$', '\$', $this->generateExternalAccessToken($iSystemId)));
|
||||
@file_put_contents('sap_website_parser.sh', "#!/bin/bash\n\ncd /var/www\n\n/usr/bin/php -f index.php a=external_access p=blogs auth_token=".self::SYSTEM_USER_ID.'_'.str_replace('$', '\$', $this->generateExternalAccessToken(self::SYSTEM_USER_ID)));
|
||||
}
|
||||
|
||||
public function goLive()
|
||||
@@ -470,6 +474,7 @@ class Databap extends PhpObject
|
||||
public function getLogonPage($bFirstConn)
|
||||
{
|
||||
$oPage = new Mask('logon');
|
||||
$oPage->setTag('text_enc', Settings::TEXT_ENC);
|
||||
$oPage->setTag('feedback', $bFirstConn?'':'Données incorrectes');
|
||||
$oPage->setTag('version', self::VERSION);
|
||||
$oPage->setTag('name_pass_sep', self::NAME_PASS_SEP);
|
||||
@@ -762,34 +767,68 @@ class Databap extends PhpObject
|
||||
return $oNote->getNote();
|
||||
}
|
||||
|
||||
public function addUser($sFirstName, $sLastName, $sCompany, $sEmail='', $iClearance=self::CLEARANCE_MEMBER, $iUserId=0)
|
||||
public function addUser($sFirstName, $sLastName, $iCompanyId, $sEmail='', $iClearance=self::CLEARANCE_MEMBER, $iUserId=0, $bExt=true)
|
||||
{
|
||||
$sFirstName = mb_strtolower($sFirstName);
|
||||
$sLastName = mb_strtolower($sLastName);
|
||||
$sCompany = mb_strtolower($sCompany);
|
||||
$sEmail = mb_strtolower($sEmail);
|
||||
|
||||
//Checking company existency in company table
|
||||
$sCompanyTextCol = MySqlManager::getText(self::COMP_TABLE);
|
||||
$iCompanyId = $this->oMySql->selectInsert(self::COMP_TABLE, array($sCompanyTextCol=>$sCompany, 'logo'=>self::DEFAULT_COMPANY_LOGO), array($sCompanyTextCol));
|
||||
$asInfo = array('first_name'=>$sFirstName,
|
||||
'last_name'=>$sLastName,
|
||||
'active'=>self::MEMBER_ACTIVE,
|
||||
MySqlManager::getId(self::COMP_TABLE)=>$iCompanyId,
|
||||
'pass'=>$this->oAuth->HashPassword(self::getLoginToken($sCompany)),
|
||||
'clearance'=>$iClearance,
|
||||
'led'=>'0000-00-00 00:00:00');
|
||||
if($iUserId>0) $asInfo[MySqlManager::getId(self::USER_TABLE)] = $iUserId;
|
||||
$iUserId = $this->oMySql->insertRow(self::USER_TABLE, $asInfo);
|
||||
|
||||
//Options & default values
|
||||
$sNickName = self::getNickNameFormat($sFirstName);
|
||||
$this->setOptions(array(self::OPT_NICKNAME=>$sNickName, self::OPT_EMAIL=>$sEmail), true, $iUserId);
|
||||
$sFirstName = trim(mb_strtolower($sFirstName));
|
||||
$sLastName = trim(mb_strtolower($sLastName));
|
||||
$sEmail = trim(mb_strtolower($sEmail));
|
||||
|
||||
//Spread the word
|
||||
if($iUserId!=self::SYSTEM_USER_ID) $this->addMessage('Nouvel utilisateur: '.self::getNameFormat($sFirstName, $sLastName).' ! Son petit nom sur le chat est '.$sNickName, self::MESSAGE_NEWS, self::DEFAULT_CHAN_ID, self::SYSTEM_USER_ID);
|
||||
//Get Company
|
||||
$sCompany = $this->oMySql->selectValue(self::COMP_TABLE, MySqlManager::getText(self::COMP_TABLE), $iCompanyId);
|
||||
|
||||
return $iUserId;
|
||||
if(!$sCompany) $sDesc = 'ID entreprise inconnu : '.$iCompanyId;
|
||||
else
|
||||
{
|
||||
//Checking company existency in company table
|
||||
$asInfo = array('first_name'=>$sFirstName,
|
||||
'last_name'=>$sLastName,
|
||||
'active'=>self::MEMBER_ACTIVE,
|
||||
MySqlManager::getId(self::COMP_TABLE)=>$iCompanyId,
|
||||
'pass'=>$this->oAuth->HashPassword(self::getLoginToken($sCompany)),
|
||||
'clearance'=>$iClearance,
|
||||
'led'=>'0000-00-00 00:00:00');
|
||||
if($iUserId>0) $asInfo[MySqlManager::getId(self::USER_TABLE)] = $iUserId;
|
||||
$iUserId = $this->oMySql->insertRow(self::USER_TABLE, $asInfo);
|
||||
$bSuccess = ($iUserId>0);
|
||||
|
||||
if($bSuccess)
|
||||
{
|
||||
//Options & default values
|
||||
$sNickName = self::getNickNameFormat($sFirstName);
|
||||
$this->setOptions(array(self::OPT_NICKNAME=>$sNickName, self::OPT_EMAIL=>$sEmail), true, $iUserId);
|
||||
|
||||
//Spread the word
|
||||
if($iUserId!=self::SYSTEM_USER_ID) $this->addMessage('Nouvel utilisateur: '.self::getNameFormat($sFirstName, $sLastName).' ! Son petit nom sur le chat est '.$sNickName, self::MESSAGE_NEWS, self::DEFAULT_CHAN_ID, self::SYSTEM_USER_ID);
|
||||
|
||||
$sDesc = 'Utilisateur '.$iUserId.' ajouté avec succès';
|
||||
}
|
||||
else $sDesc = 'Erreur lors de l\'ajout de l\'utilisateur '.$sFirstName.' '.$sLastName.' (company : '.$sCompany.')';
|
||||
}
|
||||
|
||||
return $bExt?$this->getJsonPostResult($bSuccess, $sDesc):$iUserId;
|
||||
}
|
||||
|
||||
public function addCompany($sCompany, $sLogo='', $bExt=true)
|
||||
{
|
||||
$sCompany = trim(mb_strtolower($sCompany));
|
||||
$sLogo = $sLogo==''?self::DEFAULT_COMPANY_LOGO:$sLogo;
|
||||
$iCompanyId = 0;
|
||||
$bSuccess = false;
|
||||
$sDesc = '';
|
||||
if($sCompany!='')
|
||||
{
|
||||
$sCompanyTextCol = MySqlManager::getText(self::COMP_TABLE);
|
||||
$iCompanyId = $this->oMySql->selectInsert(self::COMP_TABLE, array($sCompanyTextCol=>$sCompany, 'logo'=>$sLogo), array($sCompanyTextCol));
|
||||
if($iCompanyId>0)
|
||||
{
|
||||
$bSuccess = true;
|
||||
$sDesc = 'Entreprise '.$iCompanyId.' créée';
|
||||
}
|
||||
else $sDesc = 'Erreur lors de la création de l\'entreprise '.$sCompany;
|
||||
}
|
||||
else $sDesc = 'Nom d\'entreprise vide';
|
||||
|
||||
return $bExt?$this->getJsonPostResult($bSuccess, $sDesc):$iCompanyId;
|
||||
}
|
||||
|
||||
public function buildCompleteIndex()
|
||||
@@ -973,7 +1012,7 @@ class Databap extends PhpObject
|
||||
$this->oSearchEngine->buildIndex($iDbDocId, self::DOC_TYPE);
|
||||
|
||||
//TODO add error handling
|
||||
return $this->getJsonPostResult(self::SUCCESS, '', array('doc_id'=>$iDbDocId));
|
||||
return $this->getJsonPostResult(true, '', array('doc_id'=>$iDbDocId));
|
||||
}
|
||||
|
||||
public function getDoc($iDocId)
|
||||
|
||||
Reference in New Issue
Block a user