function handler_home($page) { $page->assign('MiniModules_COL_LEFT', FrankizMiniModule::get(S::user()->minimodules(FrankizMiniModule::COL_LEFT))); $page->assign('MiniModules_COL_MIDDLE', FrankizMiniModule::get(S::user()->minimodules(FrankizMiniModule::COL_MIDDLE))); $page->assign('MiniModules_COL_RIGHT', FrankizMiniModule::get(S::user()->minimodules(FrankizMiniModule::COL_RIGHT))); $postit = Group::from('postit'); // /!\ : Everybody can read the post-it, you don't have to be member of the group $nf = new NewsFilter(new PFC_And(new NFC_Current(), new NFC_TargetGroup($postit)), new NFO_Begin(true)); $postit_news = $nf->get(true); if ($postit_news) { $postit_news->select(NewsSelect::news()); } $page->assign('postit_news', $postit_news); $page->assign('title', 'Accueil'); $page->changeTpl('frankiz/home.tpl'); }
protected function fetch(User $user) { global $globals; $nf = new NewsFilter(new PFC_And(new NFC_Current(), new NFC_Target($user->targetCastes())), new NFO_Begin(true)); $all_news = $nf->get(); $all_news->select(NewsSelect::news()); $data = array(); foreach ($all_news as $item) { $e = array(); $e['id'] = $item->id(); $e['title'] = '[' . $item->target()->group()->label() . '] ' . $item->title(); $e['news'] = $item; $e['publication'] = $item->begin()->format(); $auth = $item->origin() != false ? '[' . $item->origin()->label() . '] ' : ''; $e['author'] = $auth . $item->writer()->displayName(); $e['link'] = $globals->baseurl . '/news'; $data[] = $e; } return PlIteratorUtils::fromArray($data, 1, true); }
function handler_admin($page, $nid = false) { $news = News::fromId($nid); if ($news !== false) { $news->select(NewsSelect::news()); if (S::user()->hasRights($news->target()->group(), Rights::admin()) || S::user()->isWeb()) { if (Env::has('modify') || Env::has('delete')) { S::assert_xsrf_token(); } if (Env::has('modify')) { $news->title(Env::t('title')); $news->content(Env::t('news_content')); $news->begin(new FrankizDateTime(Env::t('begin'))); $news->end(new FrankizDateTime(Env::t('end'))); if (Env::has('reappear')) { $news->removeReadFlags(); } if (Env::has('image')) { $image = new ImageFilter(new PFC_And(new IFC_Id(Env::i('image')), new IFC_Temp())); $image = $image->get(true); if (!$image) { throw new Exception("This image doesn't exist anymore"); } $image->select(FrankizImageSelect::caste()); $image->label($news->title()); $image->caste($news->target()); $news->image($image); } $page->assign('msg', "L'annonce a été modifiée."); } if (Env::has('delete')) { $news->delete(); $page->assign('delete', true); } } } $page->assign('news', $news); $page->assign('isEdition', true); $page->assign('title', "Modifier l'annonce"); $page->addCssLink('validate.css'); $page->changeTpl('news/admin.tpl'); }