예제 #1
0
파일: filters.php 프로젝트: nemein/openpsa
 /**
  * Handle the AJAX request
  *
  * @todo This function is unused
  */
 public function _handle_ajax()
 {
     $update_succeeded = false;
     $errstr = null;
     $user = new midcom_db_person($this->_request_data['user']->id);
     if (array_key_exists('org_openpsa_calendar_filters_add', $_POST)) {
         try {
             $target = new midcom_db_person($_POST['org_openpsa_calendar_filters_add']);
             $update_succeeded = $user->parameter('org_openpsa_calendar_show', $_POST['org_openpsa_calendar_filters_add'], 1);
         } catch (midcom_error $e) {
             $e->log();
         }
     } else {
         if (array_key_exists('org_openpsa_calendar_filters_remove', $_POST)) {
             try {
                 $target = new midcom_db_person($_POST['org_openpsa_calendar_filters_remove']);
                 $update_succeeded = $user->parameter('org_openpsa_calendar_show', $_POST['org_openpsa_calendar_filters_remove'], '');
             } catch (midcom_error $e) {
                 $e->log();
             }
         }
     }
     $errstr = midcom_connection::get_error_string();
     $response = new midcom_response_xml();
     $response->result = $update_succeeded;
     $response->status = $errstr;
     $response->send();
     //This will exit.
 }
예제 #2
0
파일: html.php 프로젝트: nemein/openpsa
 /**
  * Get plazes location for a user
  *
  * @param midcom_db_person $user Person to fetch Plazes data for
  * @param boolean $cache Whether to cache the position to a log object
  * @return Array
  */
 function get_icbm_location($user, $cache = true)
 {
     $icbm_url = $user->parameter('org.routamc.positioning:html', 'icbm_url');
     if ($icbm_url) {
         $position = $this->_fetch_icbm_position($icbm_url);
         if (is_null($position)) {
             return null;
         }
         if ($cache) {
             $this->import($position, $user->id);
         }
         return $position;
     } else {
         $this->error = 'POSITIONING_ICBM_NO_URL';
     }
     return null;
 }
예제 #3
0
 /**
  * Get instamapper location for a user
  *
  * @param midcom_db_person $user Person to fetch Plazes data for
  * @param boolean $cache Whether to cache the position to a log object
  * @return Array
  */
 function get_instamapper_location($user, $cache = true)
 {
     $instamapper_url = trim($user->parameter('org.routamc.positioning:instamapper', 'api_key'));
     if ($instamapper_url) {
         $positions = $this->_fetch_instamapper_positions($instamapper_url);
         if (is_null($positions) || empty($positions)) {
             return null;
         }
         if ($cache) {
             foreach ($positions as $position) {
                 $this->import($position, $user->id);
             }
         }
         return $positions[0];
     } else {
         $this->error = 'POSITIONING_INSTAMAPPER_NO_APIKEY';
     }
     return null;
 }
예제 #4
0
파일: list.php 프로젝트: nemein/openpsa
 private function _batch_process()
 {
     foreach ($_POST['midcom_admin_user'] as $person_id) {
         try {
             if (is_numeric($person_id)) {
                 $person = new midcom_db_person((int) $person_id);
             } else {
                 $person = new midcom_db_person($person_id);
             }
         } catch (midcom_error $e) {
             continue;
         }
         switch ($_POST['midcom_admin_user_action']) {
             case 'removeaccount':
                 if (!$this->_config->get('allow_manage_accounts')) {
                     break;
                 }
                 $person->parameter('midcom.admin.user', 'username', $person->username);
                 $person->username = '';
                 $person->password = '';
                 if ($person->update()) {
                     midcom::get('uimessages')->add($this->_l10n->get('midcom.admin.user'), sprintf($this->_l10n->get('user account revoked for %s'), $person->name));
                 }
                 break;
             case 'groupadd':
                 if (isset($_POST['midcom_admin_user_group'])) {
                     $member = new midcom_db_member();
                     $member->uid = $person->id;
                     $member->gid = (int) $_POST['midcom_admin_user_group'];
                     if ($member->create()) {
                         midcom::get('uimessages')->add($this->_l10n->get('midcom.admin.user'), sprintf($this->_l10n->get('user %s added to group'), $person->name));
                     }
                 }
                 break;
         }
     }
 }