/** * 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. }
/** * 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; }
/** * 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; }
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; } } }