Example #1
0
 public function isJoin()
 {
     $obj = new OrmNode();
     $obj->getAllObj();
     $explode = explode("_", $this->getName);
     $nb_exoplode = count($explode);
     if ($nb_exoplode > 1) {
         if ($explode[0] == 'id' && in_array($explode[1], $mudules)) {
         }
     }
 }
Example #2
0
 /**
  *	Methode qui permet d'attacher le nouveau enregistrement
  *	Aux elements definis dans
  *	autoAttach
  */
 public function tryToAttach($module, $value)
 {
     $orm = new OrmNode();
     $fields = $this->autoAttach[$module];
     $arr = array();
     foreach ($fields as $field) {
         $arr[$field] = $value;
     }
     $data = $orm->findDataFromFields($module, $arr);
     if (isset($data[0]['id'])) {
         return $data[0]['id'];
     } else {
         return 0;
     }
 }
Example #3
0
 /**
  *	Methode qui prepare l'ensemble des champs 
  *	En mode edition
  *
  */
 public function init()
 {
     $id = request::get('id');
     $fields = OrmNode::getFieldsFor($this->getModule());
     $data = array();
     if ($id != "") {
         $orm = new OrmNode();
         $content = $orm->getData($this->getModule(), $id);
         $data = OrmNode::dataFieldsAdapter($content, $fields, 'edit', 'rendered');
     } else {
         $data = OrmNode::dataFieldsAdapterEmpty($fields, 'edit', 'rendered');
         $id = 0;
     }
     // Assignation des variables pour le template
     $this->assign('fields', $data);
     $this->assign('id', $id);
 }
Example #4
0
 public function init()
 {
     $id = request::get('id');
     $orm = new OrmNode();
     $fields = OrmNode::getFieldsFor($this->getModule());
     $data = array();
     foreach ($fields as $fieldname => $field) {
         $data[$fieldname] = request::get($fieldname);
     }
     $allFields = array_keys($fields);
     if ($id != "") {
         $allFields[] = 'id';
         $data['id'] = $id;
     }
     $rez = $orm->upsert($this->getModule(), $allFields, $data);
     //		print_r($rez);
     if ($rez['id'] != 0) {
         $id = $rez['id'];
     }
     //echo("========" . $id);
     url::redirect($this->getModule(), 'view', $id);
 }
Example #5
0
 /**
  *	Methode init() surcharge 
  *	On recupere l'ensemble des données ici
  *	on assigne les donnés aux variables de template
  *	Appel a la methode de construction de sublistes
  *
  */
 public function init()
 {
     $this->id = request::get('id');
     $id = $this->id;
     $this->assign('id', $id);
     // Pour le titre du module
     $mainmodule = $this->getModule();
     $this->assign('mainmodule', ucfirst($mainmodule));
     // On recupere la liste des champs pour mainmodule
     $fields = OrmNode::getFieldsFor($mainmodule);
     // On recupere toutes les datas
     $data = array();
     $orm = new OrmNode();
     $content = $orm->getData($this->getModule(), $id);
     $data = OrmNode::dataFieldsAdapter($content, $fields, 'view', 'rendered');
     $this->assign('fields', $data);
     $dataApi['fields'] = $content;
     $lists = $this->getMySublists();
     $dataApi['sublists'] = $lists;
     $this->assign('sublists', $lists);
     $this->assign('datasForApi', $dataApi);
 }
Example #6
0
 /**
  * @brief		Récupère toutes les jointures d'un module
  * @details		Répcupere toutes les jointures d'un module depuis les variables $fields
  * @param	module		Prends en parametre le nom du module
  * @return	array		Renvoi le tableau des jointures des modules
  */
 public static function getJoinsOnModule($module)
 {
     $ret = array();
     $allmodules = self::getAllModules();
     foreach ($allmodules as $mod) {
         $fields = OrmNode::getFieldsFor($mod);
         foreach ($fields as $k => $v) {
             if (isset($v['join']['table']) && $v['join']['table'] == $module) {
                 $ret[$mod][$k] = $v;
             }
         }
     }
     return $ret;
 }
Example #7
0
 /**
  *	Methode permettant d'ajouter une jointure
  *	@brief Ajoute une jointure
  *
  */
 public static function addJoin($table)
 {
     self::$joins = $table;
 }
Example #8
0
 /**
  *	Methode qui renvoi la liste des champs
  *	Pour le module courants
  *	@return	Array	Tableau des champs
  *
  */
 public function getListFields()
 {
     $fields = OrmNode::getFieldsFor($this->getModule());
     $fields['id'] = array('label' => 'id', 'type' => 'int');
     return $fields;
 }
        $toinclude = PATH_MODULES . $dir . PATH_SEP . "fields.php";
        include $toinclude;
        for ($j = 0; $j < $nbr_items_per_table + 100; $j++) {
            $data = DataNode::peopleTableContacts($dir, $fields);
            $obj = new OrmNode();
            $allFields = array_keys($fields);
            $obj->upsert($dir, $allFields, $data);
            print_r($data);
        }
    }
    // Création de toutes les jointures
    $fields = OrmNode::getFieldsFor($dir);
    foreach ($fields as $name => $field) {
        if ($field['type'] == 'join') {
            $joinmodule = $field['join']['table'];
            $orm = new OrmNode();
            $alldata = $orm->getAllData($joinmodule, array('id' => 'id'));
            foreach ($alldata as $d) {
                $randjoin = rand(1, $nbr_items_per_table);
                $fields1 = OrmNode::getFieldsFor($dir);
                $data = array();
                $data[$name] = $randjoin;
                $allFields = array();
                $allFields[] = $name;
                $allFields[] = 'id';
                $data['id'] = $d['id'];
                $rez = $orm->upsert($dir, $allFields, $data);
            }
        }
    }
}