Esempio n. 1
0
 public function run()
 {
     $date = new FrankizDateTime();
     $date->setTime(0, 0);
     $date_n = new FrankizDateTime();
     date_add($date_n, date_interval_create_from_date_string('1 day'));
     $date_n->setTime(0, 0);
     $activities = new ActivityInstanceFilter(new PFC_AND(new PFC_Or(new AIFC_User(S::user(), 'restricted'), new AIFC_User(S::user(), 'everybody')), new AIFC_Period($date, $date_n)));
     $c = $activities->get();
     $c->select(ActivityInstanceSelect::all());
     $c->order('hour_begin', false);
     $this->assign('day', new FrankizDateTime());
     $this->assign('date', date("Y-m-d"));
     $this->assign('activities', $c);
 }
Esempio n. 2
0
 protected function fetch(User $user)
 {
     global $globals;
     $activities = new ActivityInstanceFilter(new PFC_Or(new PFC_And(new AIFC_END(new FrankizDateTime(), AIFC_End::AFTER), new AIFC_User($user, 'restricted')), new PFC_And(new AIFC_END(new FrankizDateTime(), AIFC_End::AFTER), new AIFC_User($user, 'everybody'))));
     $activities = $activities->get();
     $activities->select(ActivityInstanceSelect::base());
     $data = array();
     foreach ($activities as $item) {
         $e = array();
         $e['id'] = $item->id();
         $e['title'] = '[' . $item->target_group()->label() . '] ' . $item->title();
         $e['activity'] = $item;
         $e['publication'] = $item->begin()->format();
         $auth = $item->origin() != false ? '[' . $item->origin() . '] ' : '';
         $e['author'] = $auth . $item->writer()->displayName();
         $e['link'] = $globals->baseurl . '/activity';
         $data[] = $e;
     }
     return PlIteratorUtils::fromArray($data, 1, true);
 }
Esempio n. 3
0
 function handler_ajax_modify($page, $type)
 {
     $json = json_decode(Env::v('json'));
     if ($type == 'instance') {
         $id = $json->admin_id;
         $ai = new ActivityInstance($id);
         $ai->select(ActivityInstanceSelect::base());
         if (!S::user()->hasRights($ai->target()->group(), Rights::admin())) {
             throw new Exception("Invalid credentials");
         }
         S::assert_xsrf_token();
         try {
             $begin = new FrankizDateTime($json->begin);
             $end = new FrankizDateTime($json->end);
             if ($ai->regular()) {
                 $ai->comment($json->activity_comment);
                 $ai->begin($begin);
                 $ai->end($end);
             } else {
                 $ai->begin($begin);
                 $ai->end($end);
                 $a = $ai->activity();
                 $a->title($json->title);
                 $a->description($json->activity_description);
             }
             $page->jsonAssign('success', true);
         } catch (Exception $e) {
             $page->jsonAssign('success', false);
         }
     } else {
         if ($type == 'regular') {
             $id = $json->aid;
             $a = new Activity($id);
             $a->select(ActivitySelect::base());
             if (!S::user()->hasRights($a->target()->group(), Rights::admin())) {
                 throw new Exception("Invalid credentials");
             }
             S::assert_xsrf_token();
             if (preg_match('`^\\d{2}:\\d{2}:\\d{2}$`', $json->begin) && strtotime($json->begin) !== false && preg_match('`^\\d{2}:\\d{2}:\\d{2}$`', $json->end) && strtotime($json->end) !== false) {
                 $a->title($json->title);
                 $a->description($json->activity_description);
                 $key = 'days[]';
                 $days = unflatten($json->{$key});
                 $a->days(implode(',', $days));
                 $a->default_begin($json->begin);
                 $a->default_end($json->end);
                 $page->jsonAssign('success', true);
             } else {
                 $page->jsonAssign('success', false);
             }
         }
     }
     return PL_JSON;
 }