/** * Note: If the mailer is accessed prior to this controller action, this will possibly test the wrong mailer * * @Request({"option": "array"}, csrf=true) */ public function emailAction($option = []) { try { $config = Arr::merge(App::module('system/mail')->config(), $option); $response['success'] = (bool) App::mailer()->create(__('Test email!'), __('Testemail'), $config['from_address'])->send(); $response['message'] = $response['success'] ? __('Mail successfully sent!') : __('Mail delivery failed!'); } catch (\Exception $e) { $response = ['success' => false, 'message' => sprintf(__('Mail delivery failed! (%s)'), $e->getMessage())]; } return $response; }
/** * @Request({"config": "array"}) */ public function checkAction($config = []) { $status = 'no-connection'; $message = ''; try { try { if (!$this->config) { foreach ($config as $name => $values) { if ($module = App::module($name)) { $module->config = Arr::merge($module->config, $values); } } } App::db()->connect(); if (App::db()->getUtility()->tableExists('@system_config')) { $status = 'tables-exist'; $message = __('Existing Rimbo installation detected. Choose different table prefix?'); } else { $status = 'no-tables'; } } catch (ConnectionException $e) { if ($e->getPrevious()->getCode() == 1049) { $this->createDatabase(); $status = 'no-tables'; } else { throw $e; } } } catch (\Exception $e) { $message = __('Database connection failed!'); if ($e->getCode() == 1045) { $message = __('Database access denied!'); } } return ['status' => $status, 'message' => $message]; }
/** * @param mixed $values * @param bool $replace * @return self */ public function addParameters(array $values, $replace = false) { $this->parameters = Arr::merge($this->parameters, $values, $replace); return $this; }
/** * Merges values from another array. * * @param mixed $values * @param bool $replace * @return self */ public function merge($values, $replace = false) { $this->values = Arr::merge($this->values, $values, $replace); $this->dirty = true; return $this; }