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(); }