public function beforeAction() { _currentUser()->assertCredential('group:[current_user]'); if (!Admin::canAdmin()) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('kernel|kernel.error.noRights'), 'back' => CopixUrl::get())); } }
public function processDefault() { _classInclude('sysutils|admin'); if (!Admin::canAdmin()) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('kernel|kernel.error.noRights'), 'back' => CopixUrl::get())); } echo "Récupération des classeurs de classe sans casier\n"; echo "----------------------------------------------------------------------\n\n"; // Récupération des classeurs de classe sans casier $sql = 'SELECT DISTINCT module_classeur.id' . ' FROM kernel_mod_enabled, module_classeur' . ' LEFT JOIN module_classeur_dossier ON (module_classeur_dossier.module_classeur_id = module_classeur.id)' . ' WHERE module_classeur.id = kernel_mod_enabled.module_id' . ' AND kernel_mod_enabled.module_type = "MOD_CLASSEUR"' . ' AND kernel_mod_enabled.node_type = "BU_CLASSE"' . ' AND (module_classeur_dossier.id IS NULL' . ' OR module_classeur_dossier.id NOT IN (SELECT id FROM module_classeur_dossier WHERE casier = 1 AND module_classeur_id = module_classeur.id))'; $results = _doQuery($sql); $dossierDAO = _ioDAO('classeur|classeurdossier'); _classInclude('classeur|classeurService'); echo count($results) . " casiers à créer.\n"; foreach ($results as $result) { $casier = _record('classeur|classeurdossier'); $casier->classeur_id = $result->id; $casier->parent_id = 0; $casier->nom = CopixI18N::get('classeur|classeur.casierNom'); $casier->nb_dossiers = 0; $casier->nb_fichiers = 0; $casier->taille = 0; $casier->cle = classeurService::createKey(); $casier->casier = 1; $casier->date_creation = date('Y-m-d H:i:s'); $dossierDAO->insert($casier); echo "Casier du classeur {$result->id} créé avec succès !\n"; } echo "\n\nFin de la tâche"; return _arNone(); }
/** * Accueil des stats * * @author Christophe Beyer <*****@*****.**> * @since 2007/03/19 */ public function home() { if (!Admin::canAdmin()) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('kernel|kernel.error.noRights'), 'back' => CopixUrl::get())); } $tpl = new CopixTpl(); $tpl->assign('TITLE_PAGE', CopixI18N::get('sysutils|admin.menu.stats')); $tpl->assign('MENU', Admin::getMenu('stats')); $tplStats = new CopixTpl(); $modules = Kernel::getAllModules(); $tab = array(); foreach ($modules as $mod_val) { $arModulesPath = CopixConfig::instance()->arModulesPath; foreach ($arModulesPath as $modulePath) { $class_file = $modulePath . $mod_val . '/' . COPIX_CLASSES_DIR . 'kernel' . $mod_val . '.class.php'; if (!file_exists($class_file)) { continue; } $module_class =& CopixClassesFactory::Create($mod_val . '|Kernel' . $mod_val); //print_r($module_class); if (!is_callable(array($module_class, 'getStatsRoot'))) { continue; } //$classeModule = CopixClassesFactory::create("$label|Kernel$label"); $tab[$mod_val]['module_nom'] = Kernel::Code2Name('mod_' . $mod_val); $tab[$mod_val]['stats'] = $module_class->getStatsRoot(); } } //print_r($tab); $tplStats->assign('tab', $tab); $tpl->assign('MAIN', $tplStats->fetch('sysutils|stats.modules.tpl')); return new CopixActionReturn(COPIX_AR_DISPLAY, $tpl); }
/** * Efface le cache de Copix (dossiers et BDD) * * @author Christophe Beyer <*****@*****.**> * @since 2006/12/05 */ public function clear() { if (!Admin::canAdmin()) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('kernel|kernel.error.noRights'), 'back' => CopixUrl::get())); } CacheServices::clearCache(); CacheServices::clearConfDB(); return new CopixActionReturn(COPIX_AR_REDIRECT, CopixUrl::get('sysutils||')); }
/** * Affiche la matrice des droits de visibilité entre utilisateurs * * @author Frédéric Mossmann <*****@*****.**> * @since 2006/12/07 */ public function view() { CopixHTMLHeader::addCSSLink(_resource("styles/module_sysutils.css")); if (!Admin::canAdmin()) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('kernel|kernel.error.noRights'), 'back' => CopixUrl::get())); } $user_types = array('USER_VIL', 'USER_ENS', 'USER_ADM', 'USER_RES', 'USER_ELE', 'USER_EXT'); $visibility_matrice = array(); foreach ($user_types as $src) { foreach ($user_types as $dst) { $visibility_matrice[$src][$dst] = Kernel::getUserTypeVisibility($dst, $src); } } $tplUserVisibility = new CopixTpl(); $tpl = new CopixTpl(); $tpl->assign('TITLE_PAGE', CopixI18N::get('sysutils|admin.moduleDescription')); $tplUserVisibility->assign('visibility', $visibility_matrice); $tplUserVisibility->assign('user_types', $user_types); $tpl->assign('MAIN', $tplUserVisibility->fetch('sysutils|uservisibility.tpl')); return new CopixActionReturn(COPIX_AR_DISPLAY, $tpl); }
public function processDoCreateAccounts() { $comptes_service =& CopixClassesFactory::Create('comptes|ComptesService'); if (!Admin::canAdmin()) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('kernel|kernel.error.noRights'), 'back' => CopixUrl::get())); } $limit = $this->getRequest('limit', 5); $password = $this->getRequest('password', '123456'); $ppo = new CopixPPO(); // dbuser : id_dbuser login_dbuser password_dbuser email_dbuser enabled_dbuser // kernel_link_bu2user : user_id bu_type bu_id $sql_params = array(); $sql = ' SELECT E.idEleve, E.nom, E.prenom1 AS prenom, KLB2U.* FROM kernel_bu_eleve E LEFT JOIN kernel_link_bu2user KLB2U ON E.idEleve=KLB2U.bu_id AND KLB2U.bu_type="USER_ELE" WHERE bu_type IS NULL'; $ppo->user_ele = CopixDB::getConnection()->doQuery($sql, $sql_params); $sql = ' SELECT P.numero, P.nom, P.prenom1 AS prenom, P.civilite, P.id_sexe, PE.role, KLB2U.* FROM kernel_bu_personnel_entite PE, kernel_bu_personnel P LEFT JOIN kernel_link_bu2user KLB2U ON P.numero=KLB2U.bu_id AND KLB2U.bu_type="USER_ENS" WHERE PE.type_ref="ECOLE" AND (PE.role=1 OR PE.role=2) AND PE.id_per=P.numero AND bu_type IS NULL'; $ppo->user_ens = CopixDB::getConnection()->doQuery($sql, $sql_params); $sql = ' SELECT P.numero, P.nom, P.prenom1 AS prenom, P.civilite, P.id_sexe, PE.role, KLB2U.* FROM kernel_bu_personnel_entite PE, kernel_bu_personnel P LEFT JOIN kernel_link_bu2user KLB2U ON P.numero=KLB2U.bu_id AND KLB2U.bu_type="USER_VIL" WHERE PE.type_ref="VILLE" AND PE.role=4 AND PE.id_per=P.numero AND bu_type IS NULL'; $ppo->user_vil = CopixDB::getConnection()->doQuery($sql, $sql_params); $sql = ' SELECT R.numero, R.nom, R.prenom1 AS prenom, R.civilite, R.id_sexe, KLB2U.* FROM kernel_bu_responsable R LEFT JOIN kernel_link_bu2user KLB2U ON R.numero=KLB2U.bu_id AND KLB2U.bu_type="USER_RES" WHERE bu_type IS NULL'; $ppo->user_res = CopixDB::getConnection()->doQuery($sql, $sql_params); $fusible = $limit; echo "<pre>"; foreach ($ppo->user_ele as $eleve) { if ($fusible-- <= 0) { break; } $user_infos = Kernel::getUserInfo('USER_ELE', $eleve->idEleve); $login = $comptes_service->createLogin($user_infos); $user_new = CopixDAOFactory::createRecord("kernel|kernel_copixuser"); $user_new->login_dbuser = $login; $user_new->password_dbuser = md5($password); $user_new->email_dbuser = ''; $user_new->enabled_dbuser = 1; _dao("kernel|kernel_copixuser")->insert($user_new); $bu_new = _record("kernel|kernel_bu2user2"); $bu_new->user_id = $user_new->id_dbuser; $bu_new->bu_type = 'USER_ELE'; $bu_new->bu_id = $eleve->idEleve; _dao("kernel|kernel_bu2user2")->insert($bu_new); echo $eleve->nom . ";" . $eleve->prenom . ";" . $login . ";" . $password . "\n"; } foreach ($ppo->user_ens as $ens) { if ($fusible-- <= 0) { break; } $user_infos = Kernel::getUserInfo('USER_ENS', $ens->numero); $login = $comptes_service->createLogin($user_infos); $user_new = CopixDAOFactory::createRecord("kernel|kernel_copixuser"); $user_new->login_dbuser = $login; $user_new->password_dbuser = md5($password); $user_new->email_dbuser = ''; $user_new->enabled_dbuser = 1; _dao("kernel|kernel_copixuser")->insert($user_new); $bu_new = _record("kernel|kernel_bu2user2"); $bu_new->user_id = $user_new->id_dbuser; $bu_new->bu_type = 'USER_ENS'; $bu_new->bu_id = $ens->numero; _dao("kernel|kernel_bu2user2")->insert($bu_new); echo $ens->nom . ";" . $ens->prenom . ";" . $login . ";" . $password . "\n"; } foreach ($ppo->user_vil as $vil) { if ($fusible-- <= 0) { break; } $user_infos = Kernel::getUserInfo('USER_VIL', $vil->numero); $login = $comptes_service->createLogin($user_infos); $user_new = CopixDAOFactory::createRecord("kernel|kernel_copixuser"); $user_new->login_dbuser = $login; $user_new->password_dbuser = md5($password); $user_new->email_dbuser = ''; $user_new->enabled_dbuser = 1; _dao("kernel|kernel_copixuser")->insert($user_new); $bu_new = _record("kernel|kernel_bu2user2"); $bu_new->user_id = $user_new->id_dbuser; $bu_new->bu_type = 'USER_VIL'; $bu_new->bu_id = $vil->numero; _dao("kernel|kernel_bu2user2")->insert($bu_new); echo $vil->nom . ";" . $vil->prenom . ";" . $login . ";" . $password . "\n"; } foreach ($ppo->user_res as $res) { if ($fusible-- <= 0) { break; } $user_infos = Kernel::getUserInfo('USER_RES', $res->numero); $login = $comptes_service->createLogin($user_infos); $user_new = CopixDAOFactory::createRecord("kernel|kernel_copixuser"); $user_new->login_dbuser = $login; $user_new->password_dbuser = md5($password); $user_new->email_dbuser = ''; $user_new->enabled_dbuser = 1; _dao("kernel|kernel_copixuser")->insert($user_new); $bu_new = _record("kernel|kernel_bu2user2"); $bu_new->user_id = $user_new->id_dbuser; $bu_new->bu_type = 'USER_RES'; $bu_new->bu_id = $res->numero; _dao("kernel|kernel_bu2user2")->insert($bu_new); echo $res->nom . ";" . $res->prenom . ";" . $login . ";" . $password . "\n"; } echo "</pre>"; die; /* * * * * $user_infos = Kernel::getUserInfo( $user_type, $user_id ); // V�rification de l'existance d'un login. // -> Si c'est le cas, il ne faut pas proposer un nouveau login. $bu_user = $bu_dao->getByBUID( $user_type, $user_id ); if( !count($bu_user) ) { $user_infos['login'] = $comptes_service->createLogin( $user_infos ); $user_new = CopixDAOFactory::createRecord("kernel|kernel_copixuser"); $user_new->login_dbuser = $pLogin[$typeid]; $user_new->password_dbuser = md5($pPasswd[$typeid]); $user_new->email_dbuser = ''; $user_new->enabled_dbuser = 1; if( $user_dao->insert( $user_new ) ) { // Cr�ation du lien entre l'utilisateur de la base unique et le login. $bu_new = _record("kernel|kernel_bu2user2"); $bu_new->user_id = $user_new->id_dbuser; $bu_new->bu_type = $user_type; $bu_new->bu_id = $user_id; // Enregistrement et v�rification de l'insertion. if( _dao("kernel|kernel_bu2user2")->insert( $bu_new ) ) { */ }
public function processCerise() { $magic = $this->getRequest('hackme', ''); $rne = $this->getRequest('rne', ''); if ($magic != 'assurdiato' && !Admin::canAdmin()) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('kernel|kernel.error.noRights'), 'back' => CopixUrl::get())); } // ECOLES $params = array(); $sql = "\n SELECT\n kernel_bu_ecole.numero AS id,\n kernel_bu_ecole.RNE AS rne,\n kernel_bu_ecole.type,\n kernel_bu_ecole.nom,\n kernel_bu_ville.nom AS ville_nom\n FROM kernel_bu_ecole\n LEFT JOIN kernel_bu_ville\n ON kernel_bu_ecole.id_ville=kernel_bu_ville.id_vi"; if ($rne) { $sql .= " WHERE rne=:rne"; $params[':rne'] = $rne; } $sql .= " ORDER BY id"; $ecolesList = _doQuery($sql, $params); // echo "<pre>"; print_r($ecolesList); // CLASSES $params = array(); $sql = "\n SELECT\n kernel_bu_ecole_classe.id,\n kernel_bu_ecole_classe.ecole,\n kernel_bu_ecole_classe.nom\n FROM kernel_bu_ecole_classe\n JOIN kernel_bu_annee_scolaire\n ON kernel_bu_ecole_classe.annee_scol=kernel_bu_annee_scolaire.id_as\n JOIN kernel_bu_ecole ON kernel_bu_ecole_classe.ecole=kernel_bu_ecole.numero\n WHERE kernel_bu_annee_scolaire.current=1\n AND kernel_bu_ecole_classe.is_validee=1\n AND kernel_bu_ecole_classe.is_supprimee=0"; if ($rne) { $sql .= " AND kernel_bu_ecole.rne=:rne"; $params[':rne'] = $rne; } $sql .= "\tORDER BY id"; $classesList = _doQuery($sql, $params); // echo "<pre>"; print_r($classesList); $in_classe = array(); foreach ($classesList as $classe) { $in_classe[] = $classe->id; } $in_classe = implode(",", $in_classe); // echo "<pre>"; print_r($in_classe); // kernel_bu_ecole_classe : id ecole nom annee_scol is_validee is_supprimee // kernel_bu_annee_scolaire : id_as annee_scolaire dateDebut dateFin current // ENSEIGNANTS // LIEN ENSEIGNANTS-CLASSE if ($in_classe == "") { $enseignantsRoleList = array(); } else { $sql = "\n SELECT\n kernel_bu_personnel.numero AS id,\n kernel_bu_personnel.nom,\n kernel_bu_personnel.nom_jf,\n kernel_bu_personnel.prenom1 AS prenom,\n kernel_bu_personnel.civilite,\n kernel_bu_personnel.mel AS email,\n kernel_bu_personnel_entite.reference AS id_classe,\n dbuser.id_dbuser AS user_id,\n dbuser.login_dbuser AS user_login\n -- ,dbuser.password_dbuser\n -- ,kernel_bu_personnel_entite.reference\n FROM kernel_bu_personnel\n JOIN kernel_bu_personnel_entite\n ON kernel_bu_personnel.numero=kernel_bu_personnel_entite.id_per\n LEFT JOIN kernel_link_bu2user ON kernel_link_bu2user.bu_type='USER_ENS' AND kernel_link_bu2user.bu_id=kernel_bu_personnel.numero\n LEFT JOIN dbuser ON kernel_link_bu2user.user_id=dbuser.id_dbuser\n WHERE kernel_bu_personnel_entite.type_ref='CLASSE' AND kernel_bu_personnel_entite.role=1\n AND kernel_bu_personnel_entite.reference IN (" . $in_classe . ")\n "; $enseignantsRoleList = _doQuery($sql); } // echo "<pre>"; print_r($enseignantsRoleList); $enseignantsList = array(); $linkEnseignantsClasseList = array(); foreach ($enseignantsRoleList as $ensrole) { $new_role = new CopixPPO(); $new_role->id_enseignant = $ensrole->id; $new_role->id_classe = $ensrole->id_classe; $linkEnseignantsClasseList[] = $new_role; if (!isset($enseignantsList[$ensrole->id])) { unset($ensrole->id_classe); $enseignantsList[$ensrole->id] = $ensrole; } } // LIEN ENSEIGNANTS-ECOLE (directeur) if ($in_classe == "") { $directeursRoleList = array(); } else { $params = array(); $sql = "\n SELECT\n kernel_bu_personnel.numero AS id_enseignant,\n kernel_bu_personnel.nom,\n kernel_bu_personnel.nom_jf,\n kernel_bu_personnel.prenom1 AS prenom,\n kernel_bu_personnel.civilite,\n kernel_bu_personnel.mel AS email,\n kernel_bu_personnel_entite.reference AS id_ecole,\n\n kernel_bu_personnel_entite.role,\n\n dbuser.id_dbuser AS user_id,\n dbuser.login_dbuser AS user_login\n -- ,dbuser.password_dbuser\n -- ,kernel_bu_personnel_entite.reference\n\n FROM kernel_bu_personnel\n JOIN kernel_bu_personnel_entite\n ON kernel_bu_personnel.numero=kernel_bu_personnel_entite.id_per\n JOIN kernel_bu_ecole\n ON kernel_bu_ecole.numero=kernel_bu_personnel_entite.reference AND kernel_bu_personnel_entite.type_ref='ECOLE' -- AND kernel_bu_personnel_entite.role=2\n\n LEFT JOIN kernel_link_bu2user ON kernel_link_bu2user.bu_type='USER_ENS' AND kernel_link_bu2user.bu_id=kernel_bu_personnel.numero\n LEFT JOIN dbuser ON kernel_link_bu2user.user_id=dbuser.id_dbuser\n "; if ($rne) { $sql .= " WHERE rne=:rne"; $params[':rne'] = $rne; } $directeursRoleList = _doQuery($sql, $params); } // id_per reference type_ref role $linkEnseignantsEcoleList = array(); foreach ($directeursRoleList as $ensrole) { $new_role = new CopixPPO(); $new_role->id_enseignant = $ensrole->id_enseignant; $new_role->id_ecole = $ensrole->id_ecole; $new_role->role = $ensrole->role; $new_role->nom = $ensrole->nom; $new_role->nom_jf = $ensrole->nom_jf; $new_role->prenom = $ensrole->prenom; $new_role->civilite = $ensrole->civilite; $new_role->email = $ensrole->email; $new_role->user_id = $ensrole->user_id; $new_role->user_login = $ensrole->user_login; $linkEnseignantsEcoleList[] = $new_role; } // echo "<pre>"; print_r($directeursRoleList); // echo "<pre>"; print_r($linkEnseignantsEcoleList); // kernel_bu_personnel : numero nom nom_jf prenom1 civilite id_sexe date_nais cle_privee profession tel_dom tel_gsm tel_pro mel num_rue num_seq adresse1 adresse2 code_postal commune id_ville pays challenge dateChallenge // kernel_bu_personnel_entite : id_per reference type_ref role (type_ref=ECOLE/CLASSE) // kernel_bu_personnel_role : id_role nom_role nom_role_pluriel perimetre priorite (id_role=1 ENS; id_role=2 DIR) // kernel_link_bu2user : user_id bu_type bu_id // dbuser : id_dbuser login_dbuser password_dbuser email_dbuser enabled_dbuser // ELEVES // kernel_bu_eleve : idEleve numero INE nom nom_jf prenom1 prenom2 prenom3 civilite id_sexe pays_nais nationalite dep_nais com_nais date_nais annee_france num_rue num_seq adresse1 adresse2 code_postal commune id_ville pays hors_scol id_directeur observations flag adresse_tmp date_tmp ele_last_update // kernel_bu_eleve_admission : numero eleve etablissement annee_scol id_niveau etat_eleve date date_effet code_radiation previsionnel // kernel_bu_eleve_affectation : id eleve annee_scol classe niveau dateDebut current previsionnel_cl if ($in_classe == "") { $eleveList = array(); } else { $sql = "\n SELECT\n kernel_bu_eleve.idEleve AS id_eleve,\n kernel_bu_eleve.nom AS nom_eleve,\n kernel_bu_eleve.prenom1 AS prenom_eleve,\n kernel_bu_eleve.id_sexe AS id_sexe_eleve,\n kernel_bu_eleve.date_nais AS date_nais_eleve,\n\n kernel_bu_sexe.sexe AS sexe_eleve,\n\n kernel_bu_eleve_affectation.classe AS id_classe_eleve,\n kernel_bu_eleve_affectation.niveau AS niveau_eleve,\n\n kernel_bu_classe_niveau.niveau_court AS niveau_court_eleve,\n kernel_bu_classe_niveau.niveau AS niveau_long_eleve,\n\n dbuser_eleve.id_dbuser AS id_dbuser_eleve,\n dbuser_eleve.login_dbuser AS login_dbuser_eleve,\n dbuser_eleve.password_dbuser AS password_dbuser_eleve,\n\n kernel_bu_responsable.numero AS id_resp,\n kernel_bu_responsable.nom AS nom_resp,\n kernel_bu_responsable.prenom1 AS prenom_resp,\n kernel_bu_responsable.mel AS email_resp,\n\n dbuser_resp.id_dbuser AS id_dbuser_resp,\n dbuser_resp.login_dbuser AS login_dbuser_resp,\n dbuser_resp.password_dbuser AS password_dbuser_resp\n\n FROM kernel_bu_eleve\n\n JOIN kernel_bu_sexe\n ON kernel_bu_sexe.id_s=kernel_bu_eleve.id_sexe\n\n JOIN kernel_bu_eleve_affectation\n ON kernel_bu_eleve.idEleve=kernel_bu_eleve_affectation.eleve\n\n JOIN kernel_bu_annee_scolaire\n ON kernel_bu_eleve_affectation.annee_scol=kernel_bu_annee_scolaire.id_as\n\n JOIN kernel_bu_classe_niveau\n ON kernel_bu_classe_niveau.id_n=kernel_bu_eleve_affectation.niveau\n\n LEFT JOIN kernel_link_bu2user kernel_link_bu2user_eleve ON kernel_link_bu2user_eleve.bu_type='USER_ELE' AND kernel_link_bu2user_eleve.bu_id=kernel_bu_eleve.idEleve\n LEFT JOIN dbuser dbuser_eleve ON kernel_link_bu2user_eleve.user_id=dbuser_eleve.id_dbuser\n\n LEFT JOIN kernel_bu_responsables\n ON kernel_bu_responsables.id_beneficiaire=kernel_bu_eleve.idEleve\n AND kernel_bu_responsables.type_beneficiaire='eleve'\n AND kernel_bu_responsables.type='responsable'\n\n LEFT JOIN kernel_bu_responsable\n ON kernel_bu_responsable.numero=kernel_bu_responsables.id_responsable\n\n LEFT JOIN kernel_link_bu2user kernel_link_bu2user_resp ON kernel_link_bu2user_resp.bu_type='USER_RES' AND kernel_link_bu2user_resp.bu_id=kernel_bu_responsable.numero\n LEFT JOIN dbuser dbuser_resp ON kernel_link_bu2user_resp.user_id=dbuser_resp.id_dbuser\n\n\n WHERE kernel_bu_annee_scolaire.current=1\n AND kernel_bu_eleve_affectation.current=1\n AND kernel_bu_eleve_affectation.classe IN (" . $in_classe . ")\n "; $eleveList = _doQuery($sql); } $elevesList = array(); $responsablesList = array(); $linkElevesResponsablesList = array(); foreach ($eleveList as $eleve) { if ($eleve->id_eleve && $eleve->id_resp) { $new_linkElevesResponsablesList = new CopixPPO(); $new_linkElevesResponsablesList->id_eleve = $eleve->id_eleve; $new_linkElevesResponsablesList->id_responsable = $eleve->id_resp; $linkElevesResponsablesList[] = $new_linkElevesResponsablesList; } if ($eleve->id_eleve && !isset($elevesList[$eleve->id_eleve])) { $new_elevesList = new CopixPPO(); $new_elevesList->id = $eleve->id_eleve; $new_elevesList->nom = $eleve->nom_eleve; $new_elevesList->prenom = $eleve->prenom_eleve; $new_elevesList->id_sexe = $eleve->id_sexe_eleve; $new_elevesList->date_nais = $eleve->date_nais_eleve; $new_elevesList->sexe = $eleve->sexe_eleve; $new_elevesList->classe = $eleve->id_classe_eleve; $new_elevesList->niveau_court = $eleve->niveau_court_eleve; $new_elevesList->niveau_long = $eleve->niveau_long_eleve; $new_elevesList->user_id = $eleve->id_dbuser_eleve; $new_elevesList->user_login = $eleve->login_dbuser_eleve; $elevesList[$eleve->id_eleve] = $new_elevesList; } if ($eleve->id_resp && !isset($responsablesList[$eleve->id_resp])) { $new_responsablesList = new CopixPPO(); $new_responsablesList->id = $eleve->id_resp; $new_responsablesList->nom = $eleve->nom_resp; $new_responsablesList->prenom = $eleve->prenom_resp; $new_responsablesList->user_id = $eleve->id_dbuser_resp; $new_responsablesList->user_login = $eleve->login_dbuser_resp; $new_responsablesList->email = $eleve->email_resp; $responsablesList[$eleve->id_resp] = $new_responsablesList; } } // echo "<pre>"; print_r($eleveList); // echo "<pre>"; print_r($responsablesList); // echo "<pre>"; print_r($linkElevesResponsablesList); $xmlstr = '<iconito></iconito>'; $export = new SimpleXMLElement($xmlstr); $xml_items = $export->addChild('ecoles'); if (1) { foreach ($ecolesList as $item) { $xml_ecole = $xml_items->addChild('ecole'); $xml_ecole->addAttribute('id', $item->id); $xml_ecole->addChild('id', $item->id); $xml_ecole->addChild('rne', $item->rne); $xml_ecole->addChild('type', $item->type); $xml_ecole->addChild('nom', $item->nom); $xml_ecole->addChild('ville_nom', $item->ville_nom); } } $xml_items = $export->addChild('classes'); if (1) { foreach ($classesList as $item) { $xml_item = $xml_items->addChild('classe'); $xml_item->addAttribute('id', $item->id); $xml_item->addChild('id', $item->id); $xml_item->addChild('nom', $item->nom); $xml_item->addChild('ecole', $item->ecole); } } $xml_items = $export->addChild('enseignants'); if (1) { foreach ($enseignantsList as $item) { $xml_item = $xml_items->addChild('enseignant'); $xml_item->addAttribute('id', $item->id); $xml_item->addChild('id', $item->id); $xml_item->addChild('nom', $item->nom); $xml_item->addChild('nom_jf', $item->nom_jf); $xml_item->addChild('prenom', $item->prenom); $xml_item->addChild('civilite', $item->civilite); $xml_item->addChild('email', $item->email); $xml_item->addChild('user_id', $item->user_id); $xml_item->addChild('user_login', $item->user_login); } } $xml_items = $export->addChild('liens_classe_enseignant'); if (1) { foreach ($linkEnseignantsClasseList as $item) { $xml_item = $xml_items->addChild('lien_classe_enseignant'); $xml_item->addChild('id_enseignant', $item->id_enseignant); $xml_item->addChild('id_classe', $item->id_classe); } } $xml_items = $export->addChild('liens_ecole_enseignant'); if (1) { foreach ($linkEnseignantsEcoleList as $item) { $xml_item = $xml_items->addChild('lien_ecole_enseignant'); $xml_item->addChild('id_enseignant', $item->id_enseignant); $xml_item->addChild('id_ecole', $item->id_ecole); $xml_item->addChild('directeur', $item->role == 2 ? 1 : 0); $xml_item->addChild('nom', $item->nom); $xml_item->addChild('nom_jf', $item->nom_jf); $xml_item->addChild('prenom', $item->prenom); $xml_item->addChild('civilite', $item->civilite); $xml_item->addChild('email', $item->email); $xml_item->addChild('user_id', $item->user_id); $xml_item->addChild('user_login', $item->user_login); } } $xml_items = $export->addChild('eleves'); if (1) { foreach ($elevesList as $item) { $xml_item = $xml_items->addChild('eleve'); $xml_item->addAttribute('id', $item->id); $xml_item->addChild('id', $item->id); $xml_item->addChild('nom', $item->nom); $xml_item->addChild('prenom', $item->prenom); $xml_item->addChild('id_sexe', $item->id_sexe); $xml_item->addChild('date_nais', $item->date_nais); $xml_item->addChild('sexe', $item->sexe); $xml_item->addChild('classe', $item->classe); $xml_item->addChild('niveau_court', $item->niveau_court); $xml_item->addChild('niveau_long', $item->niveau_long); $xml_item->addChild('user_id', $item->user_id); $xml_item->addChild('user_login', $item->user_login); } } $xml_items = $export->addChild('responsables'); if (1) { foreach ($responsablesList as $item) { $xml_item = $xml_items->addChild('responsable'); $xml_item->addAttribute('id', $item->id); $xml_item->addChild('id', $item->id); $xml_item->addChild('nom', $item->nom); $xml_item->addChild('nom_jf', $item->nom_jf); $xml_item->addChild('prenom', $item->prenom); $xml_item->addChild('email', $item->email); $xml_item->addChild('user_id', $item->user_id); $xml_item->addChild('user_login', $item->user_login); } } $xml_items = $export->addChild('liens_eleve_responsable'); if (1) { foreach ($linkElevesResponsablesList as $item) { $xml_item = $xml_items->addChild('lien_eleve_responsable'); $xml_item->addChild('id_eleve', $item->id_eleve); $xml_item->addChild('id_responsable', $item->id_responsable); } } $export_xml = $export->asXML(); header("Content-Type:text/xml"); die($export_xml); }