public function saveToDB($user_id)
 {
     // create a deck with the name of a presentation
     $content = array();
     $new_deck = new Deck();
     $user = new User();
     $user->createFromID($user_id);
     $new_deck->user = $user;
     $new_deck->comment = "new deck created!";
     $new_deck->title = $this->_title;
     $deck_rev_id = $new_deck->create();
     // get each slide and put it in the deck
     for ($i = 0; $i < $this->_numberof_slides; $i++) {
         $new_slide = new Slide();
         $new_slide->user = $user;
         $new_slide->comment = "new slide created!";
         $slide_content = $this->_slides[$i]->_html_slide;
         $new_slide->content = $slide_content;
         $new_slide->deck = $new_deck->id;
         $new_slide->position = $i + 1;
         $slide_rev_id = $new_slide->create();
         $content[] = $new_slide;
         // populate media_relations table
         if (sizeof($this->_slides[$i]->_pics) != 0) {
             foreach ($this->_slides[$i]->_pics as $pic) {
                 $img = new Media();
                 $img->addRelationsFor($pic->_db_id, $deck_rev_id, $slide_rev_id);
             }
         }
     }
     $new_deck->addContent($content);
     return $new_deck->id;
 }
 public function saveToDB($user_id, $slides, $meta_data)
 {
     // create a deck with the name of a presentation
     $content = array();
     $new_deck = new Deck();
     $user = new User();
     $user->createFromID($user_id);
     $new_deck->user = $user;
     $new_deck->comment = "Deck imported from HTML file!";
     $new_deck->title = $meta_data['title'];
     $new_deck->create($meta_data['deck_revision_id']);
     // get each slide and put it in the deck
     foreach ($slides as $index => $slide) {
         $new_slide = new Slide();
         $new_slide->user = $user;
         $new_slide->comment = "new slide created!";
         $slide_content = $slide;
         $new_slide->content = $slide_content;
         $new_slide->deck = $new_deck->id;
         $new_slide->position = $index + 1;
         $new_slide->create();
         $content[] = $new_slide;
     }
     $new_deck->addContent($content);
     //$new_deck->commit();
     // save image to server
     // create image entries in the DB table
     return $new_deck->id;
 }
Exemple #3
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');
 }
Exemple #4
0
 public function saveToDB($user_id, $slides)
 {
     // create a deck with the name of a presentation
     $content = array();
     $new_deck = new Deck();
     $user = new User();
     $user->createFromID($user_id);
     $new_deck->user = $user;
     $new_deck->comment = "new deck created!";
     $new_deck->title = '';
     $new_deck->create();
     // get each slide and put it in the deck
     foreach ($slides as $index => $slide) {
         $new_slide = new Slide();
         $new_slide->user = $user;
         $new_slide->comment = "new slide created!";
         $slide_content = $slide;
         $new_slide->content = $slide_content;
         $new_slide->deck = $new_deck->id;
         $new_slide->position = $index + 1;
         $new_slide->create();
         $content[] = $new_slide;
     }
     $new_deck->addContent($content);
     // save image to server
     // create image entries in the DB table
     return $new_deck->id;
 }