Example #1
0
 function mergeSlides()
 {
     $slide1 = new Slide();
     $id = 327;
     $slide1->createFromID($id);
     // revision id
     $slide2 = new Slide();
     $slide2->id = $slide1->getPreviousRevisionID();
     if ($slide2->id != NULL) {
         $slide2->createFromID($slide2->id);
         $comparison_result = $this->compare($slide1, $slide2);
         $this->set('first_slide_content', $comparison_result[0]);
         $this->set('second_slide_content', $comparison_result[1]);
         $this->set('comparison_result', $comparison_result[2]);
     }
 }
Example #2
0
 public function getRevisions()
 {
     $res = array();
     foreach ($this->dbQuery('SELECT slide_revision.id, timestamp, content, comment, user_id,  username FROM slide_revision INNER JOIN users ON(user_id=users.id) WHERE slide=' . $this->slide_id . ' ORDER BY timestamp DESC') as $row) {
         $slide = new Slide();
         $slide->createFromID($row['id']);
         $slide->content = $slide->getThumbnailContent();
         $res[] = $slide;
     }
     return $res;
 }
Example #3
0
 public function getSubscribedSlides($page)
 {
     $extent = $this->feed_page_size;
     $offset = $page * $extent;
     $res = array();
     foreach ($this->dbQuery('SELECT * FROM subscription WHERE item_type="slide" AND user_id=' . $this->id . ' LIMIT ' . $offset . ',' . $extent) as $row) {
         $slide = new Slide();
         $slide->slide_id = $row['item_id'];
         $last_revision_id = $slide->getLastRevisionID();
         $slide->createFromID($last_revision_id);
         $slide->usage = $slide->getUsage();
         $res[] = $slide;
     }
     return $res;
 }
Example #4
0
 public function findSlideByBasic($slide_basic)
 {
     $slide = new Slide();
     $slide_id = $this->dbQuery("SELECT slide_revision.id FROM deck_content JOIN slide_revision ON deck_content.item_id = slide_revision.id WHERE deck_content.deck_revision_id = " . $this->id . " AND deck_content.item_type = 'slide'\tAND slide_revision.slide = " . $slide_basic);
     $slide->createFromID($slide_id['0']['id']);
     $slide->deck = new Deck();
     $slide->deck->id = $slide->getContainerID();
     $slide->deck->title = $slide->deck->getTitle();
     $slide->deck->slug_title = $slide->sluggify($slide->deck->title);
     return $slide;
 }
Example #5
0
 public function slideBuilding($order, $slideSet, $page)
 {
     $this->pager($order, 'slide', count($slideSet));
     $position = 1;
     $prevSlide = $slideSet[0]['slide'] - 1;
     //`slide` of the first element-1
     $k = 0;
     //counter for numeration
     $slidesToShow = array();
     echo '<ul class="deckOverviewList">';
     echo '<li class="deckOverviewItem">';
     echo '<div class="deck-menu deck-container" >';
     for ($i = 0; $i < count($slideSet); $i++) {
         $r = $slideSet[$i];
         if ($r['slide'] == $prevSlide) {
             $position++;
         } else {
             $position = 1;
         }
         if ($position == 1) {
             $slidesToShow[] = $r;
         }
     }
     $first = ($page - 1) * $this::slides_per_page;
     for ($index = $first; $index < $first + $this::slides_per_page && $index < count($slidesToShow); $index++) {
         $r = $slidesToShow[$index];
         $slide = new Slide();
         $slide->createFromID($r['id']);
         $slides[] = $slide;
     }
     foreach ($slides as $r) {
         $title = $r->getTitle();
         $deck_obj = $r->getLastDeck($r->id);
         $deck_id = $deck_obj->id;
         $deck = new Deck();
         $deck->createFromID($deck_id);
         $k++;
         //numeration
         /*if (strlen($title)>10) {
         			$title=substr($title,0,10).'...';
         		}
         		*/
         echo '<div class="slide"  style = "font-size:0.22em; height: 65px; padding: 5px 1%; margin: 0 1% 5px 0; position: relative;">';
         echo '<a href="./?url=main/deck&deck=' . $deck->id . '#tree-' . $r->deck . '-slide-' . $r->id . '-' . $r->position . '-view">';
         echo $r->getThumbnailContent();
         echo '</a>';
         echo '</div>';
         echo '<div class="addButton" style="display:none; float:left; font-size:10pt"><input type="button" id="' . $r->id . '" name="add' . $r->id . '" value="Add" onclick="appendItemById(\'' . $title . '\',this.id)"></div>';
         $prevSlide = $r->slide_id;
     }
     echo '</ul>';
     echo '</div>';
 }
Example #6
0
 function item()
 {
     $item_id = $_GET['id'];
     $item_type = $_GET['type'];
     $item_user = @$_GET['user'];
     $redirect_link = "";
     $hash = "";
     switch ($item_type) {
         case 'slide':
             $slide = new Slide();
             $slide->createFromID($item_id);
             if (isset($item_user)) {
                 $last_revision = $slide->getLastRevisionID($item_user);
             } else {
                 $last_revision = $slide->last_revision_id;
             }
             $slide2 = new Slide();
             $slide2->createFromID($last_revision);
             $slide_usage = $slide2->getUsage();
             if (is_array($slide_usage) && count($slide_usage) == 1) {
                 $hash = 'tree-' . $slide_usage[0]->id . '-slide-' . $slide2->id . '-' . $slide2->getPosition() . '-view';
                 $parent_deck = $slide2->getLastOuterParent($slide_usage[0]->id);
                 $deck = new Deck();
                 $deck->id = $parent_deck;
                 $deck->title = $deck->getTitle();
                 $deck->slug_title = $deck->sluggify($deck->title);
                 $redirect_link = BASE_PATH . 'deck/' . $parent_deck . '_' . $deck->slug_title . '#' . $hash;
             } else {
                 $redirect_link = BASE_PATH . 'slide/' . $last_revision;
             }
             break;
         case 'deck':
             $deck = new Deck();
             $deck->createFromID($item_id);
             if (isset($item_user)) {
                 $last_revision = $deck->getLastRevisionID($item_user);
             } else {
                 $last_revision = $deck->last_revision_id;
             }
             $deck_for_title = new Deck();
             $deck_for_title->id = $last_revision;
             $deck_for_title->title = $deck_for_title->getTitle();
             $deck_for_title->slug_title = $deck_for_title->sluggify($deck->title);
             $deck2 = new Deck();
             $deck2->createFromID($last_revision);
             $deck_usage = $deck2->getUsage();
             if (is_array($deck_usage) && count($deck_usage) == 1) {
                 $hash = 'tree-' . $deck_usage[0]->id . '-deck-' . $deck2->id . '-' . $deck2->getPosition() . '-view';
                 $parent_deck = $deck2->getLastOuterParent($deck_usage[0]->id);
                 $deck_for_title = new Deck();
                 $deck_for_title->id = $parent_deck;
                 $deck_for_title->title = $deck->getTitle();
                 $deck_for_title->slug_title = $deck->sluggify($deck->title);
                 $redirect_link = BASE_PATH . 'deck/' . $parent_deck . '_' . $deck_for_title->slug_title . '#' . $hash;
             } else {
                 $redirect_link = BASE_PATH . 'deck/' . $last_revision . '_' . $deck_for_title->slug_title;
             }
             break;
     }
     header('Location: ' . $redirect_link);
 }