Esempio n. 1
0
 function controlToHTML($name)
 {
     // First, grab the data for the users
     $users = array();
     foreach (user::getAllUsers() as $u) {
         $users[$u->id] = $u->firstname . " " . $u->lastname . ' (' . $u->username . ')';
     }
     uasort($users, 'strnatcmp');
     $html = "<script type='text/javascript' src='" . PATH_RELATIVE . "js/ContactControl.js'></script>";
     $html .= "<table cellpadding='0' cellspacing='0' border='0'><tr><td>";
     $html .= '<input class="contactcontrol" type="radio" id="r_' . $name . '_users" name="' . $name . '_type" value="0" onclick="activateContactControl(0,\'' . $name . '\');" />User:'******'<select name="' . $name . '[0]" id="' . $name . '_users">';
     foreach ($users as $id => $uname) {
         $html .= '<option ';
         if ($this->default == $id && $this->type == 0) {
             $html .= 'selected ';
         }
         $html .= 'value="' . $id . '">' . $uname . '</option>';
     }
     $html .= '</select>';
     $html .= '</td></tr><tr><td>';
     $html .= '<input class="contactcontrol" type="radio" id="r_' . $name . '_email" name="' . $name . '_type" value="1" onclick="activateContactControl(1,\'' . $name . '\');" />Email:';
     $html .= '<input class="contactcontrol" type="text" name="' . $name . '[1]" id="' . $name . '_email" ';
     if ($this->type == 1) {
         $html .= 'value="' . $this->default . '" ';
     }
     $html .= '/>';
     $html .= '</td></tr></table>';
     $html .= '<script type="text/javascript">activateContactControl(' . $this->type . ',"' . $name . '");</script>';
     return $html;
 }
 public function lister()
 {
     $user = new user();
     $allUsers = $user->getAllUsers();
     $success = $this->success;
     $msg = $this->msg;
     require_once 'view/user_lister_view.php';
 }
 function form($object)
 {
     global $db;
     $tag_collections = $db->selectObjects("tag_collections");
     foreach ($tag_collections as $tag_collections => $collection) {
         $tc_list[$collection->id] = $collection->name;
     }
     //eDebug($all_calendars);
     $form = new form();
     if (!isset($object->id)) {
         // $object->enable_categories = 0;
         $object->enable_feedback = 0;
         $object->reminder_notify = serialize(array());
         $object->email_title_reminder = "Calendar Reminder";
         $object->email_from_reminder = "Calendar Manager";
         $object->email_address_reminder = "calendar@" . HOSTNAME;
         $object->email_reply_reminder = "calendar@" . HOSTNAME;
         $object->email_showdetail = 0;
         $object->email_signature = "--\nThanks, Webmaster";
         $object->aggregate = array();
         $object->enable_rss = false;
         $object->enable_ical = true;
         $object->feed_title = "";
         $object->feed_desc = "";
         $object->rss_limit = 365;
         $object->rss_cachetime = 60;
         // $object->enable_tags = false;
         // $object->collections = array();
         // $object->group_by_tags = false;
         // $object->show_tags = array();
     } else {
         $form->meta('id', $object->id);
         // $cols = unserialize($object->collections);
         // $object->collections = array();
         // $available_tags = array();
         // if (!empty($cols)) {
         // foreach ($cols as $col_id) {
         // $collection = $db->selectObject('tag_collections', 'id='.$col_id);
         // $object->collections[$collection->id] = $collection->name;
         // //while we're here we will get the list of available tags.
         // $tmp_tags = $db->selectObjects('tags', 'collection_id='.$col_id);
         // foreach ($tmp_tags as $tag) {
         // $available_tags[$tag->id] = $tag->name;
         // }
         // }
         // }
         // //Get the tags the user chose to show in the group by views
         // $stags = unserialize($object->show_tags);
         // $object->show_tags = array();
         // //			if (is_array($stags)) {
         // if (!empty($stags)) {
         // foreach ($stags as $stag_id) {
         // $show_tag = $db->selectObject('tags', 'id='.$stag_id);
         // $object->show_tags[$show_tag->id] = $show_tag->name;
         // }
         // }
     }
     // setup the listbuilder arrays for calendar aggregation.
     $loc = unserialize($object->location_data);
     $calendars = expModules::listInstalledControllers('calendarmodule');
     $saved_aggregates = empty($object->aggregate) ? array() : unserialize($object->aggregate);
     $all_calendars = array();
     $selected_calendars = array();
     foreach ($calendars as $src => $cal) {
         $calendar_name = (empty($cal->title) ? 'Untitled' : $cal->title) . ' on page ' . $cal->section;
         if ($src != $loc->src) {
             if (in_array($src, $saved_aggregates)) {
                 $selected_calendars[$src] = $calendar_name;
             } else {
                 $all_calendars[$src] = $calendar_name;
             }
         }
     }
     // setup the config form
     $form->register(null, '', new htmlcontrol('<h3>' . gt('General Configuration') . '</h3><hr size="1" />'));
     // $form->register('enable_categories',gt('Enable Categories'),new checkboxcontrol($object->enable_categories,true));
     $form->register('enable_feedback', gt('Enable Feedback'), new checkboxcontrol($object->enable_feedback, true));
     $form->register(null, '', new htmlcontrol('<h3>' . gt('Events Reminder Email') . '</h3><hr size="1" />'));
     // Get original style user lists
     // $selected_users = array();
     // foreach(unserialize($object->reminder_notify) as $i) {
     // $selected_users[$i] = $db->selectValue('user', 'firstname', 'id='.$i) . ' ' . $db->selectValue('user', 'lastname', 'id='.$i) . ' (' . $db->selectValue('user', 'username', 'id='.$i) . ')';
     // }
     // $userlist = array();
     // $list = user::getAllUsers();
     // foreach ($list as $i) {
     // if(!array_key_exists($i->id, $selected_users)) {
     // $userlist[$i->id] = $i->firstname . ' ' . $i->lastname . ' (' . $i->username . ')';
     // }
     // }
     // $form->register('reminder_notify',gt('Who should be reminded of events?'),new listbuildercontrol($selected_users, $userlist));
     // Get User list
     $defaults = array();
     $userlist = array();
     $users = user::getAllUsers();
     foreach ($db->selectObjects('calendar_reminder_address', 'calendar_id=' . $object->id . ' and user_id != 0') as $address) {
         $locuser = user::getUserById($address->user_id);
         $defaults[$locuser->id] = $locuser->firstname . ' ' . $locuser->lastname . ' (' . $locuser->username . ')';
     }
     foreach ($users as $locuser) {
         if (!array_key_exists($locuser->id, $defaults)) {
             $userlist[$locuser->id] = $locuser->firstname . ' ' . $locuser->lastname . ' (' . $locuser->username . ')';
         }
     }
     $form->register('users', gt('Users'), new listbuildercontrol($defaults, $userlist));
     // Get Group list
     $defaults = array();
     $grouplist = array();
     $groups = group::getAllGroups();
     if ($groups != null) {
         foreach ($db->selectObjects('calendar_reminder_address', 'calendar_id=' . $object->id . ' and group_id != 0') as $address) {
             $group = group::getGroupById($address->group_id);
             $defaults[$group->id] = $group->name;
         }
         foreach ($groups as $group) {
             if (!array_key_exists($group->id, $defaults)) {
                 $grouplist[$group->id] = $group->name;
             }
         }
         $form->register('groups', gt('Groups'), new listbuildercontrol($defaults, $grouplist));
     }
     // Get Freeform list
     $defaults = array();
     foreach ($db->selectObjects('calendar_reminder_address', 'calendar_id=' . $object->id . " and email != ''") as $address) {
         $defaults[$address->email] = $address->email;
     }
     $form->register('addresses', gt('Other Addresses'), new listbuildercontrol($defaults, null));
     $form->register('email_title_reminder', gt('Message Subject Prefix'), new textcontrol($object->email_title_reminder, 45));
     $form->register('email_from_reminder', gt('From (Display)'), new textcontrol($object->email_from_reminder, 45));
     $form->register('email_address_reminder', gt('From (Email)'), new textcontrol($object->email_address_reminder, 45));
     $form->register('email_reply_reminder', gt('Reply-to'), new textcontrol($object->email_reply_reminder, 45));
     $form->register('email_showdetail', gt('Show detail in message?'), new checkboxcontrol($object->email_showdetail));
     $form->register('email_signature', gt('Email Signature'), new texteditorcontrol($object->email_signature, 5, 30));
     $form->register(null, '', new htmlcontrol('<h3>' . gt('Merge Calendars') . '</h3><hr size="1" />'));
     $form->register('aggregate', gt('Pull Events from These Other Calendars'), new listbuildercontrol($selected_calendars, $all_calendars));
     $form->register(null, '', new htmlcontrol('<h3>' . gt('RSS/iCalendar Configuration') . '</h3><hr size="1" />'));
     $form->register('enable_rss', gt('Enable RSS'), new checkboxcontrol($object->enable_rss));
     $form->register('enable_ical', gt('Enable iCalendar'), new checkboxcontrol($object->enable_ical));
     $form->register('feed_title', gt('Title for this RSS feed'), new textcontrol($object->feed_title, 35, false, 75));
     $form->register('feed_desc', gt('Description for this RSS feed'), new texteditorcontrol($object->feed_desc));
     $form->register('rss_cachetime', gt('Recommended RSS/iCal feed update interval in minutes (1440 = 1 day)'), new textcontrol($object->rss_cachetime));
     $form->register('rss_limit', gt('Maximum days of RSS/iCal items to publish (0 = all)'), new textcontrol($object->rss_limit));
     // $form->register(null,'',new htmlcontrol('<h3>'.gt('Tagging').'</h3><hr size="1" />'));
     // $form->register('enable_tags',gt('Enable Tags'), new checkboxcontrol($object->enable_tags));
     // $form->register('collections',gt('Tag Collections'),new listbuildercontrol($object->collections,$tc_list));
     // $form->register('group_by_tags',gt('Filter events by tags'), new checkboxcontrol($object->group_by_tags));
     // $form->register(null,'',new htmlcontrol(gt('Tags to show')));
     // $form->register('show_tags','',new listbuildercontrol($object->show_tags,$available_tags));
     $form->register('submit', '', new buttongroupcontrol(gt('Save'), '', gt('Cancel')));
     return $form;
 }
Esempio n. 4
0
     $template = new template('common', '_userpermissions', $loc);
 } else {
     //TODO
     //ADK - I hard coded the common module name into the new template declaration since the path resolver
     // can't seem to figure out that we are in the common module and not the module that call this action.
     //$template = new template($loc->mod,'_userpermissions',$loc);
     $template = new template('common', '_userpermissions', $loc);
 }
 $template->assign('user_form', 1);
 $users = array();
 $modulename = expModules::controllerExists($loc->mod) ? expModules::getControllerClassName($loc->mod) : $loc->mod;
 $modclass = $modulename;
 $mod = new $modclass();
 $perms = $mod->permissions($loc->int);
 $have_users = 0;
 foreach (user::getAllUsers(false) as $u) {
     $have_users = 1;
     foreach ($perms as $perm => $name) {
         $var = 'perms_' . $perm;
         if (expPermissions::checkUser($u, $perm, $loc, true)) {
             $u->{$perm} = 1;
         } else {
             if (expPermissions::checkUser($u, $perm, $loc)) {
                 $u->{$perm} = 2;
             } else {
                 $u->{$perm} = 0;
             }
         }
     }
     $users[] = $u;
 }
Esempio n. 5
0
        $msgs = $msg->getProjectMessages($proj["ID"]);
        // write those to arrays
        if (!empty($msgs)) {
            array_push($messages, $msgs);
        }
        if (!empty($task)) {
            array_push($tasks, $task);
        }
        $cou = $cou + 1;
    }
}
$myClosedProjects = $project->getMyProjects($userid, 0);
// If the user is allowed to add projects, also get all users to assign to those projects
if ($userpermissions["projects"]["add"]) {
    $user = new user();
    $users = $user->getAllUsers(1000000);
    $template->assign("users", $users);
    $company = new company();
    $companies = $company->getAllCompanies();
    $template->assign("customers", $companies);
}
// by default the arrays have a level for each project, whcih contains arrays for each message/task . reduce array flattens this to have all messages/tasks of all projects in one structure
if (!empty($messages)) {
    $messages = reduceArray($messages);
}
$etasks = reduceArray($tasks);
// Create sort array for multisort by adding the daysleft value to a sort array
$sort = array();
foreach ($etasks as $etask) {
    array_push($sort, $etask["daysleft"]);
}
Esempio n. 6
0
        $template->display("error.tpl");
        die;
    }
    $template->display("install2.tpl");
} elseif ($action == "step3") {
    mkdir(CL_ROOT . "/files/" . CL_CONFIG . "/");
    mkdir(CL_ROOT . "/files/" . CL_CONFIG . "/avatar/", 0777);
    mkdir(CL_ROOT . "/files/" . CL_CONFIG . "/ics/", 0777);
    require CL_ROOT . "/config/" . CL_CONFIG . "/config.php";
    // Start database connection
    $conn = new PDO("mysql:host={$db_host};dbname={$db_name}", $db_user, $db_pass);
    $user = $_POST['name'];
    $pass = $_POST['pass'];
    // create the first user
    $usr = new user();
    $installChk = $usr->getAllUsers();
    if ($installChk) {
        // There already are users. abort install.
        die("Collabtive seems to be already installed.<br />If this is an error, please clear your database.");
    }
    $usrid = $usr->add($user, "", 0, $pass);
    if (!$usrid) {
        $template->assign("errortext", "Error: Failed to create first user.");
        $template->display("error.tpl");
        die;
    }
    // insert default roles
    $rolesobj = new roles();
    $adminrid = $rolesobj->add("Admin", array("add" => 1, "edit" => 1, "del" => 1, "close" => 1, "view" => 1), array("add" => 1, "edit" => 1, "del" => 1, "close" => 1, "view" => 1), array("add" => 1, "edit" => 1, "del" => 1, "close" => 1, "view" => 1), array("add" => 1, "edit" => 1, "del" => 1, "close" => 1, "view" => 1), array("add" => 1, "edit" => 1, "del" => 1, "view" => 1), array("add" => 1, "edit" => 1, "del" => 1, "read" => 1, "view" => 1), array("add" => 1), array("add" => 1));
    $userrid = $rolesobj->add("User", array("add" => 1, "edit" => 1, "del" => 0, "close" => 0, "view" => 1), array("add" => 1, "edit" => 1, "del" => 0, "close" => 1, "view" => 1), array("add" => 1, "edit" => 1, "del" => 1, "close" => 1, "view" => 1), array("add" => 1, "edit" => 1, "del" => 1, "close" => 1, "view" => 1), array("add" => 1, "edit" => 1, "del" => 1, "view" => 1), array("add" => 1, "edit" => 1, "del" => 1, "read" => 0, "view" => 1), array("add" => 1), array("add" => 0));
    $clientrid = $rolesobj->add("Client", array("add" => 0, "edit" => 0, "del" => 0, "close" => 0), array("add" => 0, "edit" => 0, "del" => 0, "close" => 0), array("add" => 0, "edit" => 0, "del" => 0, "close" => 0), array("add" => 0, "edit" => 0, "del" => 0, "close" => 0), array("add" => 0, "edit" => 0, "del" => 0), array("add" => 0, "edit" => 0, "del" => 0, "read" => 0), array("add" => 0), array("add" => 0));
Esempio n. 7
0
//check if the user is an admin
if (!$userpermissions["admin"]["add"] and $action != "addpro") {
    $errtxt = $langfile["nopermission"];
    $noperm = $langfile["accessdenied"];
    $template->assign("errortext", "{$errtxt}<br>{$noperm}");
    $template->display("error.tpl");
    die;
}
//Administration of users
if ($action == "users") {
    // Set the users tab active
    $classes = array("overview" => "overview", "system" => "system", "users" => "active");
    $template->assign("classes", $classes);
    $roleobj = (object) new roles();
    // Get 25 users
    $users = $user->getAllUsers(25);
    // Get All Projects
    $projects = $project->getProjects(1, 10000);
    $roles = $roleobj->getAllRoles();
    $i2 = 0;
    if (!empty($users)) {
        foreach ($users as $usr) {
            $i = 0;
            // Check if a user is assigned to a project
            if (!empty($projects)) {
                foreach ($projects as $pro) {
                    if (chkproject($usr["ID"], $pro["ID"])) {
                        $chk = 1;
                    } else {
                        $chk = 0;
                    }
Esempio n. 8
0
 public function manage_group_memberships()
 {
     global $db, $user;
     expHistory::set('manageable', $this->params);
     $memb = $db->selectObject('groupmembership', 'member_id=' . $user->id . ' AND group_id=' . $this->params['id'] . ' AND is_admin=1');
     $perm_level = 0;
     if ($memb) {
         $perm_level = 1;
     }
     if (expPermissions::check('user_management', expCore::makeLocation('administrationmodule'))) {
         $perm_level = 2;
     }
     $group = $db->selectObject('group', 'id=' . $this->params['id']);
     $users = user::getAllUsers(0);
     $members = array();
     $admins = array();
     foreach ($db->selectObjects('groupmembership', 'group_id=' . $group->id) as $m) {
         $members[] = $m->member_id;
         if ($m->is_admin == 1) {
             $admins[] = $m->member_id;
         }
     }
     for ($i = 0; $i < count($users); $i++) {
         if (in_array($users[$i]->id, $members)) {
             $users[$i]->is_member = 1;
         } else {
             $users[$i]->is_member = 0;
         }
         if (in_array($users[$i]->id, $admins)) {
             $users[$i]->is_admin = 1;
         } else {
             $users[$i]->is_admin = 0;
         }
     }
     //$limit = empty($this->config['limit']) ? 10 : $this->config['limit'];
     $order = empty($this->config['order']) ? 'username' : $this->config['order'];
     $page = new expPaginator(array('records' => $users, 'where' => 1, 'limit' => 9999, 'order' => $order, 'controller' => $this->baseclassname, 'action' => $this->params['action'], 'columns' => array('Username' => 'username', 'First Name' => 'firstname', 'Last Name' => 'lastname', 'Is Member' => 'is_member', 'Is Admin' => 'is_admin')));
     assign_to_template(array('page' => $page, 'group' => $group, 'users' => $users, 'canAdd' => count($members) < count($users) ? 1 : 0, 'hasMember' => count($members) > 0 ? 1 : 0, 'perm_level' => $perm_level));
 }
Esempio n. 9
0
 static function form($object)
 {
     global $db;
     //global $user;
     $form = new form();
     if (!isset($object->id)) {
         $object->name = '';
         $object->description = '';
         $object->is_email = 0;
         $object->is_saved = 1;
         $object->response = gt('Your form has been submitted');
         $object->resetbtn = gt('Reset');
         $object->submitbtn = gt('Submit');
         $object->subject = gt('Submitted form from site');
     } else {
         $form->meta('id', $object->id);
     }
     $form->register('name', gt('Name'), new textcontrol($object->name));
     $form->register('description', gt('Description'), new texteditorcontrol($object->description));
     $form->register('response', gt('Response'), new htmleditorcontrol($object->response));
     $form->register(null, '', new htmlcontrol('<h3>' . gt('Button Settings') . '</h3><hr size="1" />'));
     $form->register('submitbtn', gt('Submit Button Text'), new textcontrol($object->submitbtn));
     $form->register('resetbtn', gt('Reset Button Text'), new textcontrol($object->resetbtn));
     $form->register(null, '', new htmlcontrol('<h3>' . gt('Email Settings') . '</h3><hr size="1" />'));
     $form->register('is_email', gt('Email Form'), new checkboxcontrol($object->is_email, false));
     // Get User list
     $userlist = array();
     $defaults = array();
     $users = user::getAllUsers();
     foreach ($db->selectObjects('formbuilder_address', 'form_id=' . $object->id . ' and user_id != 0') as $address) {
         $locuser = user::getUserById($address->user_id);
         $defaults[$locuser->id] = $locuser->firstname . ' ' . $locuser->lastname . ' (' . $locuser->username . ')';
     }
     foreach ($users as $locuser) {
         if (!array_key_exists($locuser->id, $defaults)) {
             $userlist[$locuser->id] = $locuser->firstname . ' ' . $locuser->lastname . ' (' . $locuser->username . ')';
         }
     }
     $form->register('users', gt('Users'), new listbuildercontrol($defaults, $userlist));
     // Get Group list
     $grouplist = array();
     $defaults = array();
     $groups = group::getAllGroups();
     if ($groups != null) {
         foreach ($db->selectObjects('formbuilder_address', 'form_id=' . $object->id . ' and group_id != 0') as $address) {
             $group = group::getGroupById($address->group_id);
             $defaults[$group->id] = $group->name;
         }
         foreach ($groups as $group) {
             if (!array_key_exists($group->id, $defaults)) {
                 $grouplist[$group->id] = $group->name;
             }
         }
         $form->register('groups', gt('Groups'), new listbuildercontrol($defaults, $grouplist));
     }
     // Get free-form address list
     $defaults = array();
     foreach ($db->selectObjects('formbuilder_address', 'form_id=' . $object->id . " and email != ''") as $address) {
         $defaults[$address->email] = $address->email;
     }
     $form->register('addresses', gt('Other Addresses'), new listbuildercontrol($defaults, null));
     $form->register('subject', gt('Email Subject'), new textcontrol($object->subject));
     $form->register(null, '', new htmlcontrol('<h3>' . gt('Database Settings') . '</h3><hr size="1" /><br />'));
     $form->register('is_saved', gt('Save Submissions to the Database'), new checkboxcontrol($object->is_saved, false));
     $form->register(null, '', new htmlcontrol('&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' . gt('To help prevent data loss, you cannot remove a form\'s database table once it has been added.') . '<br />'));
     if ($object->is_saved == 1) {
         $form->controls['is_saved']->disabled = true;
         $form->meta('is_saved', '1');
     }
     //		$form->register(null,'', new htmlcontrol('<br /><br /><br />'));
     $form->register('submit', '', new buttongroupcontrol(gt('Save'), '', gt('Cancel')));
     return $form;
 }
Esempio n. 10
0
if (!$userpermissions["admin"]["add"] and $action != "addpro") {
    $errtxt = $langfile["nopermission"];
    $noperm = $langfile["accessdenied"];
    $template->assign("errortext", "{$errtxt}<br>{$noperm}");
    $template->display("error.tpl");
    die;
}
if ($action == "index") {
    $classes = array("overview" => "overview_active", "system" => "system", "users" => "users");
    $template->assign("classes", $classes);
    $title = $langfile['admin'];
    $template->display("admin.tpl");
} elseif ($action == "users") {
    $classes = array("overview" => "overview", "system" => "system", "users" => "active");
    $template->assign("classes", $classes);
    $users = $user->getAllUsers(14);
    $projects = $project->getProjects(1, 10000);
    $roleobj = (object) new roles();
    $roles = $roleobj->getAllRoles();
    $i2 = 0;
    if (!empty($users)) {
        foreach ($users as $usr) {
            $i = 0;
            // $projects = $project->getProjects(1, 10000);
            if (!empty($projects)) {
                foreach ($projects as $pro) {
                    if (chkproject($usr["ID"], $pro["ID"])) {
                        $chk = 1;
                    } else {
                        $chk = 0;
                    }