stdout = fopen('php://stdout', 'w'); $this->stderr = fopen('php://stderr', 'w'); call_user_func_array(array(&$this, $method), $messages); } /** * Displays an error page (e.g. 404 Not found). * * @param array $params Parameters (code, name, and message) */ public function error($params) { extract($params, EXTR_OVERWRITE); $this->stderr($code . $name . $message."\n"); $this->_stop(); } /** * Convenience method to display a 404 page. * * @param array $params Parameters (url, message) */ public function error404($params) { extract($params, EXTR_OVERWRITE); $this->error(array( 'code' => '404', 'name' => 'Not found', 'message' => sprintf(__('The requested address %s was not found on this server.'), $url, $message) )); $this->_stop(); } /** * Renders the Missing Controller web page. * * @param array $params Parameters (className) */ public function missingController($params) { extract($params, EXTR_OVERWRITE); $controllerName = str_replace('Controller', '', $className); $this->stderr(sprintf(__("Missing Controller '%s'"), $controllerName)); $this->_stop(); } /** * Renders the Missing Action web page. * * @param array $params Parameters (action, className) */ public function missingAction($params) { extract($params, EXTR_OVERWRITE); $this->stderr(sprintf(__("Missing Method '%s' in '%s'"), $action, $className)); $this->_stop(); } /** * Renders the Private Action web page. * * @param array $params Parameters (action, className) */ public function privateAction($params) { extract($params, EXTR_OVERWRITE); $this->stderr(sprintf(__("Trying to access private method '%s' in '%s'"), $action, $className)); $this->_stop(); } /** * Renders the Missing Table web page. * * @param array $params Parameters (table, className) */ public function missingTable($params) { extract($params, EXTR_OVERWRITE); $this->stderr(sprintf(__("Missing database table '%s' for model '%s'"), $table, $className)); $this->_stop(); } /** * Renders the Missing Database web page. * * @param array $params Parameters */ public function missingDatabase($params = array()) { $this->stderr(__('Missing Database')); $this->_stop(); } /** * Renders the Missing View web page. * * @param array $params Parameters (file, action, className) */ public function missingView($params) { extract($params, EXTR_OVERWRITE); $this->stderr(sprintf(__("Missing View '%s' for '%s' in '%s'"), $file, $action, $className)); $this->_stop(); } /** * Renders the Missing Layout web page. * * @param array $params Parameters (file) */ public function missingLayout($params) { extract($params, EXTR_OVERWRITE); $this->stderr(sprintf(__("Missing Layout '%s'"), $file)); $this->_stop(); } /** * Renders the Database Connection web page. * * @param array $params Parameters */ public function missingConnection($params) { extract($params, EXTR_OVERWRITE); $this->stderr(__("Missing Database Connection. Try 'cake bake'")); $this->_stop(); } /** * Renders the Missing Helper file web page. * * @param array $params Parameters (file, helper) */ public function missingHelperFile($params) { extract($params, EXTR_OVERWRITE); $this->stderr(sprintf(__("Missing Helper file '%s' for '%s'"), $file, Inflector::camelize($helper))); $this->_stop(); } /** * Renders the Missing Helper class web page. * * @param array $params Parameters (file, helper) */ public function missingHelperClass($params) { extract($params, EXTR_OVERWRITE); $this->stderr(sprintf(__("Missing Helper class '%s' in '%s'"), Inflector::camelize($helper), $file)); $this->_stop(); } /** * Renders the Missing Component file web page. * * @param array $params Parameters (file, component) */ public function missingComponentFile($params) { extract($params, EXTR_OVERWRITE); $this->stderr(sprintf(__("Missing Component file '%s' for '%s'"), $file, Inflector::camelize($component))); $this->_stop(); } /** * Renders the Missing Component class web page. * * @param array $params Parameters (file, component) */ public function missingComponentClass($params) { extract($params, EXTR_OVERWRITE); $this->stderr(sprintf(__("Missing Component class '%s' in '%s'"), Inflector::camelize($component), $file)); $this->_stop(); } /** * Renders the Missing Model class web page. * * @param array $params Parameters (className) */ public function missingModel($params) { extract($params, EXTR_OVERWRITE); $this->stderr(sprintf(__("Missing model '%s'"), $className)); $this->_stop(); } /** * Outputs to the stdout filehandle. * * @param string $string String to output. * @param boolean $newline If true, the outputs gets an added newline. */ public function stdout($string, $newline = true) { if ($newline) { fwrite($this->stdout, $string . "\n"); } else { fwrite($this->stdout, $string); } } /** * Outputs to the stderr filehandle. * * @param string $string Error text to output. */ public function stderr($string) { fwrite($this->stderr, "Error: ". $string . "\n"); } } ?>