本文整理汇总了PHP中AppController::backoffice_statut方法的典型用法代码示例。如果您正苦于以下问题:PHP AppController::backoffice_statut方法的具体用法?PHP AppController::backoffice_statut怎么用?PHP AppController::backoffice_statut使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AppController
的用法示例。
在下文中一共展示了AppController::backoffice_statut方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: backoffice_statut
/**
* Cette fonction permet la mise à jour du statut d'un élement directement depuis le listing
*
* @param integer $id Identifiant de l'élément dont le statut doit être modifié
* @access public
* @author koéZionCMS
* @version 0.1 - 24/09/2012 by FI
* @version 0.2 - 26/02/2013 by FI - Modification de la gestion de l'installation des plugins
* @version 0.3 - 03/10/2014 by FI - Correction erreur surcharge de la fonction, rajout de tous les paramètres
*/
public function backoffice_statut($id, $redirect = true)
{
$elementStatus = parent::backoffice_statut($id, false);
//On fait appel à la fonction d'édition parente
$conditions = array('conditions' => array('id' => $id));
$plugin = $this->Plugin->findFirst($conditions);
//On arrive dans ce cas si online = 0 et installed = 0
//Du coup après la mise à jour du status on à online = 1 et installed = 0
//Le plugin n'est donc pas en ligne et pas installé
//On l'installe et on l'active
if ($plugin['online'] && !$plugin['installed']) {
$isInstalled = false;
//Par défaut le plugin est considéré comme non installé
$pluginName = Inflector::camelize($plugin['code']) . 'Plugin';
//Génération du nom du plugin
$pluginFile = PLUGINS . DS . $plugin['code'] . DS . 'plugin.php';
//Chemin vers le fichier d'installation du plugin
$isInstalled = true;
//Par défaut on considère que le plugin est installé
if (FileAndDir::fexists($pluginFile)) {
//Si le fichier existe
require_once $pluginFile;
//Chargement du fichier
$pluginClass = new $pluginName();
//Création d'un objet plugin
$isInstalled = $pluginClass->install($this);
//on lance le process d'installation
/*if(method_exists($pluginClass, 'install')) { //On teste si le plugin possède une méthode d'installation
if($pluginClass->install($this)) { $isInstalled = true; } //Si oui on la lance
}
else { $isInstalled = true; } //Si non on considère qu'il est installé*/
}
/*else { $isInstalled = true; }*/
//Si non on considère qu'il est installé
//Si le plugin est installé on va le sauvegarder en bdd
if ($isInstalled) {
$this->Plugin->save(array('id' => $id, 'installed' => 1));
Session::setFlash('Le plugin est correctement installé');
} else {
Session::setFlash("Problème lors de l'installation du plugin", 'error');
}
//On arrive dans ce cas si online = 1 et installed = 1
//Du coup après la mise à jour du status on à online = 0 et installed = 1
//Le plugin est donc en ligne et installé cela veut donc dire qu'on souhaite le passer hors ligne
} else {
if (!$plugin['online'] && $plugin['installed']) {
//Si le plugin est désactivé on désactive également le module
$sqlModule = "UPDATE modules SET online = 0 WHERE plugin_id = " . $id . ";";
$this->Plugin->query($sqlModule);
Session::setFlash('Le plugin est correctement désactivé');
//On arrive dans ce cas si online = 0 et installed = 1
//Du coup après la mise à jour du status online = 1 et installed = 1
//Le plugin était donc installé mais hors ligne donc on le réactive
} else {
if ($plugin['online'] && $plugin['installed']) {
//Si le plugin est désactivé on désactive également le module
$sqlModule = "UPDATE modules SET online = 1 WHERE plugin_id = " . $id . ";";
$this->Plugin->query($sqlModule);
Session::setFlash('Le plugin est correctement activé');
}
}
}
//On va contrôller la valeur du champ online pour le plugin et remettre à jour la table des modules
//if($plugin['online']) { $sqlModule = "UPDATE modules SET online = 1 WHERE plugin_id = ".$id.";"; }
//else { $sqlModule = "UPDATE modules SET online = 0 WHERE plugin_id = ".$id.";"; }
//$this->Plugin->query($sqlModule);
FileAndDir::delete_directory_file(TMP . DS . 'cache' . DS . 'models' . DS);
//Suppression du fichier de cache de la bdd
FileAndDir::remove(TMP . DS . 'cache' . DS . 'variables' . DS . 'Plugins' . DS . 'plugins.cache');
//Suppression du fichier de cache des plugins
$this->redirect('backoffice/plugins/index');
//On retourne sur la page de listing
}
示例2: backoffice_statut
/**
* Cette fonction permet la mise à jour du statut d'un élement directement depuis le listing
*
* @param integer $id Identifiant de l'élément dont le statut doit être modifié
* @access public
* @author koéZionCMS
* @version 0.1 - 23/03/2012 by FI
* @version 0.2 - 03/10/2014 by FI - Correction erreur surcharge de la fonction, rajout de tous les paramètres
*/
public function backoffice_statut($id, $redirect = true)
{
$parentStatut = parent::backoffice_statut($id, false);
//On fait appel à la fonction d'édition parente
if ($parentStatut) {
$vars = $this->get('vars');
//Récupération des données
$this->_update_children_statut($id, $vars['newOnline']);
$this->redirect('backoffice/categories/index');
//On retourne sur la page de listing
}
}