]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 7 Jan 2014 17:14:46 +0000 (17:14 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 7 Jan 2014 17:14:46 +0000 (17:14 +0000)
inc/commons/class.common.ajax.php
inc/commons/class.common.tools.php

index 1e5543d5750b4124196c36f4bf10ba73f4e5b3a9..2488fcb45524460815d4921c43e8ebe180e534c1 100644 (file)
-<?php\r
-\r
-class commonAjax {\r
-\r
-       public static function form($action, $titre, $form, $bouton = null, $cols = 2, $class = '', $extra = '', $return = false) {\r
-               global $core;\r
-               if ($class != '') {\r
-                       $class = ' ' . $class;\r
-               }\r
-               $bouton = is_null($bouton) ? __('Enregister') : $bouton;\r
-               $colspan = $cols > 2 ? ' colspan="' . ($cols - 1) . '"' : '';\r
-               $res = commonPage::bh();\r
-               $res .= '<form action="' . $action . '" method="post">';\r
-               $res .= '<table class="form' . $class . '">';\r
-               $res .= '<tr><th' . $colspan . '><h1>' . $titre . '</h1></th><th class="right"><a href="#" class="closePopup">' . cubeMedia::image(IMG . '/close.png') . '</a></th></tr>';\r
-               $res .= $form;\r
-               if ($bouton) {\r
-                       $res .= '<tr><td colspan="' . $cols . '" class="right"><a href="#" class="submit">' . $core->typo->BoutonOK($bouton) . '</a></td></tr>';\r
-               }\r
-               $res .= '</table>';\r
-               $res .= $extra;\r
-               $res .= '</form>';\r
-               $res .= commonPage::bf();\r
-\r
-               if (!$return) {\r
-                       echo $res;\r
-                       exit;\r
-               }\r
-               return $res;\r
-       }\r
-\r
-       public static function page($liste, $page) {\r
-               global $core;\r
-               $core->user->changeSettings($liste, 'page', $page);\r
-               $core->sauvePreferencesUtilisateur();\r
-       }\r
-\r
-       public static function parPage($liste, $nb) {\r
-               global $core;\r
-               $core->user->changeSettings($liste, 'par_page', $nb);\r
-               $core->user->changeSettings($liste, 'page', 1);\r
-               $core->sauvePreferencesUtilisateur();\r
-       }\r
-\r
-       public static function sort($liste, $orderby) {\r
-               global $core;\r
-               $settings = $core->user->getSettings($liste);\r
-               if ($orderby == 'facture_id') {\r
-                       $orderby = 'CAST(facture_id AS SIGNED)';\r
-               }\r
-\r
-               if ($settings['orderby'] == $orderby) {\r
-                       $sens = ($settings['sens'] == 'ASC') ? 'DESC' : 'ASC';\r
-                       $core->user->changeSettings($liste, 'orderby', $orderby);\r
-                       $core->user->changeSettings($liste, 'sens', $sens);\r
-               } else {\r
-                       $core->user->changeSettings($liste, 'orderby', $orderby);\r
-                       $core->user->changeSettings($liste, 'sens', 'ASC');\r
-               }\r
-               $core->sauvePreferencesUtilisateur();\r
-       }\r
-\r
-       public static function filtre($liste, $data = null) {\r
-               global $core;\r
-               $core->user->changeSettings($liste, 'filtres', $data);\r
-               $core->user->changeSettings($liste, 'page', 1);\r
-               $core->sauvePreferencesUtilisateur();\r
-       }\r
-\r
-       public static function motdepasseOublie($args, &$x) {\r
-               self::form('recupMotdepasse', 'Mot de passe oublié ?', commonUrl::motdepasseOublie($args), __('Recevoir mon mot de passe par e-mail'));\r
-       }\r
-\r
-       public static function mesParametres($args, &$x) {\r
-               self::form('sauveMesParametres', 'Mes paramètres', commonUrl::mesParametres($args), false);\r
-       }\r
-\r
-       public static function sauveMesParametres($args, &$x) {\r
-               global $core;\r
-               $dao = new commonDAOUtilisateur($core->con);\r
-               $dao->changeParametres($core->user->utilisateur_id, $_POST['lang'], $_POST['login']);\r
-               $x->addRedirection();\r
-       }\r
-\r
-       public static function recupMotdepasse($args, &$x) {\r
-               global $core;\r
-               $dao = new commonDAOUtilisateur($core->con);\r
-               $utilisateur = $dao->selectByEmail($_POST['email']);\r
-\r
-               if (!is_null($utilisateur) && $utilisateur->enabled) {\r
-                       $mail = new cubeMail();\r
-                       $mail->charset = 'UTF-8';\r
-                       $mail->from = FROM_NAME . '<' . FROM_EMAIL . '>';\r
-                       $mail->bcc = MAIL_BCC;\r
-                       $mail->subject = '[' . EMAIL_SUBJECT . '] ' . __('Récupération de vos identifiants');\r
-                       $mail->to = $utilisateur->prenom . ' ' . $utilisateur->nom . '<' . $utilisateur->email . '>';\r
-                       $body = __('Bonjour,') . "\r\n\r\n";\r
-                       $body .= ASK_IDENT . "\r\n";\r
-                       $body .= __('Voici toutes les informations vous permettant de vous y connecter à nouveau :') . "\r\n\r\n";\r
-                       $body .= __('Adresse') . ' : http://' . $_SERVER['HTTP_HOST'] . '/' . "\r\n";\r
-                       $body .= __('Identifiant') . ' : ' . $utilisateur->email . "\r\n";\r
-                       $body .= __('Mot de passe') . ' : ' . $utilisateur->password . "\r\n\r\n";\r
-                       $body .= __('Cordialement,') . "\r\n";\r
-                       $body .= TEAM_NAME;\r
-                       $mail->body = $body;\r
-                       $ok = $mail->send();\r
-                       $message = $ok ? __('Vos identifiants vous ont été envoyé par e-mail') : __("Une erreur s'est produite lors de l'envoi de vos identifiants");\r
-               } else {\r
-                       $message = __('Cet e-mail ne correspond à aucun utilisateur du système');\r
-               }\r
-               $x->addAlert($message);\r
-               $x->addClosePopup();\r
-       }\r
-\r
-       public static function changeMotdepasse($args, &$x) {\r
-               self::form('sauveMotdepasse', 'Changer mon mot de passe', commonUrl::changeMotdepasse(), __('Enregistrer mon nouveau mot de passe'));\r
-       }\r
-\r
-       public static function sauveMotdepasse($args, &$x) {\r
-               global $core;\r
-\r
-               $ok = true;\r
-               if ($_POST['actuel'] != $core->user->password) {\r
-                       $x->addError('actuel', '');\r
-                       $ok = false;\r
-               } else {\r
-                       $x->addOk('actuel');\r
-               }\r
-\r
-               if (strlen($_POST['nouveau']) > 10 || strlen($_POST['nouveau']) < 6 || $_POST['nouveau'] != $_POST['confirmation']) {\r
-                       $x->addError('nouveau', '');\r
-                       $x->addError('confirmation', '');\r
-                       $ok = false;\r
-               } else {\r
-                       $x->addOk('nouveau');\r
-                       $x->addOk('confirmation');\r
-               }\r
-\r
-               if ($ok) {\r
-                       $dao = new commonDAOUtilisateur($core->con);\r
-                       $dao->changeMotdepasse($core->user->utilisateur_id, $_POST['nouveau']);\r
-\r
-                       $_SESSION['user_password'] = $_POST['password'];\r
-                       $x->addClosePopup();\r
-                       $x->addAlert(__('Votre mot de passe a été modifié'));\r
-               }\r
-       }\r
-\r
-       public static function connectAs($args, &$x) {\r
-               global $core;\r
-               $dao = new commonDAOUtilisateur($core->con);\r
-               $utilisateur = $dao->selectById($args[1]);\r
-\r
-               $_SESSION['user_email'] = $utilisateur->email;\r
-               $_SESSION['user_password'] = $utilisateur->password;\r
-\r
-               $x->addRedirection(SITE_PATH);\r
-       }\r
-\r
-       public static function sortFichiers($args, &$x) {\r
-               commonAjax::sort('fichiers', $args[1]);\r
-               $x->addContent('listeFichiers', commonUrl::listeFichiers());\r
-       }\r
-\r
-       public static function pageFichiers($args, &$x) {\r
-               commonAjax::page('fichiers', $args[1]);\r
-               $x->addContent('listeFichiers', commonUrl::listeFichiers());\r
-       }\r
-\r
-       public static function parPageFichiers($args, &$x) {\r
-               commonAjax::parPage('fichiers', $_POST['par_page']);\r
-               $x->addContent('listeFichiers', commonUrl::listeFichiers());\r
-       }\r
-\r
-       public static function searchFichiers($args, &$x) {\r
-               $x->addContent('listeFichiers', commonUrl::listeFichiers());\r
-       }\r
-\r
-       public static function refreshFichiers($args, &$x) {\r
-               $x->addContent('listeFichiers', commonUrl::listeFichiers());\r
-       }\r
-\r
-       public static function supprimeFichier($args, &$x) {\r
-               global $core;\r
-\r
-               array_shift($args);\r
-               $path = implode('/', $args);\r
-               $entreprise = array_shift($args);\r
-               commonDroits::telecharger($entreprise);\r
-\r
-               $dao = new commonDAOFichier($core->con);\r
-               $dao->supprime($path);\r
-               $x->addContent('listeFichiers', commonUrl::listeFichiers());\r
-       }\r
-\r
-       public static function formDashboard($args, &$x) {\r
-               commonAjax::form('saveDashboard', __('Ajouter un élément au dashboard'), commonUrl::formDashboard($args));\r
-       }\r
-\r
-       public static function saveDashboard($args, &$x) {\r
-               global $core;\r
-\r
-               $c = $core->con->openCursor('dashboard');\r
-               $c->site = MODE;\r
-               $c->nom = $_POST['nom'];\r
-               if ($_POST['dashboard_id'] == 'new') {\r
-                       $c->rubrique = $_POST['rubrique'];\r
-                       $c->equipier = $core->user->utilisateur_id;\r
-                       $c->settings = serialize($core->user->getSettings($_POST['rubrique']));\r
-                       $r = $core->con->select('SELECT MAX(dashboard_id) AS dashboard_id FROM dashboard');\r
-                       $c->dashboard_id = $r->dashboard_id + 1;\r
-                       $c->insert();\r
-               } else {\r
-                       $c->update('WHERE dashboard_id=\'' . $_POST['dashboard_id'] . '\'');\r
-               }\r
-               $x->addRedirection(SITE_PATH);\r
-       }\r
-\r
-       public static function pageDashboard($args, &$x) {\r
-               $settings = self::getDashboardSettings($args[1]);\r
-               $settings['page'] = $args[2];\r
-               $r = self::saveDashboardSettings($args[1], $settings);\r
-               $x->addContent('dashboard_' . $args[1], commonUrl::displayDashboard($r));\r
-       }\r
-\r
-       public static function parPageDashboard($args, &$x) {\r
-               $settings = self::getDashboardSettings($args[1]);\r
-               $settings['par_page'] = $_POST['par_page'];\r
-               $settings['page'] = 1;\r
-               $r = self::saveDashboardSettings($args[1], $settings);\r
-               $x->addContent('dashboard_' . $args[1], commonUrl::displayDashboard($r));\r
-       }\r
-\r
-       public static function sortDashboard($args, &$x) {\r
-               $settings = self::getDashboardSettings($args[1]);\r
-               if ($settings['orderby'] == $args[2]) {\r
-                       $settings['sens'] = ($settings['sens'] == 'ASC') ? 'DESC' : 'ASC';\r
-               } else {\r
-                       $settings['orderby'] = $args[2];\r
-                       $settings['sens'] = 'ASC';\r
-               }\r
-               $r = self::saveDashboardSettings($args[1], $settings);\r
-               $x->addContent('dashboard_' . $args[1], commonUrl::displayDashboard($r));\r
-       }\r
-\r
-       public static function saveDashboardSettings($dashboard, $settings) {\r
-               global $core;\r
-\r
-               $settings['page'] = $settings['page'] ? $settings['page'] : 1;\r
-\r
-               if ($settings['par_page'] > 0) {\r
-                       $settings['limit'] = array(($settings['page'] - 1) * $settings['par_page'], $settings['par_page']);\r
-               } else {\r
-                       $settings['limit'] = null;\r
-               }\r
-\r
-               $c = $core->con->openCursor('dashboard');\r
-               $c->settings = serialize($settings);\r
-               $c->update('WHERE dashboard_id=' . $dashboard);\r
-               return $core->con->select('SELECT * FROM dashboard WHERE dashboard_id=\'' . $core->con->escape($dashboard) . '\'');\r
-       }\r
-\r
-       public static function getDashboardSettings($dashboard) {\r
-               global $core;\r
-               $r = $core->con->select('SELECT * FROM dashboard WHERE dashboard_id=\'' . $core->con->escape($dashboard) . '\'');\r
-               return unserialize($r->settings);\r
-       }\r
-\r
-       public static function delDashboard($args, &$x) {\r
-               global $core;\r
-               $r = $core->con->execute('DELETE FROM dashboard WHERE dashboard_id=\'' . $core->con->escape($args[1]) . '\' AND equipier=\'' . $core->user->utilisateur_id . '\'');\r
-               $x->addReplace('dashboard_' . $args[1], '');\r
-       }\r
-\r
-       public static function reloadDashboards($args, &$x) {\r
-               $x->addContent('dash', commonUrl::listeDashboard(array()));\r
-       }\r
-\r
-       public static function orderDashboards($args, &$x) {\r
-               global $core;\r
-               $c = $core->con->openCursor('dashboard');\r
-               $i = 1;\r
-               foreach ($_GET['dashboard'] as $id) {\r
-                       $c->sort = $i;\r
-                       $c->update('WHERE dashboard_id=\'' . $core->con->escape($id) . '\'');\r
-                       $i++;\r
-               }\r
-       }\r
-\r
-       public static function toggleDashboard($args, &$x) {\r
-               global $core;\r
-\r
-               $r = $core->con->select('SELECT state FROM dashboard WHERE dashboard_id=\'' . $core->con->escape($args[1]) . '\'');\r
-               $new = ($r->state == '1') ? '0' : '1';\r
-\r
-               $c = $core->con->openCursor('dashboard');\r
-               $c->state = $new;\r
-               $c->update('WHERE dashboard_id=\'' . $core->con->escape($args[1]) . '\'');\r
-       }\r
-\r
-       public static function syncftp($args, &$x) {\r
-               commonDroits::min(5);\r
-               $u = parse_url('ftp://' . ltrim($_POST['dest'], '/'));\r
-               if (!isset($u['port'])) {\r
-                       $u['port'] = '21';\r
-               }\r
-\r
-               $commandes = array(\r
-                       'set ftp:passive-mode ' . $_POST['mode'],\r
-                       'mkdir -p ' . $u['path'],\r
-                       'cd ' . $u['path'],\r
-                       'lcd ' . $_POST['source'],\r
-                       'mirror -Rve --parallel=5'\r
-               );\r
-\r
-               //$lftp->setManualArg( . '> mirror -Rv ' . $package);\r
-\r
-               $lftp = new cubeCommandLine('lftp');\r
-               $lftp->setArg('u', $u['user'] . ',' . $u['pass']);\r
-               $lftp->setArg('p', $u['port']);\r
-               $lftp->setArg('e', implode(';', $commandes));\r
-               $lftp->setArg(null, $u['host']);\r
-               $lftp->execute();\r
-\r
-               $x->addValue('res', utf8_encode($lftp->output));\r
-       }\r
-\r
-}\r
-\r
+<?php
+
+class commonAjax {
+
+       public static function form($action, $titre, $form, $bouton = null, $cols = 2, $class = '', $extra = '', $return = false) {
+               global $core;
+               if ($class != '') {
+                       $class = ' ' . $class;
+               }
+               $bouton = is_null($bouton) ? __('Enregister') : $bouton;
+               $colspan = $cols > 2 ? ' colspan="' . ($cols - 1) . '"' : '';
+               $res = commonPage::bh();
+               $res .= '<form action="' . $action . '" method="post">';
+               $res .= '<table class="form' . $class . '">';
+               $res .= '<tr><th' . $colspan . '><h1>' . $titre . '</h1></th><th class="right"><a href="#" class="closePopup">' . cubeMedia::image(IMG . '/close.png') . '</a></th></tr>';
+               $res .= $form;
+               if ($bouton) {
+                       $res .= '<tr><td colspan="' . $cols . '" class="right"><a href="#" class="submit">' . $core->typo->BoutonOK($bouton) . '</a></td></tr>';
+               }
+               $res .= '</table>';
+               $res .= $extra;
+               $res .= '</form>';
+               $res .= commonPage::bf();
+
+               if (!$return) {
+                       echo $res;
+                       exit;
+               }
+               return $res;
+       }
+
+       public static function page($liste, $page) {
+               global $core;
+               $core->user->changeSettings($liste, 'page', $page);
+               $core->sauvePreferencesUtilisateur();
+       }
+
+       public static function parPage($liste, $nb) {
+               global $core;
+               $core->user->changeSettings($liste, 'par_page', $nb);
+               $core->user->changeSettings($liste, 'page', 1);
+               $core->sauvePreferencesUtilisateur();
+       }
+
+       public static function sort($liste, $orderby) {
+               global $core;
+               $settings = $core->user->getSettings($liste);
+               if ($orderby == 'facture_id') {
+                       $orderby = 'CAST(facture_id AS SIGNED)';
+               }
+
+               if ($settings['orderby'] == $orderby) {
+                       $sens = ($settings['sens'] == 'ASC') ? 'DESC' : 'ASC';
+                       $core->user->changeSettings($liste, 'orderby', $orderby);
+                       $core->user->changeSettings($liste, 'sens', $sens);
+               } else {
+                       $core->user->changeSettings($liste, 'orderby', $orderby);
+                       $core->user->changeSettings($liste, 'sens', 'ASC');
+               }
+               $core->sauvePreferencesUtilisateur();
+       }
+
+       public static function filtre($liste, $data = null) {
+               global $core;
+               $core->user->changeSettings($liste, 'filtres', $data);
+               $core->user->changeSettings($liste, 'page', 1);
+               $core->sauvePreferencesUtilisateur();
+       }
+
+       public static function motdepasseOublie($args, &$x) {
+               self::form('recupMotdepasse', 'Mot de passe oublié ?', commonUrl::motdepasseOublie($args), __('Recevoir mon mot de passe par e-mail'));
+       }
+
+       public static function mesParametres($args, &$x) {
+               self::form('sauveMesParametres', 'Mes paramètres', commonUrl::mesParametres($args), false);
+       }
+
+       public static function sauveMesParametres($args, &$x) {
+               global $core;
+               $dao = new commonDAOUtilisateur($core->con);
+               $dao->changeParametres($core->user->utilisateur_id, $_POST['lang'], $_POST['login']);
+               $x->addRedirection();
+       }
+
+       public static function recupMotdepasse($args, &$x) {
+               global $core;
+               $dao = new commonDAOUtilisateur($core->con);
+               $utilisateur = $dao->selectByEmail($_POST['email']);
+
+               if (!is_null($utilisateur) && $utilisateur->enabled) {
+                       $mail = new cubeMail();
+                       $mail->charset = 'UTF-8';
+                       $mail->from = FROM_NAME . '<' . FROM_EMAIL . '>';
+                       $mail->bcc = MAIL_BCC;
+                       $mail->subject = '[' . EMAIL_SUBJECT . '] ' . __('Récupération de vos identifiants');
+                       $mail->to = $utilisateur->prenom . ' ' . $utilisateur->nom . '<' . $utilisateur->email . '>';
+                       $body = __('Bonjour,') . "\r\n\r\n";
+                       $body .= ASK_IDENT . "\r\n";
+                       $body .= __('Voici toutes les informations vous permettant de vous y connecter à nouveau :') . "\r\n\r\n";
+                       $body .= __('Adresse') . ' : http://' . $_SERVER['HTTP_HOST'] . '/' . "\r\n";
+                       $body .= __('Identifiant') . ' : ' . $utilisateur->email . "\r\n";
+                       $body .= __('Mot de passe') . ' : ' . $utilisateur->password . "\r\n\r\n";
+                       $body .= __('Cordialement,') . "\r\n";
+                       $body .= TEAM_NAME;
+                       $mail->body = $body;
+                       $ok = $mail->send();
+                       $message = $ok ? __('Vos identifiants vous ont été envoyé par e-mail') : __("Une erreur s'est produite lors de l'envoi de vos identifiants");
+               } else {
+                       $message = __('Cet e-mail ne correspond à aucun utilisateur du système');
+               }
+               $x->addAlert($message);
+               $x->addClosePopup();
+       }
+
+       public static function changeMotdepasse($args, &$x) {
+               self::form('sauveMotdepasse', 'Changer mon mot de passe', commonUrl::changeMotdepasse(), __('Enregistrer mon nouveau mot de passe'));
+       }
+
+       public static function sauveMotdepasse($args, &$x) {
+               global $core;
+
+               $ok = true;
+               if ($_POST['actuel'] != $core->user->password) {
+                       $x->addError('actuel', '');
+                       $ok = false;
+               } else {
+                       $x->addOk('actuel');
+               }
+
+               if (strlen($_POST['nouveau']) > 10 || strlen($_POST['nouveau']) < 6 || $_POST['nouveau'] != $_POST['confirmation']) {
+                       $x->addError('nouveau', '');
+                       $x->addError('confirmation', '');
+                       $ok = false;
+               } else {
+                       $x->addOk('nouveau');
+                       $x->addOk('confirmation');
+               }
+
+               if ($ok) {
+                       $dao = new commonDAOUtilisateur($core->con);
+                       $dao->changeMotdepasse($core->user->utilisateur_id, $_POST['nouveau']);
+
+                       $_SESSION['user_password'] = $_POST['password'];
+                       $x->addClosePopup();
+                       $x->addAlert(__('Votre mot de passe a été modifié'));
+               }
+       }
+
+       public static function connectAs($args, &$x) {
+               global $core;
+               $dao = new commonDAOUtilisateur($core->con);
+               $utilisateur = $dao->selectById($args[1]);
+
+               $_SESSION['user_email'] = $utilisateur->email;
+               $_SESSION['user_password'] = $utilisateur->password;
+
+               $x->addRedirection(SITE_PATH);
+       }
+
+       public static function sortFichiers($args, &$x) {
+               commonAjax::sort('fichiers', $args[1]);
+               $x->addContent('listeFichiers', commonUrl::listeFichiers());
+       }
+
+       public static function pageFichiers($args, &$x) {
+               commonAjax::page('fichiers', $args[1]);
+               $x->addContent('listeFichiers', commonUrl::listeFichiers());
+       }
+
+       public static function parPageFichiers($args, &$x) {
+               commonAjax::parPage('fichiers', $_POST['par_page']);
+               $x->addContent('listeFichiers', commonUrl::listeFichiers());
+       }
+
+       public static function searchFichiers($args, &$x) {
+               $x->addContent('listeFichiers', commonUrl::listeFichiers());
+       }
+
+       public static function refreshFichiers($args, &$x) {
+               $x->addContent('listeFichiers', commonUrl::listeFichiers());
+       }
+
+       public static function supprimeFichier($args, &$x) {
+               global $core;
+
+               array_shift($args);
+               $path = implode('/', $args);
+               $entreprise = array_shift($args);
+               commonDroits::telecharger($entreprise);
+
+               $dao = new commonDAOFichier($core->con);
+               $dao->supprime($path);
+               $x->addContent('listeFichiers', commonUrl::listeFichiers());
+       }
+
+       public static function formDashboard($args, &$x) {
+               commonAjax::form('saveDashboard', __('Ajouter un élément au dashboard'), commonUrl::formDashboard($args));
+       }
+
+       public static function saveDashboard($args, &$x) {
+               global $core;
+
+               $c = $core->con->openCursor('dashboard');
+               $c->site = MODE;
+               $c->nom = $_POST['nom'];
+               if ($_POST['dashboard_id'] == 'new') {
+                       $c->rubrique = $_POST['rubrique'];
+                       $c->equipier = $core->user->utilisateur_id;
+                       $c->settings = serialize($core->user->getSettings($_POST['rubrique']));
+                       $r = $core->con->select('SELECT MAX(dashboard_id) AS dashboard_id FROM dashboard');
+                       $c->dashboard_id = $r->dashboard_id + 1;
+                       $c->insert();
+               } else {
+                       $c->update('WHERE dashboard_id=\'' . $_POST['dashboard_id'] . '\'');
+               }
+               $x->addRedirection(SITE_PATH);
+       }
+
+       public static function pageDashboard($args, &$x) {
+               $settings = self::getDashboardSettings($args[1]);
+               $settings['page'] = $args[2];
+               $r = self::saveDashboardSettings($args[1], $settings);
+               $x->addContent('dashboard_' . $args[1], commonUrl::displayDashboard($r));
+       }
+
+       public static function parPageDashboard($args, &$x) {
+               $settings = self::getDashboardSettings($args[1]);
+               $settings['par_page'] = $_POST['par_page'];
+               $settings['page'] = 1;
+               $r = self::saveDashboardSettings($args[1], $settings);
+               $x->addContent('dashboard_' . $args[1], commonUrl::displayDashboard($r));
+       }
+
+       public static function sortDashboard($args, &$x) {
+               $settings = self::getDashboardSettings($args[1]);
+               if ($settings['orderby'] == $args[2]) {
+                       $settings['sens'] = ($settings['sens'] == 'ASC') ? 'DESC' : 'ASC';
+               } else {
+                       $settings['orderby'] = $args[2];
+                       $settings['sens'] = 'ASC';
+               }
+               $r = self::saveDashboardSettings($args[1], $settings);
+               $x->addContent('dashboard_' . $args[1], commonUrl::displayDashboard($r));
+       }
+
+       public static function saveDashboardSettings($dashboard, $settings) {
+               global $core;
+
+               $settings['page'] = $settings['page'] ? $settings['page'] : 1;
+
+               if ($settings['par_page'] > 0) {
+                       $settings['limit'] = array(($settings['page'] - 1) * $settings['par_page'], $settings['par_page']);
+               } else {
+                       $settings['limit'] = null;
+               }
+
+               $c = $core->con->openCursor('dashboard');
+               $c->settings = serialize($settings);
+               $c->update('WHERE dashboard_id=' . $dashboard);
+               return $core->con->select('SELECT * FROM dashboard WHERE dashboard_id=\'' . $core->con->escape($dashboard) . '\'');
+       }
+
+       public static function getDashboardSettings($dashboard) {
+               global $core;
+               $r = $core->con->select('SELECT * FROM dashboard WHERE dashboard_id=\'' . $core->con->escape($dashboard) . '\'');
+               return unserialize($r->settings);
+       }
+
+       public static function delDashboard($args, &$x) {
+               global $core;
+               $r = $core->con->execute('DELETE FROM dashboard WHERE dashboard_id=\'' . $core->con->escape($args[1]) . '\' AND equipier=\'' . $core->user->utilisateur_id . '\'');
+               $x->addReplace('dashboard_' . $args[1], '');
+       }
+
+       public static function reloadDashboards($args, &$x) {
+               $x->addContent('dash', commonUrl::listeDashboard(array()));
+       }
+
+       public static function orderDashboards($args, &$x) {
+               global $core;
+               $c = $core->con->openCursor('dashboard');
+               $i = 1;
+               foreach ($_GET['dashboard'] as $id) {
+                       $c->sort = $i;
+                       $c->update('WHERE dashboard_id=\'' . $core->con->escape($id) . '\'');
+                       $i++;
+               }
+       }
+
+       public static function toggleDashboard($args, &$x) {
+               global $core;
+
+               $r = $core->con->select('SELECT state FROM dashboard WHERE dashboard_id=\'' . $core->con->escape($args[1]) . '\'');
+               $new = ($r->state == '1') ? '0' : '1';
+
+               $c = $core->con->openCursor('dashboard');
+               $c->state = $new;
+               $c->update('WHERE dashboard_id=\'' . $core->con->escape($args[1]) . '\'');
+       }
+
+       public static function syncftp($args, &$x) {
+               commonDroits::min(5);
+               $u = parse_url('ftp://' . ltrim($_POST['dest'], '/'));
+               if (!isset($u['port'])) {
+                       $u['port'] = '21';
+               }
+
+               $commandes = array(
+                       'set ftp:passive-mode ' . $_POST['mode'],
+                       'mkdir -p ' . $u['path'],
+                       'cd ' . $u['path'],
+                       'lcd ' . $_POST['source'],
+                       'mirror -Rve --parallel=5'
+               );
+
+               //$lftp->setManualArg( . '> mirror -Rv ' . $package);
+
+               $lftp = new cubeCommandLine('lftp');
+               $lftp->setArg('u', $u['user'] . ',' . $u['pass']);
+               $lftp->setArg('p', $u['port']);
+               $lftp->setArg('e', implode(';', $commandes));
+               $lftp->setArg(null, $u['host']);
+               $lftp->execute();
+
+               $x->addValue('res', utf8_encode($lftp->output));
+       }
+
+       public static function createDevSpace($args, &$x) {
+
+               global $core;
+
+               $domain = $_POST['domain'];
+               $svn = $_POST['svn'];
+               $user = $_POST['user'];
+               $zend = $_POST['zend'];
+               if (!$user) {
+                       $user = $domain;
+               }
+               if (!$svn) {
+                       $svn = $domain;
+               }
+
+               $domain = cubeText::str2URL($domain);
+               $user = cubeText::str2URL($user);
+               $svn = cubeText::str2URL($svn);
+               $password = CubeIT_Crypt::generateRandomString(10);
+               $zend = cubeText::str2URL($zend);
+               $zend = cubeText::ucfirst($zend);
+
+               $body = "Adresse : http://$domain.dev.cubedesigners.com
+
+SSH : $domain.dev.cubedesigners.com
+Nom d'utilisateur : $user
+Mot de passe : $password
+Chemin : /home/$user/www
+Port : 22
+
+Base de données MySQL : https://chihiro.fluidbook.com/phpmyadmin/
+Hôte : localhost
+Nom d'utilisateur : $user
+Nom de la base : $user
+Mot de passe : $password
+
+SVN : svn+ssh://svn@svn.cubedesigners.com/projects/$svn";
+
+               $mail = new cubeMail();
+               $mail->charset = 'UTF-8';
+               $mail->from = 'extranet@cubedesigners.com';
+               $mail->to = $core->user->email;
+               $mail->subject = 'Création de l\'espace de développement "' . $domain . '"';
+               $mail->body = $body;
+               $mail->send();
+
+               $args = "-l $user -d $svn -o $domain -u $user -p $password";
+               if ($zend) {
+                       $args.=" -n $zend";
+               }
+
+               `ssh root@chihiro.cubedesigners.com /usr/local/bin/tools/projectcreator/make.php $args`;
+
+               $x->addAlert('Espace de développement crée. Vous allez recevoir un mail récapitulant les identifiants de l\'espace crée');
+       }
+
+}
+
 ?>
\ No newline at end of file
index 16f53d88b6a8871e19d36237aaec19108073b18b..1fe201f52e103b7d6c88dde7113e2a2dc9924d45 100644 (file)
@@ -903,7 +903,7 @@ class commonTools {
                $res.='<tr><td>Sous-domaine</td><td>' . form::field('domain', 20, 512) . '.dev.cubedesigners.com</td></tr>';
                $res.='<tr><td>SVN</td><td>svn+ssh://svn@svn.cubedesigners.com/projects/' . form::field('svn', 20, 512) . '</td></tr>';
                $res.='<tr><td>Utilisateur</td><td>' . form::field('user', 20, 512) . ' (' . __('Si différent du sous-domaine') . ')</td></tr>';
-               $res.='<tr><td>Password</td><td>' . form::field('password', 20, 512, CubeIT_Crypt::generateRandomString(10)) . '</td></tr>';
+               $res.='<tr><td>Namespace Zend</td><td>' . form::field('zend', 20, 512) . ' (' . __('Laisser vide pour un projet vide') . ')</td></tr>';
                $res.='<tr><td class="right" colspan="2"><a href="#" class="submit">' . $core->typo->BoutonOK(__('Création')) . '</a></td></td>';
                $res.='</table>';
                $res.='</form>';