/** * @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; }
/** * Surchage principale * */ public function init() { $orm = new OrmNode(); $fields = OrmNode::getFieldsFor($this->getModule()); $data = array(); $data['mobilephone'] = request::get('phone'); $data['message'] = request::get('text'); $id_contact = $this->tryToAttach('contacts', $data['mobilephone']); print_r($id_contact); if ($id_contact != 0) { $data['id_contact'] = $id_contact; } $allFields = array_keys($fields); $rez = $orm->upsert($this->getModule(), $allFields, $data); // On est en mode "Pseudo API" donc je kill l'execution a la fin volontairement exit; }
/** * 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); }
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); }
/** * 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); }
/** * 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); } } } }