Пример #1
0
 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);
 }
Пример #2
0
 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);
 }
Пример #3
0
 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;
 }
Пример #4
0
 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;
 }
Пример #5
0
 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;
 }
Пример #6
0
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'));
}
Пример #7
0
 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;
 }
Пример #8
0
 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;
 }