Ejemplo n.º 1
0
	public static function internalDataTest(){
		
		$isError = 0;
		$dataPath = _FM_HOME_DIR . DS."data";
		$rightsPath = $dataPath . DS . "rights";
		
		
		$isRightsFolder = 0;
		$isRightsFolderWritable = 0;
		$isDataFolderWritable = 0;
		$isDataFolder = (int) MFile::is($dataPath);
		if($isDataFolder){
			$isDataFolderWritable = (int) MFile::isWritable($dataPath);
			$isRightsFolder = (int) MFile::is($rightsPath);
			if($isRightsFolder){
				$isRightsFolderWritable = (int) MFile::isWritable($rightsPath);
			}else{
				$isRightsFolderWritable = 1;				
			}
		}else{
			$isRightsFolderWritable = 1;
			$isDataFolderWritable = 1;
		}
		
		$dataPath = str_replace("\\", "/", $dataPath);
		$rightsPath = str_replace("\\", "/", $rightsPath);
		
		$isError =  !($isRightsFolder && $isRightsFolderWritable && $isDataFolder && $isDataFolderWritable);
		
		
		$c = new MContainer();
		$c->add('<div class="mMaskHeading"><span>');
		$c->add(MText::_("heading_data", "diagnostics"));
		$c->add('</span></div>');
		
		$c->add('<div style="padding-top:10px;">');
		
		
		$isErr = $isError ? " error" : "";
		$c->add('<div class="mSummary'.$isErr.'"><div style="padding: 10px;">');
		$c->add('<div class="mSummaryHeading">' . MText::_("summary","diagnostics") . '</div><br/>');
		$c->add(  MText::_("data_intro","diagnostics")  . '<br/><br/>');
		
		if($isError){
			
			if(! $isDataFolder){
				$c->add(  sprintf( MText::_("data_error_nodata","diagnostics"), $dataPath)  ."<br/><br/>");
			}
			
			if(! $isDataFolderWritable){
				$c->add(  sprintf( MText::_("data_error_nodatawrite","diagnostics"), $dataPath)  ."<br/><br/>");
			}
			
			if(! $isRightsFolder){
				$c->add(  sprintf( MText::_("data_error_norights","diagnostics"), $rightsPath)  ."<br/><br/>");
			}
			
			if(! $isRightsFolderWritable){
				$c->add(  sprintf( MText::_("data_error_norightswrite","diagnostics"), $rightsPath)  ."<br/>");
			}
			
			
		}else{
			$c->add(  MText::_("data_success","diagnostics") );
		}
		
		$c->add('</div></div></div>');
		
		return $c->get();
	}