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;
         }
     }
 }
 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');
     // use-res logics
     // accept inquiry
     if ($params->getParam('action') == 'wait_res_accept') {
         $wait_res = new resWait();
         $wait_res->get($params->getParam('wait_id'));
         $wait_res->fetchRes();
         // no item
         if ($wait_res->res->type == 0) {
             // delete all interessants
             $wait_res->res->deleteWaiting($wait_res->user_id);
             $wait_res->fetchUser();
             $wait_res->res->fetchUser();
             $mail->send('nogood_accepted', $wait_res->user, $wait_res->res, $wait_res->res->user);
             $this->switchPage('resmanager&msg=msg_request_success');
         }
         // give
         if ($wait_res->res->type == 1) {
             // res is given to the new owner
             $wait_res->res->changeOwner($wait_res->user_id);
             $wait_res->fetchUser();
             // delete pool affiliations
             $wait_res->res->deletePools();
             // delete all interessants
             $wait_res->res->deleteWaiting();
             $wait_res->res->fetchUser();
             $mail->send('give_accepted', $wait_res->user, $wait_res->res, $wait_res->res->user);
             $this->switchPage('resmanager&msg=msg_give_success');
         }
         // borrow
         if ($wait_res->res->type == 2) {
             // res is borrowed
             $wait_res->res->isBorrowed($wait_res->user_id);
             $wait_res->fetchUser();
             // delete all interessants
             $wait_res->res->deleteWaiting();
             $wait_res->res->fetchUser();
             $mail->send('borrow_accepted', $wait_res->user, $wait_res->res, $wait_res->res->user);
             $this->switchPage('resmanager&msg=msg_borrow_success');
         }
         $this->toDoList();
     }
     // refuse inquiry
     if ($params->getParam('action') == 'wait_res_refuse') {
         $wait_res = new resWait();
         $wait_res->id = $params->getParam('wait_id');
         $wait_res->find(true);
         $waiter = new user();
         $waiter->get($wait_res->user_id);
         $wait_res->fetchRes();
         $wait_res->res->fetchUser();
         $mail->send('refused', $waiter, $wait_res->res, $wait_res->res->user);
         $wait_res->delete();
         $this->toDoList();
         $this->switchPage('resmanager&');
     }
     // res is given back
     if ($params->getParam('action') == 'res_back') {
         $bow_res = new resBorrowed();
         $bow_res->res_id = $params->getParam('res_id');
         if ($bow_res->delete()) {
             $this->switchPage('resmanager&msg=msg_res_back');
         }
     }
     // delete resources
     if ($params->getParam('resdata_del_submit')) {
         foreach ($_POST as $res_id => $doesnmatter) {
             $del_res = new resources();
             // delete res
             $del_res->id = $res_id;
             if ($del_res->deleteAll()) {
                 $deleted = true;
             }
         }
         // set $msg
         if ($deleted) {
             $this->switchPage('resmanager&msg=msg_delres_success');
         }
     }
     $userres = new resFetcher();
     $userres->_order = "name";
     $userres->_user = $this->user->id;
     $userres->search();
     $this->userres = $userres->getAsArray();
     // function is set
     if ($this->res_offers) {
         $this->function = 'offers';
     } else {
         if ($this->borrowed_res) {
             $this->function = 'borrowed';
         } else {
             $this->function = 'all';
         }
     }
     if ($params->getParam('function')) {
         $this->function = $params->getParam('function');
     }
     if (!$this->res_offers && $this->function == 'offers') {
         $this->function = 'borrowed';
     }
     if (!$this->borrowed_res && $this->function == 'borrowed') {
         $this->function = 'all';
     }
 }
 function isAvailable()
 {
     $new_borrower = new resBorrowed();
     $new_borrower->res_id = $this->id;
     if ($new_borrower->find()) {
         return false;
     }
     return true;
 }