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 create($based_on = NULL) { $this->deck_id = $this->dbInsert('deck', array('user_id' => $this->user->id, 'language' => $this->language["id"] . '-' . $this->language["name"], 'translated_from' => $this->translated_from, 'translated_from_revision' => $this->translated_from_revision)); $this->owner = $this->user; $this->initiator = $this->user; $this->commit($based_on); //adds an empty slide to deck $slide = new Slide(); $slide->user = $this->user; $slide->content = "<h2>new slide</h2>"; $slide->language = $this->language; $slide->translation_status = 'original'; $slide->create(); $this->addContent(array($slide)); return $this->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; }
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'); }
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; }