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,
|
'article'=>self::MESSAGE_ARTICLE,
|
||||||
'news'=>self::MESSAGE_NEWS);
|
'news'=>self::MESSAGE_NEWS);
|
||||||
const DEFAULT_COMPANY_LOGO = 'logo_unknown_24.png';
|
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_ID = 1;
|
||||||
const ALL_CHAN_TEXT = 'A.l.l_C.h.a.n_I.n.c.l.u.d.e.d';
|
const ALL_CHAN_TEXT = 'A.l.l_C.h.a.n_I.n.c.l.u.d.e.d';
|
||||||
const DEFAULT_CHAN_ID = 2;
|
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));
|
$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
|
//Install default users : system, admin and test
|
||||||
$iSystemId = $this->addUser('databap', 'bot', 'ovh', 'databap@botnet.com', self::CLEARANCE_ADMIN, self::SYSTEM_USER_ID);
|
$iSystemCompanyId = $this->addCompany('ovh', self::SYSTEM_COMPANY_LOGO, false);
|
||||||
$this->setOptions(array(self::OPT_NICKNAME=>'Databot'), true, $iSystemId);
|
$this->addUser('databap', 'bot', $iSystemCompanyId, 'databap@botnet.com', self::CLEARANCE_ADMIN, self::SYSTEM_USER_ID, false);
|
||||||
$this->addUser('françois', 'lutran', 'planeum', 'francois@lutran.fr', self::CLEARANCE_ADMIN);
|
$this->setOptions(array(self::OPT_NICKNAME=>'Databot'), true, self::SYSTEM_USER_ID);
|
||||||
$this->addUser('test', 'test', 'test', 'test@test.com');
|
$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
|
//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()
|
public function goLive()
|
||||||
@@ -470,6 +474,7 @@ class Databap extends PhpObject
|
|||||||
public function getLogonPage($bFirstConn)
|
public function getLogonPage($bFirstConn)
|
||||||
{
|
{
|
||||||
$oPage = new Mask('logon');
|
$oPage = new Mask('logon');
|
||||||
|
$oPage->setTag('text_enc', Settings::TEXT_ENC);
|
||||||
$oPage->setTag('feedback', $bFirstConn?'':'Données incorrectes');
|
$oPage->setTag('feedback', $bFirstConn?'':'Données incorrectes');
|
||||||
$oPage->setTag('version', self::VERSION);
|
$oPage->setTag('version', self::VERSION);
|
||||||
$oPage->setTag('name_pass_sep', self::NAME_PASS_SEP);
|
$oPage->setTag('name_pass_sep', self::NAME_PASS_SEP);
|
||||||
@@ -762,34 +767,68 @@ class Databap extends PhpObject
|
|||||||
return $oNote->getNote();
|
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);
|
$sFirstName = trim(mb_strtolower($sFirstName));
|
||||||
$sLastName = mb_strtolower($sLastName);
|
$sLastName = trim(mb_strtolower($sLastName));
|
||||||
$sCompany = mb_strtolower($sCompany);
|
$sEmail = trim(mb_strtolower($sEmail));
|
||||||
$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);
|
|
||||||
|
|
||||||
//Spread the word
|
//Get Company
|
||||||
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);
|
$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()
|
public function buildCompleteIndex()
|
||||||
@@ -973,7 +1012,7 @@ class Databap extends PhpObject
|
|||||||
$this->oSearchEngine->buildIndex($iDbDocId, self::DOC_TYPE);
|
$this->oSearchEngine->buildIndex($iDbDocId, self::DOC_TYPE);
|
||||||
|
|
||||||
//TODO add error handling
|
//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)
|
public function getDoc($iDocId)
|
||||||
|
|||||||
11
index.php
11
index.php
@@ -51,6 +51,11 @@ $iMessageId = isset($_GET['message_id'])?$_GET['message_id']:0;
|
|||||||
$oItemId = isset($_REQUEST['id'])?$_REQUEST['id']:0;
|
$oItemId = isset($_REQUEST['id'])?$_REQUEST['id']:0;
|
||||||
$sSystem = isset($_POST['system'])?$_POST['system']:'';
|
$sSystem = isset($_POST['system'])?$_POST['system']:'';
|
||||||
$bSimul = isset($_POST['simul'])?$_POST['simul']:false;
|
$bSimul = isset($_POST['simul'])?$_POST['simul']:false;
|
||||||
|
$sLastName = isset($_POST['last_name'])?$_POST['last_name']:'';
|
||||||
|
$sFirstName = isset($_POST['first_name'])?$_POST['first_name']:'';
|
||||||
|
$sEmail = isset($_POST['email'])?$_POST['email']:'';
|
||||||
|
$sCompany = isset($_POST['company'])?$_POST['company']:'';
|
||||||
|
|
||||||
$sResult = '';
|
$sResult = '';
|
||||||
|
|
||||||
//Launching application
|
//Launching application
|
||||||
@@ -192,8 +197,10 @@ if($bUserOk && $sAction!=Databap::EXT_ACCESS)
|
|||||||
switch($sAction)
|
switch($sAction)
|
||||||
{
|
{
|
||||||
case 'add_user':
|
case 'add_user':
|
||||||
$asInfo = explode('-', strtolower($oUser));
|
$sResult = $oDatabap->addUser($sFirstName, $sLastName, $oItemId, $sEmail);
|
||||||
$sResult = 'User added. Id='.$oDatabap->addUser($asInfo[0], $asInfo[1], $asInfo[2], array_key_exists(3, $asInfo)?$asInfo[3]:'');
|
break;
|
||||||
|
case 'add_company':
|
||||||
|
$sResult = $oDatabap->addCompany($sCompany);
|
||||||
break;
|
break;
|
||||||
case 'reset_pass':
|
case 'reset_pass':
|
||||||
$sResult = $oDatabap->resetPass($oUser);
|
$sResult = $oDatabap->resetPass($oUser);
|
||||||
|
|||||||
3
jquery/databap.js
vendored
3
jquery/databap.js
vendored
@@ -716,6 +716,9 @@ function Databap()
|
|||||||
if(sClass=='error' && sMsg=='') sMsg = 'Aïe ! Une erreur inconnue est suvenue';
|
if(sClass=='error' && sMsg=='') sMsg = 'Aïe ! Une erreur inconnue est suvenue';
|
||||||
else if(sClass=='error' && $.inArray(sMsg, self.consts.errors.system)!=-1) sMsg = 'Une erreur interne est survenue. Merci de contacter l\'admin';
|
else if(sClass=='error' && $.inArray(sMsg, self.consts.errors.system)!=-1) sMsg = 'Une erreur interne est survenue. Merci de contacter l\'admin';
|
||||||
|
|
||||||
|
if(sClass==self.consts.error) sClass = 'error';
|
||||||
|
if(sClass==self.consts.success) sClass = 'success';
|
||||||
|
|
||||||
//clean box
|
//clean box
|
||||||
$Box = $('#title_feedback');
|
$Box = $('#title_feedback');
|
||||||
if(bClean) $Box.empty();
|
if(bClean) $Box.empty();
|
||||||
|
|||||||
@@ -20,10 +20,18 @@
|
|||||||
<h2><i class="fa fa-c-changelog fa-inline"></i>Boite magique</h2>
|
<h2><i class="fa fa-c-changelog fa-inline"></i>Boite magique</h2>
|
||||||
<div id="add_user" class="magic_box tiny_round">
|
<div id="add_user" class="magic_box tiny_round">
|
||||||
<h3><i class="fa fa-inline fa-c-profile"></i>Ajouter un user</h3>
|
<h3><i class="fa fa-inline fa-c-profile"></i>Ajouter un user</h3>
|
||||||
<p><input type="text" class="tiny_round" id="first_name" name="first_name" /></p>
|
<form id="form_add_user" name="form_add_user">
|
||||||
<p><input type="text" class="tiny_round" id="last_name" name="last_name" /></p>
|
<p><input type="text" class="tiny_round" id="first_name" name="first_name" /></p>
|
||||||
<p><input type="text" class="tiny_round" id="email" name="email" /></p>
|
<p><input type="text" class="tiny_round" id="last_name" name="last_name" /></p>
|
||||||
<p id="companies"></p>
|
<p><input type="text" class="tiny_round" id="email" name="email" /></p>
|
||||||
|
<p id="companies"></p>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div id="add_company" class="magic_box tiny_round">
|
||||||
|
<h3><i class="fa fa-inline fa-c-company"></i>Ajouter une entreprise</h3>
|
||||||
|
<form id="form_add_company" name="form_add_company">
|
||||||
|
<p><input type="text" class="tiny_round" id="company" name="company" /></p>
|
||||||
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -76,14 +84,35 @@ function initAdminPanel(asAdmin)
|
|||||||
//Add user
|
//Add user
|
||||||
$('#first_name').addDefaultValue('Prénom');
|
$('#first_name').addDefaultValue('Prénom');
|
||||||
$('#last_name').addDefaultValue('Nom');
|
$('#last_name').addDefaultValue('Nom');
|
||||||
addSelect($('#companies'), asAdmin.companies);
|
addSelect($('#companies'), asAdmin.companies, 0, 'id');
|
||||||
$('#email').addDefaultValue('Email');
|
$('#email').addDefaultValue('Email');
|
||||||
$('#add_user').addButton('ok', 'Créer', function(){}, 'submit_new_user', 'heavy inverse');
|
$('#add_user').addButton('ok', 'Créer', function(){submitAdmin('add_user');}, 'submit_new_user', 'heavy inverse');
|
||||||
|
|
||||||
|
//Add company
|
||||||
|
$('#company').addDefaultValue('Entreprise');
|
||||||
|
$('#add_company').addButton('ok', 'Créer', function(){submitAdmin('add_company', true);}, 'submit_new_user', 'heavy inverse');
|
||||||
|
|
||||||
//Show panel
|
//Show panel
|
||||||
$('#admin').show();
|
$('#admin').show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function submitAdmin(sAction, bReboot)
|
||||||
|
{
|
||||||
|
bReboot = bReboot || false;
|
||||||
|
databap.saveForm
|
||||||
|
(
|
||||||
|
sAction,
|
||||||
|
databap.getMainElem('#form_'+sAction),
|
||||||
|
function(oData)
|
||||||
|
{
|
||||||
|
databap.feedback(oData.result, oData.desc);
|
||||||
|
if(oData.result==self.consts.success && bReboot) location.reload();
|
||||||
|
},
|
||||||
|
true,
|
||||||
|
'json'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
function addSelect($Box, asOptions, sSelectedValue, sSelectId, sSelectClass)
|
function addSelect($Box, asOptions, sSelectedValue, sSelectId, sSelectClass)
|
||||||
{
|
{
|
||||||
sSelectedValue = sSelectedValue || 0;
|
sSelectedValue = sSelectedValue || 0;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1127,6 +1127,7 @@
|
|||||||
#options #admin {
|
#options #admin {
|
||||||
clear:both;
|
clear:both;
|
||||||
width:calc(100% - 20px);
|
width:calc(100% - 20px);
|
||||||
|
padding-bottom:0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#options #admin .magic_box {
|
#options #admin .magic_box {
|
||||||
@@ -1134,6 +1135,10 @@
|
|||||||
padding:5px 10px 10px;
|
padding:5px 10px 10px;
|
||||||
background:$col_main_4;
|
background:$col_main_4;
|
||||||
float:left;
|
float:left;
|
||||||
|
margin: 0 10px 10px 0;
|
||||||
|
}
|
||||||
|
#options #admin .magic_box:last-child {
|
||||||
|
margin-right:0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#options #admin .magic_box h3 {
|
#options #admin .magic_box h3 {
|
||||||
|
|||||||
Reference in New Issue
Block a user