protected static function putTestContent()
 {
     QC::executeSQL('SET FOREIGN_KEY_CHECKS = 0');
     QC::executeSQL('DROP TABLE IF EXISTS products');
     QC::executeSQL('DROP TABLE IF EXISTS brands');
     QC::executeSQL('DROP TABLE IF EXISTS brands_translate');
     $storagePath = __DIR__ . '/storage/';
     $mo = ModelOperator::getInstance($storagePath);
     $mo->generateBasicStructure('Product');
     $mo->generateBasicStructure('Brand');
     ModelStructure::getInstanceForModel('Product')->addColumn('id_brand', array('type' => 'int(11) unsigned'))->addRelation('brand')->saveStructure();
     ModelStructure::getInstanceForModel('Brand')->addRelation('products')->addAbility('translate', array('columns' => array('title')))->saveStructure();
     $mo->generateAllModelClasses();
     require_once $storagePath . 'bases/BaseProduct.php';
     require_once $storagePath . 'bases/BaseBrand.php';
     require_once $storagePath . 'classes/Product.php';
     require_once $storagePath . 'classes/Brand.php';
     ModelOperator::getAbilityInstanceForModel('Brand', 'Translate')->cleanup();
     $mo->updateDBForAllModels();
 }
Example #2
0
 private function _preDelete()
 {
     $abilities = $this->_structure->getAbilities();
     if (empty($abilities)) {
         $abilities = array();
     }
     foreach ($abilities as $abilityName => $abilityInfo) {
         ModelOperator::getAbilityInstanceForModel($this->_name, $abilityName)->preDelete($this);
     }
     $this->preDelete();
 }
Example #3
0
 public function setupAddedAbilities()
 {
     if (empty($this->_addedAbilities)) {
         return $this;
     }
     foreach ($this->_addedAbilities as $abilityName) {
         $instance = ModelOperator::getAbilityInstanceForModel($this->_modelName, $abilityName);
         $instance->setup();
     }
     $this->_addedAbilities = array();
     return $this;
 }
Example #4
0
 private function _postLoad()
 {
     $abilities = $this->_structure->getAbilities();
     if (empty($abilities)) {
         $abilities = array();
     }
     foreach ($abilities as $abilityName => $abilityInfo) {
         ModelOperator::getAbilityInstanceForModel($this->_modelClass, $abilityName)->postLoad($this);
     }
     $relations = $this->_structure->getRelations();
     if (empty($relations)) {
         $relations = array();
     }
     foreach ($relations as $relationName => $relationInfo) {
         if (!empty($relationInfo['autoload'])) {
             $this->loadRelated($relationName);
         }
     }
     $this->postLoad();
 }