Exemple #1
0
 function controlToHTML($name)
 {
     // First, grab the data for the users
     if (!defined("SYS_USERS")) {
         require_once BASE . "subsystems/users.php";
     }
     $users = array();
     foreach (pathos_users_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 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 type="radio" id="r_' . $name . '_email" name="' . $name . '_type" value="1" onClick="activateContactControl(1,\'' . $name . '\');" />Email:';
     $html .= '<input 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;
 }
 function form($object)
 {
     pathos_lang_loadDictionary('modules', 'inboxmodule');
     pathos_lang_loadDictionary('standard', 'core');
     if (!defined('SYS_FORMS')) {
         require_once BASE . 'subsystems/forms.php';
     }
     pathos_forms_initialize();
     $form = new form();
     if (!defined('SYS_USERS')) {
         require_once BASE . 'subsystems/users.php';
     }
     $users = array();
     foreach (pathos_users_getAllUsers() as $u) {
         $users[$u->id] = $u->firstname . ' ' . $u->lastname . ' (' . $u->username . ')';
     }
     global $db, $user;
     foreach ($db->selectObjects('inbox_contactbanned', 'owner=' . $user->id) as $b) {
         unset($users[$b->user_id]);
     }
     $form->register('uid', TR_INBOXMODULE_USER, new dropdowncontrol(0, $users));
     $form->register('submit', '', new buttongroupcontrol(TR_INBOXMODULE_BLOCKUSER, '', TR_CORE_CANCEL));
     return $form;
 }
 function form($object)
 {
     pathos_lang_loadDictionary('modules', 'inboxmodule');
     pathos_lang_loadDictionary('standard', 'core');
     if (!defined('SYS_FORMS')) {
         require_once BASE . 'subsystems/forms.php';
     }
     pathos_forms_initialize();
     $form = new form();
     $users = array();
     $groups = array();
     global $db, $user;
     if (!defined('SYS_USERS')) {
         require_once BASE . 'subsystems/users.php';
     }
     if (pathos_permissions_check('contact_all', pathos_core_makeLocation('inboxmodule'))) {
         foreach (pathos_users_getAllUsers() as $u) {
             $users[$u->id] = $u->firstname . ' ' . $u->lastname . ' (' . $u->username . ')';
         }
     } else {
         foreach (pathos_users_getGroupsForUser($user, 1, 0) as $g) {
             foreach (pathos_users_getUsersInGroup($g) as $u) {
                 $users[$u->id] = $u->firstname . ' ' . $u->lastname . ' (' . $u->username . ')';
             }
         }
     }
     // Process other uses who the current user has blocked, and remove them from the list
     // Process other users who have blocked the current user, and remove them from the list.
     foreach ($db->selectObjects('inbox_contactbanned', 'owner=' . $user->id . ' OR user_id=' . $user->id) as $blocked) {
         if ($blocked->user_id == $user->id) {
             // Blocked by someone else.  Remove the owner (user who blocked us)
             unset($users[$blocked->owner]);
         } else {
             if ($blocked->owner == $user->id) {
                 // We blocked the user, remove the blocked user_id
                 unset($users[$blocked->user_id]);
             }
         }
     }
     uasort($users, 'strnatcmp');
     $groups = array();
     foreach ($db->selectObjects('inbox_contactlist', 'owner=' . $user->id) as $g) {
         $groups['list_' . $g->id] = $g->name . ' ' . TR_INBOXMODULE_PERSONALLIST;
     }
     if (pathos_permissions_check('contact_all', pathos_core_makeLocation('inboxmodule'))) {
         foreach (pathos_users_getAllGroups(1, 0) as $g) {
             $groups['group_' . $g->id] = $g->name . ' ' . TR_INBOXMODULE_SYSGROUP;
         }
     } else {
         foreach (pathos_users_getGroupsForUser($user, 1, 0) as $g) {
             $groups['group_' . $g->id] = $g->name . ' ' . TR_INBOXMODULE_SYSGROUP;
         }
     }
     uasort($groups, 'strnatcmp');
     $recipient_caption = TR_INBOXMODULE_RECIPIENT;
     $group_recipient_caption = TR_INBOXMODULE_GROUPRECIPIENT;
     $btn = new buttongroupcontrol(TR_INBOXMODULE_SEND, '', TR_CORE_CANCEL);
     $object->group_recipient = array();
     if ($object == null || !isset($object->recipient)) {
         $object->subject = '';
         $object->body = '';
         $object->recipient = array();
         if (!count($users) && !count($groups)) {
             $btn->disabled = true;
         }
     } else {
         if (!defined('SYS_USERS')) {
             require_once BASE . 'subsystems/users.php';
         }
         $u = pathos_users_getUserById($object->recipient);
         $form->register(null, '', new htmlcontrol(sprintf(TR_INBOXMODULE_REPLYTO, $u->firstname . ' ' . $u->lastname . ' (' . $u->username . ')')));
         $form->meta('replyto', $object->recipient);
         $object->recipient = array();
         unset($users[$u->id]);
         $recipient_caption = TR_INBOXMODULE_COPYTO;
         $group_recipient_caption = TR_INBOXMODULE_GROUPCOPYTO;
     }
     if (count($users)) {
         $form->register('recipients', $recipient_caption, new listbuildercontrol($object->recipient, $users));
     }
     if (count($groups)) {
         $form->register('group_recipients', $group_recipient_caption, new listbuildercontrol($object->group_recipient, $groups));
     }
     if (!count($groups) && !count($users)) {
         $form->register(null, '', new htmlcontrol('<div class="error">' . TR_INBOXMODULE_NOCONTACTSWARNING . '</div>'));
     }
     $form->register('subject', TR_INBOXMODULE_SUBJECT, new textcontrol($object->subject));
     $form->register('body', TR_INBOXMODULE_MESSAGE, new htmleditorcontrol($object->body));
     $form->register('submit', '', $btn);
     return $form;
 }
 if (pathos_template_getModuleViewFile($loc->mod, "_userpermissions", false) == TEMPLATE_FALLBACK_VIEW) {
     $template = new template("common", "_userpermissions", $loc);
 } else {
     $template = new template($loc->mod, "_userpermissions", $loc);
 }
 $template->assign("user_form", 1);
 /////////////////////////////
 if (!defined("SYS_USERS")) {
     require_once BASE . "subsystems/users.php";
 }
 $users = array();
 $modclass = $loc->mod;
 $mod = new $modclass();
 $perms = $mod->permissions($loc->int);
 $have_users = 0;
 foreach (pathos_users_getAllUsers(0) as $u) {
     $have_users = 1;
     foreach ($perms as $perm => $name) {
         $var = "perms_{$perm}";
         if (pathos_permissions_checkUser($u, $perm, $loc, true)) {
             $u->{$var} = 1;
         } else {
             if (pathos_permissions_checkUser($u, $perm, $loc)) {
                 $u->{$var} = 2;
             } else {
                 $u->{$var} = 0;
             }
         }
     }
     $users[] = $u;
 }
 function form($object)
 {
     pathos_lang_loadDictionary('standard', 'core');
     pathos_lang_loadDictionary('modules', 'formbuilder');
     global $db;
     if (!defined('SYS_FORMS')) {
         require_once BASE . 'subsystems/forms.php';
     }
     if (!defined('SYS_USERS')) {
         require_once BASE . 'subsystems/users.php';
     }
     //global $user;
     pathos_forms_initialize();
     $form = new form();
     if (!isset($object->id)) {
         $object->name = '';
         $object->description = '';
         $object->is_email = 0;
         $object->is_saved = 1;
         $object->response = 'Your form has been submitted.';
         $object->resetbtn = 'Reset';
         $object->submitbtn = 'Submit';
         $object->subject = 'Submitted form from site.';
     } else {
         $form->meta('id', $object->id);
     }
     $form->register('name', TR_FORMBUILDER_NAME, new textcontrol($object->name));
     $form->register('description', TR_FORMBUILDER_DESCRIPTION, new texteditorcontrol($object->description));
     $form->register('response', TR_FORMBUILDER_RESPONSE, new htmleditorcontrol($object->response));
     $form->register(null, '', new htmlcontrol('<br><br><b>' . TR_FORMBUILDER_BUTTONHEADER . '</b><br><hr><br>'));
     $form->register('submitbtn', TR_FORMBUILDER_SUBMITTEXT, new textcontrol($object->submitbtn));
     $form->register('resetbtn', TR_FORMBUILDER_RESETTEXT, new textcontrol($object->resetbtn));
     $form->register(null, '', new htmlcontrol('<br><br><b>' . TR_FORMBUILDER_EMAILHEADER . '</b><br><hr><br>'));
     $form->register('is_email', TR_FORMBUILDER_EMAILFORM, new checkboxcontrol($object->is_email, false));
     $userlist = array();
     $users = pathos_users_getAllUsers();
     foreach ($users as $locuser) {
         $userlist[$locuser->id] = $locuser->username;
     }
     $defaults = array();
     foreach ($db->selectObjects('formbuilder_address', 'form_id=' . $object->id . ' and user_id != 0') as $address) {
         $locuser = pathos_users_getUserById($address->user_id);
         $defaults[$locuser->id] = $locuser->username;
     }
     $form->register('users', TR_FORMBUILDER_USERS, new listbuildercontrol($defaults, $userlist));
     $groups = pathos_users_getAllGroups();
     $grouplist = array();
     $defaults = array();
     foreach ($groups as $group) {
         $grouplist[$group->id] = $group->name;
     }
     if ($grouplist != null) {
         foreach ($db->selectObjects('formbuilder_address', 'form_id=' . $object->id . ' and group_id != 0') as $address) {
             $group = pathos_users_getGroupById($address->group_id);
             $defaults[$group->id] = $group->name;
         }
         $form->register('groups', TR_FORMBUILDER_GROUPS, new listbuildercontrol($defaults, $grouplist));
     }
     $defaults = array();
     foreach ($db->selectObjects('formbuilder_address', 'form_id=' . $object->id . " and email != ''") as $address) {
         $defaults[$address->email] = $address->email;
     }
     $form->register('addresses', TR_FORMBUILDER_OTHERADDRESSES, new listbuildercontrol($defaults, null));
     $form->register('subject', TR_FORMBUILDER_EMAILSUBJECT, new textcontrol($object->subject));
     $form->register(null, '', new htmlcontrol('<br><br><b>' . TR_FORMBUILDER_DBHEADER . '</b><br><hr size="1"><br>'));
     $form->register('is_saved', TR_FORMBUILDER_SAVETODB, new checkboxcontrol($object->is_saved, false));
     $form->register(null, '', new htmlcontrol('<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' . TR_FORMBUILDER_DATALOSSWARNING . '<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(TR_CORE_SAVE, '', TR_CORE_CANCEL));
     return $form;
 }
}
$memb = $db->selectObject('groupmembership', 'member_id=' . $user->id . ' AND group_id=' . $_GET['id'] . ' AND is_admin=1');
$perm_level = 0;
if ($memb) {
    $perm_level = 1;
}
if (pathos_permissions_check('user_management', pathos_core_makeLocation('administrationmodule'))) {
    $perm_level = 2;
}
if ($perm_level) {
    $group = $db->selectObject('group', 'id=' . $_GET['id']);
    if ($group != null) {
        if (!defined('SYS_USERS')) {
            require_once BASE . 'subsystems/users.php';
        }
        $users = pathos_users_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)) {
 function form($object)
 {
     pathos_lang_loadDictionary('modules', 'inboxmodule');
     pathos_lang_loadDictionary('standard', 'core');
     if (!defined('SYS_FORMS')) {
         require_once BASE . 'subsystems/forms.php';
     }
     pathos_forms_initialize();
     $form = new form();
     if (!isset($object->id)) {
         $object->name = '';
         $object->description = '';
         $object->_members = array();
     } else {
         $form->meta('id', $object->id);
     }
     $form->register('name', TR_INBOXMODULE_GROUPNAME, new textcontrol($object->name));
     $form->register('description', TR_INBOXMODULE_DESCRIPTION, new texteditorcontrol($object->description));
     $users = array();
     if (!defined('SYS_USERS')) {
         require_once BASE . 'subsystems/users.php';
     }
     global $user;
     if (pathos_permissions_check('contact_all', pathos_core_makeLocation('inboxmodule'))) {
         foreach (pathos_users_getAllUsers() as $u) {
             $users[$u->id] = $u;
         }
     } else {
         foreach (pathos_users_getGroupsForUser($user, 1, 0) as $g) {
             foreach (pathos_users_getUsersInGroup($g) as $u) {
                 $users[$u->id] = $u;
             }
         }
     }
     foreach (array_keys($users) as $i) {
         $users[$i] = $users[$i]->firstname . ' ' . $users[$i]->lastname . ' (' . $users[$i]->username . ')';
     }
     global $db;
     // Process other uses who the current user has blocked, and remove them from the list
     // Process other users who have blocked the current user, and remove them from the list.
     foreach ($db->selectObjects('inbox_contactbanned', 'owner=' . $user->id . ' OR user_id=' . $user->id) as $blocked) {
         if ($blocked->user_id == $user->id) {
             // Blocked by someone else.  Remove the owner (user who blocked us)
             unset($users[$blocked->owner]);
         } else {
             if ($blocked->owner == $user->id) {
                 // We blocked the user, remove the blocked user_id
                 unset($users[$blocked->user_id]);
             }
         }
     }
     $members = array();
     for ($i = 0; $i < count($object->_members); $i++) {
         $tmp = $object->_members[$i];
         $members[$tmp] = $users[$tmp];
         unset($users[$tmp]);
     }
     if (count($members) || count($users)) {
         $form->register('members', TR_INBOXMODULE_MEMBERS, new listbuildercontrol($members, $users));
         $form->register('submit', '', new buttongroupcontrol(TR_CORE_SAVE, '', TR_CORE_CANCEL));
     } else {
         $submit = new buttongroupcontrol(TR_CORE_SAVE, '', TR_CORE_CANCEL);
         $submit->disabled = 1;
         $form->register(null, '', new htmlcontrol(TR_INBOXMODULE_NOMEMBERS));
         $form->register('submit', '', $submit);
     }
     return $form;
 }