Exemple #1
0
 /**
  * install an orbit module
  *
  * @param array 		$params 
  */
 public function action_permissions($params)
 {
     $folders = \CCEvent::fire('ccdoctor.permissions');
     if (!is_array($folders)) {
         $folders = array();
     }
     // add storage directories
     foreach (\ClanCats::$config->get('storage.paths') as $folder) {
         $folders[] = $folder;
     }
     foreach ($folders as $folder) {
         $display_folder = \CCStr::replace($folder, array(CCROOT => ''));
         // create directory if not existing
         if (!is_dir($folder)) {
             if (!mkdir($folder, 0755, true)) {
                 $this->error("doctor could not create folder at: {$display_folder}");
             }
         }
         // check permissions
         $perm = substr(decoct(fileperms($folder)), 2);
         if ($perm < 755) {
             CCCli::line(CCCli::color($perm, 'red') . ' - ' . $display_folder . ' fixing with ' . CCCli::color('755', 'green'));
             if (!chmod($folder, 0755)) {
                 CCCli::line("doctor - is not able to change permissions for: {$display_folder}", 'red');
             }
         } elseif ($perm == 777) {
             CCCli::line(CCCli::color($perm, 'yellow') . ' - ' . $display_folder . ' warning! this can be dangerous.');
         } else {
             $this->success('- ' . $display_folder, $perm);
         }
     }
 }
Exemple #2
0
 * but also some mini helpers like _dd() for var_dump and die. 
 */
require COREPATH . 'shortcuts' . EXT;
/*
 *---------------------------------------------------------------
 * shutdown handler
 *---------------------------------------------------------------
 * 
 * Register our shutdown handler so we can display custom error
 * messages and run events before shutdown like saving the 
 * session ect..
 */
register_shutdown_function(function () {
    // try to run all shutdown hooks
    try {
        \CCEvent::fire('CCF.shutdown');
    } catch (\Exception $e) {
    }
    // run error shutdown to catch possible errors
    if (class_exists("\\CCError")) {
        \CCError::shutdown();
    }
});
/*
 *---------------------------------------------------------------
 * exception handler
 *---------------------------------------------------------------
 * 
 * Register our handler for uncaught exceptions, so we can
 * handle them on our own.
 */