Beispiel #1
0
 function profileEdit()
 {
     // Authorize user
     $id = $_GET['id'];
     if ($this->_user['is_authorized']) {
         if (!($this->_user['id'] == $id)) {
             $this->set('authorized', false);
             die('You are not allowed to edit this profile!');
         } else {
             $this->set('authorized', true);
         }
     } else {
         $this->set('authorized', false);
         die('You are not allowed to edit this profile!');
     }
     // get all necessary user data
     $user = new User();
     $user->createFromID($id);
     $email = $user->getEmail();
     $language = $user->getDefaultLanguage();
     $this->set('default_language', $language);
     // notification_interval is rewritten if any POST data is present
     $notification_interval = $user->getNotificationInterval();
     $default_theme = $user->getDefaultTheme();
     //if any POST data in - update profile
     $style = new Style();
     $styles_list = $style->getAll();
     $this->set('styles', $styles_list);
     $this->set('notification_interval', $notification_interval);
     $this->set('default_theme', $default_theme);
     $this->set('profile', $user);
     $this->set('email', $email);
     $this->set('page_title', "Edit User - " . $user->username);
 }
Beispiel #2
0
 function newDeck()
 {
     // need a better access control here
     if (!$this->_user['is_authorized']) {
         $this->set('authorized', false);
         //die ( 'Please login in to create a new deck!' );
     } else {
         $this->set('authorized', true);
     }
     if (isset($_POST['submit'])) {
         $data = $_POST['deck'];
         $deck = new Deck();
         $deck->title = $data['title'];
         $deck->slug_title = $deck->sluggify($deck->title);
         $user = new User();
         $user->createFromID($this->getCurrentUserID());
         $deck->user = $user;
         $deck->abstract = $data['abstract'];
         $deck->default_theme = $data['theme'];
         $deck->visibility = $data['visibility'];
         $deck->language['id'] = $data['language_id'];
         $deck->language['name'] = $data['language_name'];
         $deck->create();
         $slide_no = $data['slideNo'];
         //add slides
         $content = array();
         for ($i = 1; $i < $slide_no; $i++) {
             $slide = new Slide();
             $slide->user = $user;
             $slide->content = "<h2>new slide</h2>";
             $slide->language['id'] = $data['language_id'];
             $slide->language['name'] = $data['language_name'];
             $slide->translation_status = 'original';
             $slide->create();
             $content[] = $slide;
         }
         $deck->addContent($content);
         $tag = new Tag();
         $tag->item_type = "deck";
         $tag->item_id = $deck->id;
         foreach (explode(',', $data['tags']) as $item) {
             $tag->tag = $item;
             $tag->save();
         }
         header('Location:deck/' . $deck->id . '_' . $deck->slug_title);
     } else {
         $style = new Style();
         $styles_list = $style->getAll();
         $this->set('styles', $styles_list);
         $user_id = $this->getCurrentUserID();
         $user = new User();
         $user->id = $user_id;
         $default_language = $user->getDefaultLanguage();
         if (!$default_language['id']) {
             $default_language['id'] = 'en';
             $default_language['name'] = 'English';
         }
         $this->set('default_language', $default_language);
     }
     $this->set('page_title', 'SlideWiki - Create a new deck');
 }