Exemple #1
0
 private function setLang($name, Events\Event $event)
 {
     $vars = $this->map[$name];
     $lang = $this->getSetting('language_files');
     $this->defs = $this->loadJson($lang . $vars . '.json');
     $event->set('lang', $this);
 }
Exemple #2
0
 public function deletingPost(Events\Event $event)
 {
     $post = $event->get('post');
     $vars = array('csrf' => $event->get('deletepost_csrf'), 'post_title' => $post->title, 'post_body' => $post->body);
     $lang = array('place_title', 'place_body', 'place_delete', 'post_del_msg', 'post_conf_del');
     $vars = array_merge($vars, $this->fromLang($event, $lang));
     $event->set('delete_form', $vars);
 }
Exemple #3
0
 private function sidebar(Events\Event $event)
 {
     $side = $event->get('sidebar');
     if (empty($side)) {
         return array();
     }
     return $this->build($side, '');
 }
Exemple #4
0
 public function deletingPost(Events\Event $event)
 {
     $cond = array('editor' => 'delete');
     $lang = $event->get('lang');
     $vars = array('page_title' => 'Deleting post', 'page_heading' => 'Blog', 'theme' => $this->getThemeDisplay(), 'copyright' => $lang->term('copyright', 2016));
     $vars = array_merge($vars, $event->get('delete_form'));
     echo $this->sendView('manage_posteditor.html', $cond, $vars);
 }
Exemple #5
0
 public function profileView(Events\Event $event)
 {
     $cond = array();
     $lang = $event->get('lang');
     $vars = array('page_title' => 'Profile', 'page_heading' => 'Blog', 'theme' => $this->getThemeDisplay(), 'copyright' => $lang->term('copyright', date('Y')));
     $vars = array_merge($vars, $event->get('profile_form'));
     echo $this->sendView('manage_profile.html', $cond, $vars);
 }
Exemple #6
0
 public function editingPost(Events\Event $event)
 {
     $post = $event->get('post');
     $vars = array('csrf' => $event->get('editpost_csrf'), 'post_title' => $post->title, 'post_body' => $post->raw, 'post_summary' => $post->summary, 'post_pub' => $post->published_at);
     $lang = array('place_title', 'place_body', 'place_summary', 'place_slug', 'place_pub', 'place_post', 'place_edit', 'up_drop', 'select_files', 'tab_source', 'tab_preview', 'tab_options', 'tab_abstract', 'tab_media');
     $vars = array_merge($vars, $this->fromLang($event, $lang));
     $event->set('edit_form', $vars);
 }
Exemple #7
0
 /**
  * Handles all events
  */
 public function handleEvent(Events\Event $event)
 {
     $this->processEventRules($event->getName(), $event->getRules());
     if (!isset($_SESSION)) {
         return;
     }
     $event->set('session_id', $_SESSION['canary']['visit']);
     $event->set('user_id', 0);
 }
Exemple #8
0
 public function creatingPost(Events\Event $event)
 {
     $parent = $event->get('id');
     $parent = empty($parent) ? 0 : $parent;
     $title = $event->get('parent_title');
     $title = empty($title) ? '' : $title;
     $vars = array('csrf' => $event->get('newpost_csrf'), 'parent' => $parent, 'parent_title' => $title);
     $lang = array('place_title', 'place_body', 'place_summary', 'place_slug', 'place_pub', 'place_post', 'place_edit', 'up_drop', 'select_files', 'tab_source', 'tab_preview', 'tab_options', 'tab_abstract', 'tab_media');
     $vars = array_merge($vars, $this->fromLang($event, $lang));
     $event->set('create_form', $vars);
 }
Exemple #9
0
 public function editingPost(Events\Event $event)
 {
     if (empty($uid = $event->get('user_id'))) {
         $this->redirect('/', 403);
     }
     if (empty($event->get('user_status'))) {
         $this->redirect('/', 403);
     }
     $post = Models\Post::find(array('search' => 'id', 'value' => $event->get('id'), 'fields' => 'raw,summary'));
     if ($this->editorStatus($post->user_id, $uid, $event)) {
         $this->redirect('/', 403);
     }
     $event->set('post', $post);
     $event->set('editpost_csrf', $this->getCsrf('editpost', $event));
 }
Exemple #10
0
 private function save($data, Events\Event $event)
 {
     $post = new Models\Post();
     $this->basePost($data, $post);
     $post->parent_id = empty($data['parent']) ? 0 : abs((int) $data['parent']);
     $post->user_id = $event->get('user_id');
     if ($post->id) {
         if ($post->user_id) {
             $this->redirect('/manage/edit/' . $post->id, 201);
         } else {
             $this->redirect('/read/' . $post->id, 201);
         }
     } else {
         # This is terrible
         # TODO Some error handling
         $this->redirect('/');
     }
 }
Exemple #11
0
 /**
  * Get singular placeholders from language file
  */
 protected function fromLang(Events\Event $event, array $defs)
 {
     $lang = $event->get('lang');
     $vars = array();
     foreach ($defs as $term) {
         $vars[$term] = $lang->term($term);
     }
     return $vars;
 }
Exemple #12
0
 /**
  * Verify anti-XSS request token against user profile
  */
 protected function verifyCsrf($hash, $form, Events\Event $event)
 {
     $session = $event->get('session_id');
     $sig = $this->getSignature();
     return $this->getCrypto()->verifyPbk($form . $session . $sig, $hash);
 }
Exemple #13
0
 public function loggingIn(Events\Event $event)
 {
     $vars = array('login_csrf' => $event->get('login_csrf'));
     $event->set('login_form', $vars);
 }
Exemple #14
0
 public function viewPosts(Events\Event $event)
 {
     $event->set('searchpost_csrf', $this->getCsrf('searchpost', $event));
 }
Exemple #15
0
 public function registering(Events\Event $event)
 {
     $vars = array('register_csrf' => $event->get('register_csrf'));
     $event->set('register_form', $vars);
 }
Exemple #16
0
 public function logginIn(Events\Event $event)
 {
     $event->set('login_csrf', $this->getCsrf('login', $event));
 }
Exemple #17
0
 public function profileView(Events\Event $event)
 {
     $vars = array('profile_csrf' => $event->get('profile_csrf'), 'password_csrf' => $event->get('password_csrf'), 'delete_csrf' => $event->get('delete_csrf'));
     $event->set('profile_form', $vars);
 }
Exemple #18
0
 public function viewPosts(Events\Event $event)
 {
     $vars = array('csrf' => $event->get('searchpost_csrf'));
     $this->menuBuilder($event, $conds);
     $event->set('search_form', $vars);
 }
Exemple #19
0
 public function profileView(Events\Event $event)
 {
     $event->set('profile_csrf', $this->getCsrf('profile', $event));
 }
Exemple #20
0
 public function registering(Events\Event $event)
 {
     $event->set('register_csrf', $this->getCsrf('register', $event));
 }