private function process()
 {
     $this->commonProcess();
     $config = services::getService('config');
     $lang = services::getService('lang');
     $params = services::getService('pageParams');
     // for redirection
     if ($params->getParam('refer') == 'mysite') {
         $this->refer = 'mysite';
     } else {
         $this->refer = 'showpool';
     }
     // res_free_page
     $userres = new resFetcher();
     $userres->_order = "name";
     $userres->_user = $this->user->id;
     $userres->search();
     $this->userres = $userres->getAsArray();
     $user_new_pool = new pools();
     $user_new_pool->id = $params->getParam('pool_id');
     if ($user_new_pool->find(true)) {
         $this->user_new_pool = $user_new_pool;
         $user_new_pools = new poolsUser();
         $user_new_pools->pool_id = $user_new_pool->id;
         $user_new_pools->user_id = $this->user->id;
         $user_new_pools->find(true);
         if ($user_new_pools->res_to_free == 1) {
             $this->new_pool = true;
         }
         if ($params->getParam('no_free_submit')) {
             $user_new_pools->res_to_free = 0;
             $user_new_pools->update();
             // delete res
             foreach ($this->userres as $res) {
                 $del_res = new poolsResources();
                 $del_res->pool_id = $params->getParam('pool_id');
                 $del_res->res_id = $res->id;
                 $del_res->find();
                 $del_res->delete();
                 $freed = true;
             }
             $this->switchPage($this->refer . '&pool_id=' . $user_new_pools->pool_id . '&msg=msg_freeres_alldeleted');
         } else {
             if ($params->getParam('res_free_submit')) {
                 // delete res
                 foreach ($this->userres as $res) {
                     $del_res = new poolsResources();
                     $del_res->pool_id = $params->getParam('pool_id');
                     $del_res->res_id = $res->id;
                     $del_res->find();
                     $del_res->delete();
                     $freed = true;
                 }
                 foreach ($_POST as $res_id => $doesnmatter) {
                     $free_res = new poolsResources();
                     $free_res->res_id = $res_id;
                     $free_res->pool_id = $params->getParam('pool_id');
                     // insert res
                     if ($doesnmatter == "check") {
                         if (!$free_res->find()) {
                             $free_res->insert();
                             $freed = true;
                         }
                     }
                 }
                 // set $msg
                 if ($freed) {
                     $this->switchPage($this->refer . '&pool_id=' . $user_new_pools->pool_id . '&msg=msg_free_res_success');
                 }
                 $user_new_pools->res_to_free = 0;
                 $user_new_pools->update();
             } else {
                 if (is_array($this->userres)) {
                     $this->free_res = true;
                 } else {
                     $user_new_pools->res_to_free = 0;
                     $user_new_pools->update();
                     // switch page with msg
                     $this->switchPage('showpool&pool_id=' . $user_new_pools->pool_id . '&msg=msg_freeres_nores');
                 }
             }
         }
     }
 }
 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;
     }
 }
 private function process()
 {
     $this->commonProcess();
     $config = services::getService('config');
     $lang = services::getService('lang');
     $params = services::getService('pageParams');
     // release resources
     if ($this->user->hasResources()) {
         // release no resources-function
         if ($params->getParam('function') == "freenone") {
             $relnone = new poolsUser();
             $relnone->pool_id = $params->getParam('freenone_pool_id');
             $relnone->user_id = $this->user->id;
             $relnone->find(true);
             $relnone->res_to_free = 0;
             $relnone->update();
         }
         $newpools = new poolsUser();
         $newpools->res_to_free = 1;
         $newpools->user_id = $this->user->id;
         if ($params->getParam('new_pool')) {
             $newpool = new pools();
             $newpool->id = $params->getParam('new_pool');
             $newpool->find(true);
             $this->new_pool = clone $newpool;
         } else {
             if ($newpools->find(true)) {
                 $newpools->fetchPool();
                 $this->new_pool = clone $newpools->pool;
             }
         }
     }
     $this->user->fetchPreferences();
     // registered msg
     if ($params->getParam('function') == "noregistered") {
         $this->user->preferences->delete();
         $this->user->preferences->registered_message = "2";
         $this->user->preferences->insert();
     }
     if ($this->user->preferences->registered_message === "1") {
         $this->registered_msg = true;
     }
     // welcome msg
     if ($params->getParam('function') == "nowelcome") {
         $this->user->preferences->delete();
         $this->user->preferences->welcome_message = "2";
         $this->user->preferences->insert();
     }
     if ($this->user->preferences->welcome_message === "2") {
         $this->welcome_msg = false;
     }
     // the table with users pools is generated
     // fetch "Pool"
     $pools_pool = new pools();
     $pools_pool->id = 1;
     $pools_pool->find(true);
     if ($pools_pool->isAdmin($this->user->id)) {
         $this->mypoolstable_thirdcol = true;
         $this->mypoolstable[] = array("id" => $pools_pool->id, "name" => $pools_pool->name, "area" => $pools_pool->area, "links" => '<a href="./index.php?page=pooldata&pool_id=' . $pools->id . '">' . $lang->getMsg('mysite_poolsadmintable_changedatalink') . '</a> | <a href="./index.php?page=pooladmin&pool_id=' . $pools->id . '">' . $lang->getMsg('mysite_poolsadmintable_adminlink') . '</a>');
     } else {
         $this->mypoolstable[] = array("id" => $pools_pool->id, "name" => $pools_pool->name, "area" => $pools_pool->area);
     }
     // fetch all other pools
     $pools = new poolsFetcher();
     $pools->_user = $this->user->id;
     $pools->_order = "name";
     $pools->search();
     while ($pools->fetch()) {
         if ($pools->id != 1) {
             if ($pools->isAdmin($this->user->id)) {
                 $this->mypoolstable_thirdcol = true;
                 $this->mypoolstable[] = array("id" => $pools->id, "name" => $pools->name, "area" => $pools->area, "links" => '<a href="./index.php?page=pooldata&pool_id=' . $pools->id . '">' . $lang->getMsg('mysite_poolsadmintable_changedatalink') . '</a> | <a href="./index.php?page=pooladmin&pool_id=' . $pools->id . '">' . $lang->getMsg('mysite_poolsadmintable_adminlink') . '</a>');
             } else {
                 $this->mypoolstable[] = array("id" => $pools->id, "name" => $pools->name, "area" => $pools->area);
             }
         }
     }
     // fetch all borrowed resources
     $borrowed = new resBorrowed();
     $borrowed->user_id = $this->user->id;
     if ($borrowed->find()) {
         $this->borrowed = array();
         while ($borrowed->fetch()) {
             $borrowed->fetchRes();
             $borrowed->res->fetchUser();
             $this->borrowed[] = clone $borrowed->res;
         }
     }
 }