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]); } }
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; }
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; }
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; }
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>'; }
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); }