Source for file check_install.zone.php

Documentation is available at check_install.zone.php

  1. <?php
  2. /**
  3. @package    jelix-modules
  4. @subpackage jelix
  5. @author     Bastien Jaillot
  6. @contributor Laurent Jouanneau, Julien Issler
  7. @copyright  2008 Bastien Jaillot
  8. @copyright  2009 Julien Issler
  9. @licence    http://www.gnu.org/licenses/gpl.html GNU General Public Licence, see LICENCE file
  10. */
  11.  
  12. include (JELIX_LIB_PATH.'installer/jInstallChecker.class.php');
  13. include (JELIX_LIB_PATH.'installer/jIInstallReporter.iface.php');
  14.  
  15. /**
  16.  * an HTML reporter for jInstallChecker
  17.  * @package jelix
  18.  */
  19. class checkZoneInstallReporter implements jIInstallReporter {
  20.     public $trace = '';
  21.     public $messageProvider = null;
  22.     protected $list='';
  23.     function start(){
  24.     }
  25.     function message($message$type=''){
  26.         if ($type == 'error' || $type == 'warning' || $type == 'notice')
  27.             $this->list .= '<li class="'.$type.'">'.htmlspecialchars($message).'</li>';
  28.     }
  29.  
  30.     function end($results){
  31.         if($this->list !='')
  32.             $this->trace = '<ul class="checkresults">'.$this->list.'</ul>';
  33.  
  34.         $nbError $results['error'];
  35.         $nbWarning $results['warning'];
  36.         $nbNotice $results['notice'];
  37.  
  38.         $this->trace .= '<div class="results">';
  39.         if($nbError){
  40.             $this->trace .= ' '.$nbError$this->messageProvider->get( ($nbError 1?'number.errors':'number.error'));
  41.         }
  42.         if($nbWarning){
  43.             $this->trace .= ' '.$nbWarning$this->messageProvider->get(($nbWarning 1?'number.warnings':'number.warning'));
  44.         }
  45.         if($nbNotice){
  46.             $this->trace .= ' '.$nbNotice$this->messageProvider->get(($nbNotice 1?'number.notices':'number.notice'));
  47.         }
  48.  
  49.         if($nbError){
  50.            $this->trace .= '<p>'.$this->messageProvider->get(($nbError 1?'conclusion.errors':'conclusion.error')).'</p>';
  51.         }else  if($nbWarning){
  52.             $this->trace .= '<p>'.$this->messageProvider->get(($nbWarning 1?'conclusion.warnings':'conclusion.warning')).'</p>';
  53.         }else  if($nbNotice){
  54.             $this->trace .= '<p>'.$this->messageProvider->get(($nbNotice 1?'conclusion.notices':'conclusion.notice')).'</p>';
  55.         }else{
  56.             $this->trace .= '<p>'.$this->messageProvider->get('conclusion.ok').'</p>';
  57.         }
  58.         $this->trace .= "</div>";
  59.     }
  60. }
  61.  
  62. /**
  63.  * a zone to display a default start page with results of the installation check
  64.  * @package jelix
  65.  */
  66. class check_installZone extends jZone {
  67.  
  68.     protected $_tplname='check_install';
  69.  
  70.     protected function _prepareTpl({
  71.         $lang $GLOBALS['gJConfig']->locale;
  72.         if(!$this->getParam('no_lang_check')) {
  73.             $languages explode(','$_SERVER['HTTP_ACCEPT_LANGUAGE']);
  74.             foreach($languages as $bl){
  75.                 if(preg_match("/^([a-zA-Z]{2})(?:[-_]([a-zA-Z]{2}))?(;q=[0-9]\\.[0-9])?$/",$bl,$match)){
  76.                     if(isset($match[2]))
  77.                         $lang strtolower($match[1]).'_'.strtoupper($match[2]);
  78.                     else
  79.                         $lang strtolower($match[1]).'_'.strtoupper($match[1]);
  80.                     break;
  81.                 }
  82.             }
  83.             if($lang!='fr_FR' && $lang != 'en_EN' && $lang != 'en_US')
  84.                 $lang 'en_EN';
  85.             $GLOBALS['gJConfig']->locale $lang;
  86.         }
  87.  
  88.         $reporter new checkZoneInstallReporter();
  89.         $check new jInstallCheck($reporter$lang);
  90.         $reporter->messageProvider $check->messages;
  91.         $check->run();
  92.  
  93.         $this->_tpl->assign('wwwpath'jApp::wwwPath());
  94.         $this->_tpl->assign('configpath'jApp::configPath());
  95.         $this->_tpl->assign('check',$reporter->trace);
  96.    }
  97. }

Documentation generated on Mon, 19 Sep 2011 14:11:22 +0200 by phpDocumentor 1.4.3