function init($request)
 {
     parent::init($request);
     $ck = new Cookie(COOKIE_NAME_SESSION);
     $ck->delete();
     Request::redirectToModule('index');
 }
 function process()
 {
     $next_step = false;
     $totalSites = Site::getTotalSites();
     if ($totalSites > 0) {
         Request::redirectToModule('install_display_javascript_code');
     }
     $form = new FormSiteGeneral($this->tpl, null, Request::getCurrentUrl() . "&action=add");
     $done = $form->process();
     if ($done) {
         $this->tpl->assign("img_phpmv", getCountImgHtml($form->getSubmitValue('form_url'), $form->getSubmitValue('form_name')));
         $next_step = true;
     }
     $this->tpl->assign("show_next_step", $next_step);
 }
 function process($indexLang = null)
 {
     if (!is_null($indexLang)) {
         $this->addElement('header', 'headertext', $GLOBALS['lang'][$indexLang]);
     }
     $this->addElement('submit', 'submit', $GLOBALS['lang']['install_valider']);
     $this->addElement('submit', 'back', $GLOBALS['lang']['admin_retour']);
     if ($this->getSubmitValue('back') === $GLOBALS['lang']['admin_retour']) {
         $tmpIdSite = getRequestVar('site', -1, 'int');
         if ($tmpIdSite > 0) {
             Request::redirectToModule('admin_index&site=' . $tmpIdSite . '&adminsite=' . $tmpIdSite);
         } else {
             Request::redirectToModule('admin_index');
         }
     } else {
         if ($this->validate()) {
             $this->postProcess();
             return true;
         } else {
             $this->display();
             return false;
         }
     }
 }
 function loadSiteId()
 {
     if ($this->getModuleName() == 'list_logos') {
         return true;
     }
     $site = getRequestVar('site', Site::getFirstSiteAvailable(), 'int');
     $db =& Db::getInstance();
     if ($db->isReady() && $db->areAllTablesInstalled() && !Request::isCurrentModuleAnInstallModule()) {
         // check site asked is ok
         if ($site != -1) {
             $r = query("SELECT idsite \n\t\t\t\t\t\tFROM " . T_SITE);
             $idSite = array();
             while ($l = mysql_fetch_assoc($r)) {
                 $idSite[] = $l['idsite'];
             }
             if (sizeof($idSite) == 0) {
                 $GLOBALS['header_error_message_tpl'] = $GLOBALS['lang']['generique_aucune_site_bdd'];
                 Request::redirectToModule('admin_site_general&action=add');
                 $site = false;
             } elseif (!in_array($site, $idSite)) {
                 $site = 0;
             }
         }
     }
     $this->site = (int) $site;
 }
 /**
  * Charge le module demand�
  *
  */
 function loadModule()
 {
     $moduleName = $this->request->getModuleName();
     $db =& Db::getInstance();
     if (ereg('admin', $moduleName)) {
         $this->lang->reloadLangFile();
     }
     if (!$moduleName) {
         $moduleName = $this->defaultModuleName;
     }
     if ($moduleName == 'list_logos') {
         $authorized = true;
     } else {
         $b_writeDir = checkDirWritable();
         /**
          * very first : logo selection is allowed
          */
         /**
          * first look if installation is needed 
          */
         if (!is_file(INCLUDE_PATH . "/config/config.php") || !defined('DB_HOST') || !defined('SU_LOGIN') || !defined('INSTALL_OK')) {
             if (!Request::isCurrentModuleAnInstallModule()) {
                 Request::redirectToModule('install_welcome');
             }
             $authorized = true;
         } else {
             if (!$db->isReady() && substr_count(Request::getCurrentCompleteUrl(), 'mod=login') === 0 && substr_count(Request::getCurrentCompleteUrl(), 'mod=logout') === 0) {
                 Request::redirectToModule('admin_db_config');
             } else {
                 if ($b_writeDir === false) {
                     // case there is a write problem, we load server_info page to indicate the user the problem
                     $moduleName = 'admin_server_info';
                     $authorized = true;
                 } else {
                     if ($db->isReady()) {
                         if (version_compare($db->getVersion(), PHPMV_VERSION) == -1) {
                             $moduleName = 'admin_update';
                             $authorized = true;
                         } else {
                             if (version_compare($db->getVersion(), PHPMV_VERSION) == 1) {
                                 trigger_error("There is a problem : your database is more recent than your phpMyVisites files! Try to upload the last release of phpMyVisites on your server.", E_USER_ERROR);
                             }
                         }
                     }
                 }
             }
         }
     }
     /**
      * else it's ok! Load module
      */
     // update module in the object request, used for hidden field in the login form
     $this->request->setModuleName($moduleName);
     // manage the user, is he authorized to see this module ?
     $me =& User::getInstance();
     if (isset($authorized) || $me->isAuthorized($moduleName) || $this->request->isCrontabAllowed()) {
         $module = Module::factory($moduleName);
     } else {
         $module = Module::factory('login');
     }
     if (!is_subclass_of($module, 'Module')) {
         trigger_error('Unable to load: ' . $moduleName . ' module', E_USER_ERROR);
     }
     $module->init($this->request, null);
     $this->module =& $module;
 }