Пример #1
0
 function handler_laf($page, $id = 0)
 {
     if (Env::has('trouve') && Env::has('obj')) {
         if (S::logged()) {
             XDB::execute("INSERT INTO   laf\n                                  SET   uid = {?}, found = NOW(), description = {?}, context = {?}", S::user()->id(), Env::t('obj'), Env::t('desc'));
             $page->assign('message', 'Pense à supprimer l\'objet une fois rendu à son propriétaire.');
             require_once 'banana/hooks.inc.php';
             $body = 'L\'objet ' . Env::t('obj') . ' a été retrouvé';
             if (Env::t('desc') != '') {
                 $body .= ' dans les circonstances suivantes : ' . Env::t('desc');
             }
             $body .= '.\\n\\n' . S::user()->displayName() . '\\n\\n\\n' . 'Ceci est un message automatique, merci de le signaler sur frankiz une fois l\'objet rendu.';
             send_message('br.pa', 'pong ' . Env::t('obj'), $body);
         } else {
             $page->assign('not_logged', 'true');
         }
     }
     if (Env::has('perdu') && Env::has('obj')) {
         if (S::logged()) {
             XDB::execute("INSERT INTO   laf\n                                  SET   uid = {?}, lost = NOW(), description = {?}, context = {?}", S::user()->id(), Env::t('obj'), Env::t('desc'));
             $page->assign('message', 'Pense à supprimer l\'objet dès que celui-ci est retrouvé.');
             require_once 'banana/hooks.inc.php';
             $body = 'L\'objet ' . Env::t('obj') . ' a été perdu';
             if (Env::t('desc') != '') {
                 $body .= ' dans les circonstances suivantes : ' . Env::t('desc');
             }
             $body .= '.\\n\\n' . S::user()->displayName() . '\\n\\n\\n' . 'Ceci est un message automatique, merci de le signaler sur frankiz une fois l\'objet retrouvé.';
             send_message('br.pa', 'ping ' . Env::t('obj'), $body);
         } else {
             $page->assign('not_logged', 'true');
         }
     }
     if (Env::has('pong')) {
         $this->manage_pong($page, $id);
     }
     if (Env::has('del_pong')) {
         if (S::logged()) {
             $res = XDB::query("SELECT * FROM laf WHERE oid = {?}", $id)->fetchAllRow();
             $res = $res[0];
             if (S::user()->id() == $res[1]) {
                 XDB::execute("UPDATE laf SET lost = NOW() WHERE oid = {?}", $id);
                 $page->assign('message', 'L\'objet a été supprimé de la base.');
             } else {
                 $page->assign('message', 'Seul celui qui a trouvé l\'objet peut le supprimer de la liste.');
             }
         } else {
             $page->assign('no-logged', 'true');
         }
     }
     if (Env::has('ping')) {
         if (S::logged()) {
             $this->manage_ping($page, $id);
         } else {
             $page->assign('not_logged', 'true');
         }
     }
     if (Env::has('del_ping')) {
         if (S::logged()) {
             $res = XDB::query("SELECT * FROM laf WHERE oid = {?}", $id)->fetchAllRow();
             $res = $res[0];
             if (S::user()->id() == $res[1]) {
                 XDB::execute("UPDATE laf SET found = NOW() WHERE oid = {?}", $id);
                 $page->assign('message', 'L\'objet a été supprimé de la base.');
             } else {
                 $page->assign('message', 'Seul celui qui a perdu l\'objet peut le supprimer de la liste.');
             }
         } else {
             $page->assign('not_logged', 'true');
         }
     }
     if (Env::has('ping_obj')) {
         $res = XDB::query("SELECT * FROM laf WHERE ISNULL(found) \n            \t\t\t\tAND description " . XDB::formatWildcards(XDB::WILDCARD_CONTAINS, Env::t('ping_obj')) . "\n            \t\t\t\tOR context " . XDB::formatWildcards(XDB::WILDCARD_CONTAINS, Env::t('ping_obj')) . "\n            \t\t\t\tORDER BY lost DESC LIMIT 30");
         $lost = $res->fetchAllRow();
         $page->assign('query', 'ping');
     } else {
         $res = XDB::query("SELECT * FROM laf WHERE ISNULL(found) ORDER BY lost DESC LIMIT 30");
         $lost = $res->fetchAllRow();
     }
     if (Env::has('pong_obj')) {
         $res = XDB::query("SELECT  *\n                                 FROM  laf\n                                WHERE  ISNULL(lost)\n            \t\t\t\t      AND  description " . XDB::formatWildcards(XDB::WILDCARD_CONTAINS, Env::t('pong_obj')) . "\n            \t\t\t\t       OR  context " . XDB::formatWildcards(XDB::WILDCARD_CONTAINS, Env::t('pong_obj')) . "\n            \t\t\t\t ORDER BY  found\n            \t\t\t   DESC LIMIT  30");
         $found = $res->fetchAllRow();
         $page->assign('query', 'pong');
     } else {
         $res = XDB::query("SELECT * FROM laf WHERE ISNULL(lost) ORDER BY found DESC LIMIT 30");
         $found = $res->fetchAllRow();
     }
     $page->addCssLink('laf.css');
     $page->assign('uid', s::user()->id());
     $page->assign('title', 'Objets Trouvés');
     $page->assign('lost', $lost);
     $page->assign('found', $found);
     $page->changeTpl('lostandfound/laf.tpl');
 }
Пример #2
0
 function handler_participants_del($page, $id)
 {
     S::assert_xsrf_token();
     $activities = new ActivityInstanceFilter(new PFC_AND(new AIFC_CanBeSeen(S::user()), new AIFC_Id($id)));
     $a = $activities->get(true);
     if ($a === false) {
         $page->jsonAssign('success', false);
         return PL_JSON;
     }
     $a->select(ActivityInstanceSelect::base());
     $a->delete_participants(S::user()->id());
     $page->jsonAssign('participant', array('id' => s::user()->id()));
     $page->jsonAssign('success', true);
     return PL_JSON;
 }
Пример #3
0
 public function export($bits = null)
 {
     $a = parent::export($bits);
     $a['aid'] = $this->activity->id();
     $a['writer'] = array('displayName' => $this->writer->displayName(), 'id' => $this->writer->id(), 'login' => $this->writer->login(), 'photo' => $this->writer->image()->src('micro'));
     $a['target'] = array('name' => $this->activity->target_group()->name(), 'label' => $this->activity->target_group()->label());
     if ($this->activity->origin() != false) {
         $a['origin'] = array('name' => $this->activity->origin()->name(), 'label' => $this->activity->origin()->label());
         if ($this->activity->origin()->image() != false) {
             $a['origin']['image'] = $this->activity->origin()->image()->src('micro');
         }
     }
     $a['title'] = $this->activity->title();
     $a['description'] = MiniWiki::wikiToHTML($this->activity->description(), false);
     $a['comment'] = MiniWiki::wikiToHTML($this->comment, false);
     $a['begin'] = $this->begin->format("m/d/Y H:i");
     $a['end'] = $this->end->format("m/d/Y H:i");
     $a['participants'] = array();
     foreach ($this->participants as $user) {
         $a['participants'][$user->id()] = array('displayName' => $user->displayName(), 'id' => $user->id());
         if ($user->id() == s::user()->id()) {
             $a['participate'] = true;
         }
     }
     if (!isset($a['participate'])) {
         $a['participate'] = false;
     }
     $a['regular'] = $this->regular();
     $a['canEdit'] = S::user()->hasRights($this->activity->target()->group(), Rights::admin());
     $a['isWriter'] = S::user()->id() == $this->writer->id();
     return $a;
 }