public function toDoList() { // ToDo-list if (isset($this->user)) { $newmsgs = 0; $msgs = new pm(); $msgs->recipient_id = $this->user->id; $msgs->recipient_delete = 0; $msgs->is_read = 0; if ($msgs->find()) { while ($msgs->fetch()) { ++$newmsgs; } } $wait_res_count = 0; $waiting_res = $this->user->getWaitingRes(); if (is_array($waiting_res)) { foreach ($waiting_res as $res) { ++$wait_res_count; } } $waiting_user = new poolsUser(); $wait_user_count = array(); $waiting_user->wait = 1; $wait_user = false; if ($waiting_user->find()) { while ($waiting_user->fetch()) { $user_admin = new poolsAdmin(); $user_admin->pool_id = $waiting_user->pool_id; $user_admin->user_id = $this->user->id; if ($user_admin->find()) { $wait_user = true; ++$wait_user_count["{$waiting_user->pool_id}"]["count"]; $wait_user_count["{$waiting_user->pool_id}"]["pool"] = new pools(); $wait_user_count["{$waiting_user->pool_id}"]["pool"]->get($waiting_user->pool_id); } } } if ($wait_user || $wait_res_count > 0 || $newmsgs > 0) { $todo = array(); if ($wait_res_count > 0) { $todo['res'] = $wait_res_count; } if ($newmsgs > 0) { $todo['msgs'] = $newmsgs; } if ($wait_user) { $todo['user'] = $wait_user_count; } $this->todo = $todo; } else { $this->todo = false; } } }
private function process() { $this->commonProcess(); $config = services::getService('config'); $lang = services::getService('lang'); $params = services::getService('pageParams'); $categories = services::getService('cats'); $mail = services::getService('mail'); $form = new formPoolData('FoundForm'); if ($params->getParam('pool_id')) { $pool = new pools(); $pool->get($params->getParam('pool_id')); if (!$pool->isAdmin($this->user->id)) { $this->switchPage('mysite'); } // defaults $form->setDefaults(array('poolname' => $pool->name, 'pooldesc' => $pool->description, 'poolarea' => $pool->area, 'poolcountry' => $pool->country, 'pooladress' => array('plz1' => substr($pool->plz, 0, 2), 'plz2' => substr($pool->plz, 2, 3), 'city' => $pool->city), 'is_public' => $pool->is_public)); $this->pool = $pool; $this->header = $pool->name . $lang->getMsg('pooldata_header_change'); } else { $this->header = $pool->name . $lang->getMsg('pooldata_header_found'); } // Try to validate a form if ($form->validate()) { if (!isset($pool)) { $pool = new pools(); } $pool->name = $form->exportValue('poolname'); $pool->description = $form->exportValue('pooldesc'); $pool->area = $form->exportValue('poolarea'); $pool->country = $form->exportValue('poolcountry'); $adress2 = $form->getElementValue('pooladress'); $pool->plz = $adress2['plz1'] . $adress2['plz2']; $pool->city = $adress2['city']; $pool->is_public = $form->exportValue('is_public'); //$pool->is_located = $form->exportValue('is_located'); if (isset($pool->id)) { $pool->update(); $this->addMsg('msg_data_change_success'); $form->freezeForm(); $this->change_success_link = true; } else { $pool->wait = 1; $pool->insert(); $new_user = new poolsUser(); $new_user->user_id = $this->user->id; $new_user->pool_id = $pool->id; $new_user->wait = 0; $new_user->insert(); $new_admin = new poolsAdmin(); $new_admin->user_id = $this->user->id; $new_admin->pool_id = $pool->id; $new_admin->insert(); $params->addParam('msg', 'msg_found_success', 'page'); $mail->send('found_pool_admin', $config->getSetting('email'), $pool); $mail->send('found_pool_founder', $this->user, $pool); $this->switchPage('mysite'); } } $this->form = $form; }
<input type="text" name="server_password"> <input type="submit" name="server_login" value="einloggen"> </form>'; } // form processing if (isset($submit_server_password)) { if ($submit_server_password == $config->getSetting('password')) { // kick admin-form if ($_GET['action'] == 'kick_admin') { // add admin if given if (isset($_POST['add_admin_submit'])) { $pool = new pools(); $pool->get($_GET['pool_id']); $pool->addAdmin($_POST['add_admin_select']); } $pool_admin_del = new poolsAdmin(); $pool_admin_del->pool_id = $_GET['pool_id']; if ($pool_admin_del->find() > 1) { $pool_admin_del->user_id = $_GET['user_id']; $pool_admin_del->delete(); $deleted = true; } else { $pool_user_new = new poolsUser(); $pool_user_new->pool_id = $_GET['pool_id']; if ($pool_user_new->find() > 1) { include './inc/adminHeader.php'; echo '<p class="headline">Neuen Admin ernennen</p>'; echo '<p class="standard">Die NutziGem deren Admin gelöscht werden soll, hat nur einen, Du musst einen neuen ernennen.</p>'; echo '<p class="standard"> <form action="./admin.php?action=kick_admin&pool_id=' . $_GET['pool_id'] . '&user_id=' . $_GET['user_id'] . '&server_password='******'" method="POST"> <select name="add_admin_select">';
private function process() { $this->commonProcess(); $mail = services::getService('mail'); $config = services::getService('config'); $lang = services::getService('lang'); $params = services::getService('pageParams'); $categories = services::getService('cats'); $pool = new pools(); $pool->get($params->getParam("pool_id")); if ($pool->isAdmin($this->user->id)) { $this->header = $pool->name . $lang->getMsg('pooladmin_header'); // build userlist // assotiativ array with object and detail-flag if ($pool->isMember($this->user->id)) { $members = array(); $pool_users = new poolsUser(); $pool_users->pool_id = $pool->id; $pool_users->wait = 0; if ($pool_users->find()) { $detail_id = $params->getParam('showmember'); $count = 1; while ($pool_users->fetch()) { if ($pool_users->user_id != $this->user->id) { $pool_users->fetchUser(); $member = array("obj" => $pool_users->user, "detail" => $pool_users->user->id == $detail_id, "count" => $count); $members[] = $member; ++$count; } } $this->members = $members; } } // build adminlist // assotiativ array with object and detail-flag if ($pool->isAdmin($this->user->id)) { $admins = array(); $pool_admins = new poolsAdmin(); $pool_admins->pool_id = $pool->id; $pool_admins->wait = 0; if ($pool_admins->find()) { $detail_id = $params->getParam('showadmin'); $count1 = 1; while ($pool_admins->fetch()) { if ($pool_admins->user_id != $this->user->id) { $pool_admins->fetchUser(); $admin = array("obj" => $pool_admins->user, "detail" => $pool_admins->user->id == $detail_id, "count" => $count1); $admins[] = $admin; ++$count1; } } $this->admins = $admins; } } // form processing // Waiting User $wait_users = new poolsUser(); $wait_users->pool_id = $pool->id; $wait_users->wait = "1"; if ($wait_users->find()) { $waiting_user = array(); while ($wait_users->fetch()) { $waiting_user[] = $wait_users->user_id; } } // refuse_user-form if ($params->getParam('user_refuse_submit') != false) { foreach ($waiting_user as $user_id) { if ($params->getParam($user_id) == 1) { $refuse_user = new poolsUser(); // user is refused $refuse_user->user_id = $user_id; $refuse_user->pool_id = $pool->id; $refuse_user->find(); $refuse_user->delete(); $refused = TRUE; $refused_mail = new user(); $refused_mail->get($refuse_user->user_id); $mail->send("user_refused", $refused_mail, $pool); } } // set $msg if ($refused) { $this->addMsg('msg_refuse_user_success'); } } // accept_user-form if ($params->getParam('user_accept_submit') != false) { foreach ($waiting_user as $user_id) { if ($params->getParam($user_id) == 1) { $accept_user = new poolsUser(); // user is accepted $accept_user->user_id = $user_id; $accept_user->pool_id = $pool->id; $accept_user->find(true); $accept_user->wait = 0; $accept_user->res_to_free = 1; $accept_user->update(); $accepted = TRUE; $accepted_mail = new user(); $accepted_mail->get($user_id); $mail->send("user_accepted", $accepted_mail, $pool); } } // set $msg if ($accepted) { $this->addMsg('msg_accept_user_success'); } } // add Admin if ($params->getParam('action') == 'new_admin') { if ($params->getParam('really') == 'yes') { $pool->addAdmin($params->getParam('user')); $this->addMsg('msg_add_admin'); $new_admin = new user(); $new_admin->get($params->getParam('user')); $mail->send('new_admin', $new_admin, $pool); } else { $add_admin = new user(); $add_admin->get($params->getParam('user')); $this->really_add_admin = $add_admin; } } // kick_member if ($params->getParam('action') == 'kick_user') { if ($params->getParam('really') == 'yes') { $pool->removeMember($params->getParam('user')); $this->addMsg('msg_kick_member'); $kicker = new user(); $kicker->get($params->getParam('user')); $mail->send('kick_member', $kicker, $pool); } else { $kick_member = new user(); $kick_member->get($params->getParam('user')); $this->really_kick_member = $kick_member; } } $pool_new_admins = new poolsUser(); $pool_new_admins->pool_id = $pool->id; $pool_new_admins->wait = 0; $pool_new_admins->find(); $new_admins = array(); while ($pool_new_admins->fetch()) { if (!$pool->isAdmin($pool_new_admins->user_id)) { $pool_new_admin = new user(); $pool_new_admin->get($pool_new_admins->user_id); $new_admins[] = clone $pool_new_admin; } } $this->new_admins = $new_admins; $pool_kick_nutzis = new poolsUser(); $pool_kick_nutzis->pool_id = $pool->id; $pool_kick_nutzis->wait = 0; $pool_kick_nutzis->find(); $kick_user = array(); while ($pool_kick_nutzis->fetch()) { if (!$pool->isAdmin($pool_kick_nutzis->user_id)) { $pool_kick_nutzi = new user(); $pool_kick_nutzi->get($pool_kick_nutzis->user_id); $kick_user[] = clone $pool_kick_nutzi; } } $this->kick_user = $kick_user; // Waiting User $wait_users = new poolsUser(); $wait_users->pool_id = $pool->id; $wait_users->wait = "1"; if ($wait_users->find()) { $waiting_user = array(); while ($wait_users->fetch()) { $wait_user = new user(); $wait_user->get($wait_users->user_id); $waiting_user[] = array("obj" => clone $wait_user, "comments" => $wait_users->comments); } $this->waiting_user = $waiting_user; } // delete pool if ($pool->isLastAdmin($this->user->id)) { $this->lastadmin = true; } if ($params->getParam('action') == 'delpool') { $this->reallydelpool = true; if ($params->getParam('really') == 'yes') { $pool->deleteAll(); $this->switchPage('mysite&msg=msg_delpool_success'); } } $this->pool = $pool; } }
function isAdmin($pool_id = "") { $is_admin = new poolsAdmin(); if ($pool_id != "") { $is_admin->pool_id = $pool_id; } $is_admin->user_id = $this->id; return $is_admin->find(); }
function addAdmin($user_id) { if (!$this->isMember($user_id)) { $this->addMember($user_id); } $add_admin = new poolsAdmin(); $add_admin->user_id = $user_id; $add_admin->pool_id = $this->id; $add_admin->insert(); }