public function load() { if (Cache::read('qe.dbconfig_' . hash("md5", "qe_dbconfig"), QEResp::QUICK_EMAILER_CACHE)) { return true; } if (Configure::check('qe.dbconfig')) { if (!file_exists(APP . 'Config' . DS . 'database.php')) { return QEResp::RESPOND(QEResp::ERROR, QuickEmailerErrorDefinitions::NO_DATABASE_CONFIGURED()); } try { $datasource = ConnectionManager::getDataSource(Configure::read('qe.dbconfig')); if ($datasource->connected) { $this->CheckTables($datasource); Cache::write('qe.dbconfig_' . hash("md5", "qe_dbconfig"), true, QEResp::QUICK_EMAILER_CACHE); return true; } return QEResp::RESPOND(QEResp::ERROR, QuickEmailerErrorDefinitions::NO_DATABASE_CONFIGURED()); } catch (Exception $e) { $excep_message = QuickEmailerResponseHandler::AddExceptionInfo(QuickEmailerErrorDefinitions::NO_DATABASE_CONFIGURED(), $e); //TODO: Log errors return QEResp::RESPOND(QEResp::ERROR, $excep_message); } } else { return QEResp::RESPOND(QEResp::ERROR, QuickEmailerErrorDefinitions::NO_DATABASE_CONFIGURED()); } }
public static function RESPOND($type, $response_array) { if ($type == QuickEmailerResponseHandler::ERROR) { if (Configure::read("debug") != 0) { return new CakeResponse(array('body' => json_encode($response_array), 'status' => 200)); } else { return new CakeResponse(array('body' => json_encode(QuickEmailerResponseHandler::GetGenericMessage()), 'status' => 200)); } } elseif ($type == QuickEmailerResponseHandler::GENERAL) { return new CakeResponse(array('body' => json_encode($response_array), 'status' => 200)); } }