public static function list_of_groups() { if (isset($_GET['err'])) { switch ($_GET['err']) { case "reserved": Notification::statusNotify(t("ce nom est reservé au système"), Notification::STATUS_ERROR); break; case "exists": Notification::statusNotify(t("ce groupe existe déjà"), Notification::STATUS_ERROR); break; default: Notification::statusNotify(t("une erreur est survenue"), Notification::STATUS_ERROR); break; } } $groups = GroupObject::loadAll(); $theme = new Theme(); $theme->set_title(t("Groupes")); $rows = array(); foreach ($groups as $g) { $rows[] = array($g->gid, $g->label, Theme::linking(Page::url("/admin/groups/" . $g->label), t("details")), Theme::linking(Page::url("/admin/groups/confirm/" . $g->label), t("supprimer"))); } $head = array(t("identifiant du groupe"), t("nom du group"), t("actions")); $form = new Form("POST", Page::url("/admin/groups/create")); $form->addElement(new InputElement("group_name", t("nom du groupe"), "")); $form->addElement(new InputElement("add-group", "", t("créer le groupe"), "submit")); $theme->add_to_body(Theme::forming($form), t("Créer un nouveau groupe")); $theme->add_to_body(Theme::tabling($rows, $head), t("Liste des groupes existants")); $theme->process_theme(Theme::STRUCT_ADMIN); }
public function page_permissions() { if (isset($_POST['save-permissions'])) { PermissionObject::removeAllPermissions(); if (isset($_POST['permission'])) { foreach ($_POST['permission'] as $perm => $groups) { foreach ($groups as $grp => $d) { PermissionObject::addPermission($grp, $perm); } } } Notification::statusNotify(t("configuration enregistrée"), Notification::STATUS_SUCCESS); } $defined_permissions = PermissionObject::loadAllPermissions(); $df = array(); foreach ($defined_permissions as $p) { if (!isset($df[$p->pid])) { $df[$p->pid] = array(); } $df[$p->pid][$p->gid] = 1; } $p = new PermissionsManager(); $permissions = $p->scanForPermission(); $groups = GroupObject::loadAll(); $table = array(); $hcol = array(""); $hrow = array(); foreach ($permissions as $u => $t) { $hrow[] = $t; $row = array(); foreach ($groups as $gd => $g) { if ($u == 0) { $hcol[] = $g->label; } $pm = new PermissionObject(); $pm->loadByName($t); $tlabel = "permission[" . $g->gid . "][" . $pm->pid . "]"; if (isset($df[$pm->pid][$g->gid])) { $row[] = "<input type='checkbox' name='{$tlabel}' id='{$tlabel}' checked='checked'/>"; } else { $row[] = "<input type='checkbox' name='{$tlabel}' id='{$tlabel}' />"; } } $table[] = $row; } $theme = new Theme(); $theme->set_title(t("Permissions déclarées")); $table = Themed::tabling($table, $hcol, $hrow); $theme->add_to_body("<form method='POST' action=''>{$table} <input type='submit' name='save-permissions' value='" . t("Enregistrer") . "'/></form>"); $theme->process_theme(Theme::STRUCT_ADMIN); }
public static function page_upload_content() { $theme = new Theme(); if (isset($_FILES['file'])) { $file = new FileObject(); if ($file->uploadFile($_FILES['file'])) { Notification::statusNotify(t("Le fichier a bien été uploadé."), Notification::STATUS_SUCCESS); } else { Notification::statusNotify(t("Une erreur s'est produite lors de l'upload."), Notification::STATUS_ERROR); } } $f = new Form("POST", Page::url("/file/upload")); $f->setAttribute("enctype", "multipart/form-data"); $t = new InputElement("file", t("Fichier : "), "", "file"); $f->addElement($t); $t = new InputElement("submit-file", "", t("Charger"), "submit"); $f->addElement($t); $formulaire = $theme->forming($f); $theme->set_title("Charger un fichier"); $theme->add_to_body($formulaire); $theme->process_theme(Theme::STRUCT_ADMIN); return; }
public static function list_of_friends($id_user = null) { $friends = new FriendshipObject(); $output = ""; if ($id_user == null && ($u = User::get_user_logged_id()) != null) { $id_user = $u; } $theme = new Theme(); $theme->set_title(t("Liste des amis")); if ($tab = $friends->loadAllFriends($id_user)) { foreach ($tab as $k => $f) { $u = new UserObject(); $u->load($f); $output .= "<div class=\"friend_line\">"; $output .= "<div class=\"friend_line_avatar_area\">"; $output .= "<div class=\"friend_line_avatar avatar\" style=\"background-image:url(" . $u->get_avatar() . ");\">"; $output .= $theme->linking(Page::url("/profile/" . $f), ""); $output .= "</div>"; $output .= "</div>"; $output .= "<div class=\"friend_line_name_area\">"; $output .= "<div class=\"friend_line_name\">"; $output .= $theme->linking(Page::url("/profile/" . $f), $u->firstname . " " . $u->lastname); $output .= "<div class=\"friend_line_name_icon\">"; $output .= "<i class=\"fa fa-user fa-fw\"></i>"; $output .= "</div>"; $output .= "</div>"; $output .= "</div>"; $output .= "<div class=\"clear\"></div>"; $output .= "</div>"; } $theme->add_to_body($output); } else { Notification::statusNotify(t("Vous n'avez pas encore d'ami. " . $theme->linking(Page::url("/users"), t("Voir la liste des utilisateurs"))), Notification::STATUS_INFO); } $theme->process_theme(Theme::STRUCT_ADMIN); return; }
public static function page_config() { if (isset($_GET['err'])) { switch ($_GET['err']) { case 'install': Notification::statusNotify(t("Echec de l'installation du widget"), Notification::STATUS_ERROR); break; case 'enable': Notification::statusNotify(t("Echec de l'activation du widget"), Notification::STATUS_ERROR); break; case 'disable': Notification::statusNotify(t("Echec de la desactivation du widget"), Notification::STATUS_ERROR); break; case 'uninstall': Notification::statusNotify(t("Echec de la désinstation du widget"), Notification::STATUS_ERROR); break; case 'up': case 'down': Notification::statusNotify(t("Echec du changement de priorité du widget"), Notification::STATUS_ERROR); break; default: Notification::statusNotify(t("Une erreur inconnue est survenue"), Notification::STATUS_ERROR); break; } } $widget = new Widget(); $widget->scanForWidget(); $widgets = WidgetObject::loadAll(true); $unistalled_widgets = WidgetObject::loadAll(false); $activates = WidgetObject::loadAllActivate(); $theme = new Theme(); $theme->set_title(t("Liste des widgets disponibles")); $c = count($widgets); $a = count($activates); $u = count($unistalled_widgets); $notification = ""; $notification .= $c + $u > 1 ? "%cnt widgets disponibles" : ($c + $u == 1 ? "%cnt widget disponible" : "Aucun widget disponible"); if ($c > 0) { $notification .= $a > 1 ? " · %ant widgets activés" : ($a == 1 ? " · %ant widget activé" : ""); $notification .= $c > 1 ? " · %int widgets installés" : ($c == 1 ? " · %int widget installé" : ""); $notification .= $u > 1 ? " · %unt widgets désinstallés" : ($u == 1 ? " · %unt widget désinstallé" : ""); } Notification::statusNotify(t("{$notification}", array("%cnt" => $c + $u, "%ant" => $a, "%int" => $c, "%unt" => $u)), Notification::STATUS_INFO); $r = array(t("Nom du widget"), t("Etat du widget"), t("Actions")); $array = array(); foreach ($widgets as $k => $w) { $uninstall = $theme->linking(Page::url("/admin/view/widget/uninstall/" . $w->widget_name), t("désinstaller")); $disable = $theme->linking(Page::url("/admin/view/widget/disable/" . $w->widget_name), t("désactiver")); $enable = $theme->linking(Page::url("/admin/view/widget/enable/" . $w->widget_name), t("activer")); $up = $theme->linking(Page::url("/admin/view/widget/up/" . $w->widget_name), "<i class='fa fa-arrow-up fa-fw'></i>", false, array("title" => "Monter")); $up_disabled = "<span class='link_disabled' title='Monter'><i class='fa fa-arrow-up fa-fw'></i></span>"; $down = $theme->linking(Page::url("/admin/view/widget/down/" . $w->widget_name), "<i class='fa fa-arrow-down fa-fw'></i>", false, array("title" => "Descendre")); $down_disabled = "<span class='link_disabled' title='Descendre'><i class='fa fa-arrow-down fa-fw'></i></span>"; // Si le widget est activé if ($w->activate) { $array[] = array($w->widget_name, t("Activé"), $disable, $k == 0 ? $up_disabled : $up, $k == $a - 1 ? $down_disabled : $down); } else { $array[] = array($w->widget_name, t("Désactivé"), $enable . " - " . $uninstall, $up_disabled, $down_disabled); } } foreach ($unistalled_widgets as $k => $w) { $install = $theme->linking(Page::url("/admin/view/widget/install/" . $w->widget_name), t("installer")); $up_disabled = "<span class='link_disabled' title='Monter'><i class='fa fa-arrow-up fa-fw'></i></span>"; $down_disabled = "<span class='link_disabled' title='Descendre'><i class='fa fa-arrow-down fa-fw'></i></span>"; $array[] = array($w->widget_name, t("Désinstallé"), $install, $up_disabled, $down_disabled); } $theme->add_to_body($theme->tabling($array, $r)); $theme->process_theme(Theme::STRUCT_ADMIN); return; }
function sendNotifications() { if (!array_key_exists('command', $_REQUEST)) { echo json_encode(array('success' => false, 'message' => 'Missing parameters')); exit; } $command = $_REQUEST['command']; switch ($command) { case 'statusNotify': if (!array_key_exists('workitem', $_REQUEST)) { echo json_encode(array('success' => false, 'message' => 'Missing parameters')); exit; } $workitem_id = (int) $_REQUEST['workitem']; $workitem = new WorkItem(); $workitem->loadById($workitem_id); Notification::statusNotify($workitem); error_log('api.php: statusNotify completed'); break; } echo json_encode(array('success' => true, 'message' => 'Notifications sent')); }
public static function page_set_avatar() { $theme = new Theme(); if (isset($_FILES['file'])) { $file = new FileObject(); if ($id_file = $file->uploadFile($_FILES['file'])) { $u = User::get_user_logged(); $u->set_avatar($id_file); header("location: " . Page::url("/profile")); return; } else { Notification::statusNotify(t("Une erreur s'est produite lors de l'upload."), Notification::STATUS_ERROR); } } $f = new Form("POST", Page::url("/profile/settings/avatar")); $f->setAttribute("enctype", "multipart/form-data"); $t = new InputElement("file", t("Fichier : "), "", "file"); $f->addElement($t); $t = new InputElement("submit-file", "", t("Charger"), "submit"); $f->addElement($t); $formulaire = $theme->forming($f); $theme->set_title("Changer mon avatar"); $theme->add_to_body($formulaire); $theme->process_theme(Theme::STRUCT_ADMIN); return; }
public static function list_modules() { if (isset($_GET['err'])) { switch ($_GET['err']) { case 'install': Notification::statusNotify(t("Echec de l'installation du module"), Notification::STATUS_ERROR); break; case 'enable': Notification::statusNotify(t("Echec de l'activation du module"), Notification::STATUS_ERROR); break; case 'disable': Notification::statusNotify(t("Echec de la desactivation du module"), Notification::STATUS_ERROR); break; case 'uninstall': Notification::statusNotify(t("Echec de la désinstation du module"), Notification::STATUS_ERROR); break; default: Notification::statusNotify(t("Une erreur inconnue est survenue"), Notification::STATUS_ERROR); break; } } $modules = self::scan_all_modules(); $theme = new Theme(); $theme->set_title(t("Liste des modules disponibles")); Notification::statusNotify(t("%cnt modules disponibles", array("%cnt" => count($modules))), Notification::STATUS_INFO); $r = array(t("Nom du module"), t("Dépendances"), t("Etat du module"), t("Actions")); $array = array(); foreach ($modules as $m) { $install = $theme->linking(Page::url("/admin/modules/install/" . $m['name']), t("installer")); $uninstall = $theme->linking(Page::url("/admin/modules/uninstall/" . $m['name']), t("désinstaller")); $disable = $theme->linking(Page::url("/admin/modules/disable/" . $m['name']), t("désactiver")); $enable = $theme->linking(Page::url("/admin/modules/enable/" . $m['name']), t("activer")); $statement = t("activé"); $link_1 = $disable; $link_2 = null; if (!self::is_enabled($m['name'])) { $statement = t("installé"); $link_1 = $enable; $link_2 = $uninstall; } if (!self::is_installed($m['name'])) { $link_1 = $install; $link_2 = null; $statement = t("désinstallé"); } if ($m["system_module"] == 1) { $rtm = ""; //t("système"); $statement = t("système"); } else { $rtm = $link_1 . ($link_2 == null ? "" : " - ") . $link_2; } $dependencies = ""; if (isset($m['dependencies'])) { $dependencies = implode(", ", $m['dependencies']); } $array[] = array($m["readablename"], $dependencies, $statement, $rtm); } usort($array, function ($a, $b) { return strcmp($a[2], $b[2]) * 10 + strcmp($a[0], $b[0]); }); $theme->add_to_body($theme->tabling($array, $r)); $theme->process_theme(Theme::STRUCT_ADMIN); return; }