implementation of PRG + minor fixes

This commit is contained in:
lutranf
2014-07-31 12:10:55 +02:00
parent 7736246e1b
commit 727b055af6
4 changed files with 63 additions and 43 deletions

View File

@@ -7,8 +7,8 @@
class Databap extends PhpObject class Databap extends PhpObject
{ {
//Common Constants //Common Constants
const VERSION = '1.0.0-RC3'; //Versioning: <Main_Version>.<Enhancement_Package>.<Patch>-<Release_Candidate> const VERSION = '1.0.0-RC4'; //Versioning: <Main_Version>.<Enhancement_Package>.<Patch>-<Release_Candidate>
const VERSION_DATE = '02/07/2014'; const VERSION_DATE = '31/07/2014';
const EXPECTED_PAGE_COOKIE = 'exp_page'; const EXPECTED_PAGE_COOKIE = 'exp_page';
const MAIN_SEPARATOR = ' '; const MAIN_SEPARATOR = ' ';
const DATE_FORMAT = 'd/m/Y'; const DATE_FORMAT = 'd/m/Y';
@@ -1079,11 +1079,12 @@ class Databap extends PhpObject
public function getUserInfo($iUserId, $bJson=false) public function getUserInfo($iUserId, $bJson=false)
{ {
$asUserInfo = array();
if($iUserId==$this->getUserId() && !empty($this->asUserInfo)) if($iUserId==$this->getUserId() && !empty($this->asUserInfo))
{ {
$asUserInfo = $this->asUserInfo; $asUserInfo = $this->asUserInfo;
} }
else elseif($iUserId > 0)
{ {
$asRow = $this->oMySql->selectRow(self::USER_TABLE, $iUserId); $asRow = $this->oMySql->selectRow(self::USER_TABLE, $iUserId);
$sEmail = $this->getUserOptionValue(self::OPT_EMAIL, $iUserId); $sEmail = $this->getUserOptionValue(self::OPT_EMAIL, $iUserId);
@@ -2221,6 +2222,7 @@ class Databap extends PhpObject
public function logMeIn($sToken, $sAction) public function logMeIn($sToken, $sAction)
{ {
$iUserId = 0; $iUserId = 0;
$sNameToken = '';
$bResetPass = true; $bResetPass = true;
$sUserTableId = MySqlManager::getId(self::USER_TABLE); $sUserTableId = MySqlManager::getId(self::USER_TABLE);
@@ -2270,6 +2272,14 @@ class Databap extends PhpObject
{ {
$this->resetAuthCookie(); $this->resetAuthCookie();
} }
//Post-Redirect-Get if user manually logging from logon page
if($sNameToken!='')
{
header('HTTP/1.1 303 See Other');
header('Location: '.$_SERVER['REQUEST_URI']);
exit();
}
} }
return ($this->getUserId()>0); return ($this->getUserId()>0);

View File

@@ -178,29 +178,30 @@ if($bUserOk && $sAction!=Databap::EXT_ACCESS)
case 'css': case 'css':
$sResult = $oDatabap->getStyleSheet(); $sResult = $oDatabap->getStyleSheet();
break; break;
} default:
//Admin actions
//Admin actions if($oDatabap->getUserClearance()==Databap::CLEARANCE_ADMIN)
if($oDatabap->getUserClearance()==Databap::CLEARANCE_ADMIN) {
{ switch($sAction)
switch($sAction) {
{ case 'add_user':
case 'add_user': $asInfo = explode('-', strtolower($oUser));
$asInfo = explode('-', strtolower($oUser)); $sResult = 'User added. Id='.$oDatabap->addUser($asInfo[0], $asInfo[1], $asInfo[2], array_key_exists(3, $asInfo)?$asInfo[3]:'');
$sResult = 'User added. Id='.$oDatabap->addUser($asInfo[0], $asInfo[1], $asInfo[2], array_key_exists(3, $asInfo)?$asInfo[3]:''); break;
break; case 'build_index':
case 'build_index': $oDatabap->buildCompleteIndex();
$oDatabap->buildCompleteIndex(); $sResult = 'Index ok';
$sResult = 'Index ok'; break;
break; case 'install_queries':
case 'install_queries': $oMySqlInstall = new MySqlManager(Settings::DB_SERVER, Settings::DB_LOGIN, Settings::DB_PASS, Settings::DB_NAME, Databap::getSqlOptions(), Settings::DB_ENC);
$oMySqlInstall = new MySqlManager(Settings::DB_SERVER, Settings::DB_LOGIN, Settings::DB_PASS, Settings::DB_NAME, Databap::getSqlOptions(), Settings::DB_ENC); $sResult = $oMySqlInstall->getFullInstallQuery();
$sResult = $oMySqlInstall->getFullInstallQuery(); break;
break; case 'reset_chan_safe_names':
case 'reset_chan_safe_names': $sResult = $oDatabap->resetChanSafeNames();
$sResult = $oDatabap->resetChanSafeNames(); break;
break; }
} }
break;
} }
} }
//Loading a page //Loading a page
@@ -218,19 +219,20 @@ elseif($bUserOk && $sAction==Databap::EXT_ACCESS)
case 'rss': //RSS Feed case 'rss': //RSS Feed
$sResult = $oDatabap->getRss($sCategory); $sResult = $oDatabap->getRss($sCategory);
break; break;
default:
//Restricted actions
if($oDatabap->getUserClearance()==Databap::CLEARANCE_ADMIN)
{
switch($sPage)
{
case 'sap_blog': //Syncing SAP BW Blog with database & spreading the news on chat
$sResult = $oDatabap->syncSapBlog();
break;
}
}
elseif($sResult=='') $sResult = 'No Clearance';
break;
} }
//Restricted actions
if($oDatabap->getUserClearance()==Databap::CLEARANCE_ADMIN)
{
switch($sPage)
{
case 'sap_blog': //Syncing SAP BW Blog with database & spreading the news on chat
$sResult = $oDatabap->syncSapBlog();
break;
}
}
elseif($sResult=='') $sResult = 'No Clearance';
} }
elseif($sAction!='') elseif($sAction!='')
{ {

View File

@@ -40,10 +40,6 @@
</tr> </tr>
</table> </table>
</div> </div>
<p class="logon_msg round">
<span class="msg_title"><i class="fa fa-inline fa-c-warning"></i><!-- TODO delete in v1.0.0 -->L'authentification a changé !</span>
<span class="msg_body">Nom et prénom : pas de changement, bien mettre les accents<br />Mot de passe : initialisé avec le nom de votre entreprise en minuscule</span>
</p>
</div> </div>
<div id="footer"> <div id="footer">
<p>v[#]version[#] - Designed and powered by <a href="mailto:francois@lutran.fr" title="Envoyer un mail">Fran&ccedil;ois Lutran</a> - Databap Project under <a href="http://www.gnu.org/licenses/gpl.html" target="_blank">GPLv3 License</a>.</p> <p>v[#]version[#] - Designed and powered by <a href="mailto:francois@lutran.fr" title="Envoyer un mail">Fran&ccedil;ois Lutran</a> - Databap Project under <a href="http://www.gnu.org/licenses/gpl.html" target="_blank">GPLv3 License</a>.</p>
@@ -56,6 +52,9 @@
//Events //Events
$(window).keyup(function(e){if(e.which==13) logMeIn();}); $(window).keyup(function(e){if(e.which==13) logMeIn();});
$('#logon_form').addButton('ok', '', logMeIn, 'log_me_in', ''); $('#logon_form').addButton('ok', '', logMeIn, 'log_me_in', '');
//Message
//addMessage('L\'authentification a changé !', ['Nom et prénom : pas de changement, bien mettre les accents', 'Mot de passe : initialisé avec le nom de votre entreprise en minuscule']);
}); });
//Hashing and sending auth credentials //Hashing and sending auth credentials
@@ -95,5 +94,15 @@
} }
else $('.feedback').text('Formulaire incomplet'); else $('.feedback').text('Formulaire incomplet');
} }
function addMessage(sTitle, asBody)
{
$('<p>', {'class':'logon_msg round'})
.append($('<span>', {'class':'msg_title'})
.append($('<i>', {'class':'fa fa-inline fa-c-warning'}))
.append(sTitle))
.append($('<span>', {'class':'msg_body'}).html(asBody.join('<br />')))
.appendTo('.container');
}
</script> </script>
</html> </html>

1
todo
View File

@@ -10,7 +10,6 @@ Bug fix:
- [1.0.0] Tab dans chat - [1.0.0] Tab dans chat
- [1.0.1] Check le document type plutot que l'extension pour les /img - [1.0.1] Check le document type plutot que l'extension pour les /img
- [1.0.1] Resize .gif - [1.0.1] Resize .gif
- [1.0.1] Request anti repost : POST REDIRECT GET : http://en.wikipedia.org/wiki/Post/Redirect/Get
- Fix les "xxx se déconnecte" intempestives - Fix les "xxx se déconnecte" intempestives
Améliorations Améliorations