/** * Returns instance of model * * @return Database_Model|null * * @static */ public static function getInstance() { if (self::$_instance === null) { self::$_instance = new self(); } return self::$_instance; }
public function testExpected() { $wefact = new Module(); $model = Model::getInstance(); $this->getSecureProperty($wefact, '_registrarId')->setValue($wefact, 1); $response = $this->getSecureProperty($model, '_response'); $expected = array('be', 'eu', 'com'); $response->setValue($model, $expected); self::assertEquals($expected, $wefact->getAvailableTlds()); $response->setValue($model, null); }
/** * Returns either NULL or array of available TLDs * Helpful for domain synchronization, that was ODR will filter only supported TLDs, less time for you, less requests for us * * @return array|null */ public function getAvailableTlds() { if ($this->_availableTlds !== null) { return $this->_availableTlds; } if ($this->_registrarId === null) { return null; } $this->_availableTlds = array(); $pdoStatement = Database_Model::getInstance()->prepare('SELECT `Tld` FROM `WeFact_TopLevelDomain` WHERE `Registrar` = :registrar'); $pdoStatement->bindValue(':registrar', $this->_registrarId); $pdoStatement->execute(); $this->_availableTlds = (array) $pdoStatement->fetchAll(PDO::FETCH_COLUMN); return empty($this->_availableTlds) ? array() : $this->_availableTlds; }
$custom_period_list = array('last_day' => 'Last 24 hours', 'last_week' => 'Last week', 'last_month' => 'Last month', 'since_bot' => 'Since BOT'); $view->assign('custom_period_list', $custom_period_list); // Set period start - end for widget header $view->assign('literal_period', strftime("%a %e %b %Y", $custom_period[0]) . ' to ' . strftime("%a %e %b %Y", $custom_period[1])); // Running, completed, failed, waiting and canceled jobs status over last 24 hours $view->assign('running_jobs', Jobs_Model::count_Jobs($dbSql->db_link, $custom_period, 'running')); $view->assign('completed_jobs', Jobs_Model::count_Jobs($dbSql->db_link, $custom_period, 'completed')); $view->assign('failed_jobs', Jobs_Model::count_Jobs($dbSql->db_link, $custom_period, 'failed')); $view->assign('waiting_jobs', Jobs_Model::count_Jobs($dbSql->db_link, $custom_period, 'waiting')); $view->assign('canceled_jobs', Jobs_Model::count_Jobs($dbSql->db_link, $custom_period, 'canceled')); // Stored files number $view->assign('stored_files', CUtils::format_Number(Jobs_Model::getStoredFiles($dbSql->db_link, $no_period))); // Overall stored bytes $view->assign('stored_bytes', CUtils::Get_Human_Size(Jobs_Model::getStoredBytes($dbSql->db_link, $no_period))); // Database size $view->assign('database_size', Database_Model::get_Size($dbSql->db_link, $dbSql->catalog_current_id)); // Total bytes and files stored over the last 24 hours $view->assign('bytes_last', CUtils::Get_Human_Size(Jobs_Model::getStoredBytes($dbSql->db_link, $custom_period))); $view->assign('files_last', CUtils::format_Number(Jobs_Model::getStoredFiles($dbSql->db_link, $custom_period))); // Number of clients $view->assign('clients', Clients_Model::count($dbSql->db_link)); // Defined Jobs and Filesets $view->assign('defined_filesets', FileSets_Model::count($dbSql->db_link)); $view->assign('defined_jobs', Jobs_Model::count_Job_Names($dbSql->db_link)); // Incremental, Differential and Full jobs over the last 24 hours $view->assign('incr_jobs', Jobs_Model::count_Jobs($dbSql->db_link, $custom_period, null, J_INCR)); $view->assign('diff_jobs', Jobs_Model::count_Jobs($dbSql->db_link, $custom_period, null, J_DIFF)); $view->assign('full_jobs', Jobs_Model::count_Jobs($dbSql->db_link, $custom_period, null, J_FULL)); // Volumes disk usage $volumes_size = Volumes_Model::getDiskUsage($dbSql->db_link); $view->assign('volumes_size', CUtils::Get_Human_Size($volumes_size));