示例#1
0
文件: Engine.php 项目: reysub/MateCat
 /**
  * @param $id
  *
  * @return Engines_EngineInterface
  * @throws Exception
  */
 public static function getInstance($id)
 {
     if (is_null($id) || $id == '') {
         throw new Exception("Missing id engineRecord", -1);
     }
     $engineDAO = new EnginesModel_EngineDAO(Database::obtain());
     $engineStruct = EnginesModel_EngineStruct::getStruct();
     $engineStruct->id = $id;
     $eng = $engineDAO->setCacheTTL(60 * 5)->read($engineStruct);
     /**
      * @var $engineRecord EnginesModel_EngineStruct
      */
     $engineRecord = @$eng[0];
     if (empty($engineRecord)) {
         throw new Exception("Engine {$id} not found", -2);
     }
     $className = 'Engines_' . $engineRecord->class_load;
     return new $className($engineRecord);
 }
示例#2
0
 /**
  * This method deletes an engine from a user's keyring
  */
 private function disable()
 {
     if (empty($this->id)) {
         $this->result['errors'][] = array('code' => -5, 'message' => "Engine id required");
         return;
     }
     $engineToBeDeleted = EnginesModel_EngineStruct::getStruct();
     $engineToBeDeleted->id = $this->id;
     $engineToBeDeleted->uid = $this->uid;
     $engineDAO = new EnginesModel_EngineDAO(Database::obtain());
     $result = $engineDAO->disable($engineToBeDeleted);
     if (!$result instanceof EnginesModel_EngineStruct) {
         $this->result['errors'][] = array('code' => -9, 'message' => "Deletion failed. Generic error");
         return;
     }
     $this->result['data']['id'] = $result->id;
 }