Beispiel #1
0
 /**
  * This hook is called when system experience fatal error
  *
  * @param Error $error
  * @return null
  */
 function handle_fatal_error($error)
 {
     if (DEBUG >= DEBUG_DEVELOPMENT) {
         dump_error($error);
         die;
     } else {
         print '<p style="text-align: left; background: red; color: white; padding: 5px; font: 12px Verdana; font-weight: normal;">Fatal error: We failed to executed your request</p>';
         die;
     }
     // if
 }
Beispiel #2
0
 /**
  * Handle fatal error
  *
  * @param Error $error
  * @return null
  */
 function handle_fatal_error($error)
 {
     if (DEBUG >= DEBUG_DEVELOPMENT) {
         dump_error($error);
     } else {
         if (instance_of($error, 'RoutingError') || instance_of($error, 'RouteNotDefinedError')) {
             header("HTTP/1.1 404 Not Found");
             print '<h1>Not Found</h1>';
             if (instance_of($error, 'RoutingError')) {
                 print '<p>Page "<em>' . clean($error->getRequestString()) . '</em>" not found.</p>';
             } else {
                 print '<p>Route "<em>' . clean($error->getRouteName()) . '</em>" not mapped.</p>';
             }
             // if
             print '<p><a href="' . assemble_url('homepage') . '">&laquo; Back to homepage</a></p>';
             die;
         }
         // if
         // Send email to administrator
         if (defined('ADMIN_EMAIL') && is_valid_email(ADMIN_EMAIL)) {
             $content = '<p>Hi,</p><p>activeCollab setup at ' . clean(ROOT_URL) . ' experienced fatal error. Info:</p>';
             ob_start();
             dump_error($error, false);
             $content .= ob_get_clean();
             @mail(ADMIN_EMAIL, 'activeCollab Crash Report', $content, "Content-Type: text/html; charset=utf-8");
         }
         // if
         // log...
         if (defined('ENVIRONMENT_PATH') && class_exists('Logger')) {
             $logger =& Logger::instance();
             $logger->logToFile(ENVIRONMENT_PATH . '/logs/' . date('Y-m-d') . '.txt');
         }
         // if
     }
     // if
     $error_message = '<div style="text-align: left; background: white; color: red; padding: 7px 15px; border: 1px solid red; font: 12px Verdana; font-weight: normal;">';
     $error_message .= '<p>Fatal error: activeCollab has failed to executed your request (reason: ' . clean(get_class($error)) . '). Information about this error has been logged and sent to administrator.</p>';
     if (is_valid_url(ROOT_URL)) {
         $error_message .= '<p><a href="' . ROOT_URL . '">&laquo; Back to homepage</a></p>';
     }
     // if
     $error_message .= '</div>';
     print $error_message;
     die;
 }
 /**
  * Add new error to collection
  *
  * @param Error $error
  * @return boolean
  */
 function collect(&$error)
 {
     if (!instance_of($error, 'Error')) {
         return false;
     }
     // if
     $this->errors[] = $error;
     if ($error->is_fatal) {
         if (function_exists('handle_fatal_error')) {
             handle_fatal_error($error);
         } else {
             if (defined('DEBUG') && DEBUG) {
                 dump_error($error);
             } else {
                 print 'We are sorry but fatal error prevented system from executing your request. Please try again in a few minutes';
             }
             // if
             die;
         }
         // if
     }
     // if
 }
Beispiel #4
0
function httpfs_chown($data)
{
    $fields = unpack('Nuid/Ngid', $data);
    $path = explode("", substr($data, 8), 2)[0];
    if ($fields['uid'] != 0xffffffff) {
        $u = chown($path, $fields['uid']);
        $g = TRUE;
    }
    if ($fields['gid'] != 0xffffffff) {
        $g = chgrp($path, $fields['gid']);
        $u = TRUE;
    }
    if ($u && $g) {
        dump_ok();
    } else {
        dump_error(NOT_PERMITTED);
    }
}
 /**
  * Connect to database with parameters provided in config file
  *
  * @param void
  * @return boolean
  */
 function connect_to_database()
 {
     $database_connect = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME, DB_PERSIST, DB_CHARSET);
     if (is_error($database_connect)) {
         if (DEBUG) {
             dump_error($database_connect);
         } else {
             trigger_error('Failed to connect to database');
         }
         // if
     }
     // if
 }