public function PrintHTML() { $movies = CMovie::threeLatest($this->db, 70, 105); if (isset($this->queryGET['win'])) { $html = "Grattis! Du lyckades samla ihop 100 poäng, du behövde bara {$this->ses->GetRounds()} omgångar.<br>" . ($this->ses->GetRounds() <= 10 ? "<div class='price'>\n <p style='text-align: left;'>GRATTIS! Du har nu chans att vinna gratis uthyrning av dessa tre filmer i en månad.</p>\n {$movies}\n </div>" : "Du var tvyärr inte tillräckligt skicklig för att få en chans att hyra filmer gratis. Det är bara till att försöka igen!") . "<br><br><a class='as-button' href='?restart'>Starta nytt spel</a>"; } else { $html = "<p>Tärningsspelet 100 är ett enkelt, men roligt, tärningsspel. Det gäller att samla ihop poäng för att komma till 100. I varje omgång kastar du tärning tills du väljer att stanna och spara poängen eller tills det dyker upp en 1:a. Om du slår en 1:a förlorar du alla poäng som samlats in i rundan.</p>\n <hr><br>\n <div class='price'>\n <p style='text-align: left;'>Om du lyckas komma upp till 100 poäng under 10 omgångar har du chans att få hyra nedanstående tre filmer gratis i en hel månad!</p>\n {$movies}\n </div>\n {$this->Action()}<br><br>\n <div style='height: 40px;'>\n {$this->GetRollsAsImageList()}</div><br>\n Poäng i nuvarande omgång: {$this->sum}<br> \n Sparade poäng: {$this->totalSum}<br>\n Antal omgångar: {$this->rounds}<br><br>\n <a class='as-button' href='?roll'>Kasta</a> <a class='as-button' href='?store'>Spara poäng</a> <a class='as-button' href='?restart'>Återställ spel</a>"; } return $html; }
/** * Create a navigation bar / menu, with submenu. * * @param string $menu for the navigation bar. * @return string as the html for the menu. */ function get_navbar($menu) { // Keep default options in an array and merge with incoming options that can override the defaults. $default = array('id' => null, 'class' => null, 'wrapper' => 'nav'); $menu = array_replace_recursive($default, $menu); // Create the ul li menu from the array, use an anonomous recursive function that returns an array of values. $create_menu = function ($items, $callback) use(&$create_menu) { $html = null; $hasItemIsSelected = false; foreach ($items as $item) { // has submenu, call recursivly and keep track on if the submenu has a selected item in it. $submenu = null; $selectedParent = null; if (isset($item['submenu'])) { list($submenu, $selectedParent) = $create_menu($item['submenu']['items'], $callback); $selectedParent = $selectedParent ? " selected-parent" : null; } // Check if the current menuitem is selected $selected = $callback($item['url']) ? 'selected' : null; if ($selected) { $hasItemIsSelected = true; } $selected = $selected || $selectedParent ? " class='{$selected}{$selectedParent}' " : null; $html .= "\n<li{$selected}><a href='{$item['url']}' title='{$item['title']}'>{$item['text']}</a>{$submenu}</li>\n"; } return array("\n<ul>{$html}</ul>\n", $hasItemIsSelected); }; // Call the anonomous function to create the menu, and submenues if any. list($html, $ignore) = $create_menu($menu['items'], $menu['callback']); // Set the id & class element, only if it exists in the menu-array $id = isset($menu['id']) ? " id='{$menu['id']}'" : null; $class = isset($menu['class']) ? " class='{$menu['class']}'" : null; $wrapper = $menu['wrapper']; //search function from movie? print html too? return "\n" . CMovie::headerSearch() . "<{$wrapper}{$id}{$class}>{$html}</{$wrapper}>\n"; }
<?php /** * This is a Hera pagecontroller. * */ // Include the essential config-file which also creates the $anax variable with its defaults. include __DIR__ . '/config.php'; $hera['stylesheets'][] = 'css/home.css'; $hera['stylesheets'][] = 'css/blog.css'; $db = new CDatabase($hera['database']); $movies = CMovie::threeLatest($db); $blog = CBlog::homeNews($db); $genres = CMovie::getGenres($db, null, true); // Do it and store it all in variables in the Hera container. $hera['title'] = "Hem"; $hera['main'] = <<<EOD <div class='clearfix'> <h1>Senaste filmerna</h1> <div class='home-movies'> {$movies} </div> <div class='home-blog'> <h1>Senaste nytt</h1> {$blog} </div> <div class='home-text'> <h1>Välkommen till RM rental movies</h1> <p>Vad kul att du hittat hit! Vi här på RM rental movies är specialister på filmuthyrning. I en tid där streaming dominerar marknaden, finns det ett behov av att hålla en film i handen. När man håller en film i handen får man en nostalgisk känsla inte helt olik känslan av att hålla en älskades hand för första gången. När du hyr film
<?php /** * This is a Branax pagecontroller. * */ // Include the essential config-file which also creates the $branax variable with its defaults. include __DIR__ . '/config.php'; $branax['stylesheets'][] = 'css/figure.css'; $branax['stylesheets'][] = 'css/gallery.css'; $movie = new CMovie($branax['database']); $blog = new CBlog($branax['database']); // Do it and store it all in variables in the Branax container. $branax['title'] = "Välkommen"; $branax['main'] = <<<EOD <h1>{$branax['title']}</h1> <aside> <h2>Nyheter</h2> {$blog->getMain(3)} </aside> <section> <h2>Våra filmkategorier</h2> {$movie->getCategories()} <h2>Nyinkommet</h2>{$movie->getUpdated(3)} <h2>Populärast</h2>{$movie->getRated(3)} <h2>Senast hyrda</h2>{$movie->getYoung(3)} </section> EOD; // Finally, leave it all to the rendering phase of Brnax. include BRANAX_THEME_PATH;
<?php /** * This is a Hera pagecontroller. * */ // Include the essential config-file which also creates the $anax variable with its defaults. include __DIR__ . '/config.php'; // add style for database tabels $hera['stylesheets'][] = 'css/tables.css'; $hera['stylesheets'][] = 'css/gallery.css'; $hera['stylesheets'][] = 'css/movies.css'; $hera['stylesheets'][] = 'css/forms.css'; $hera['stylesheets'][] = 'css/breadcrumb.css'; // Connect to a MySQL database using PHP PDO $db = new CDatabase($hera['database']); $movie = new CMovie($db); // Do it and store it all in variables in the Hera container. $hera['title'] = "Filmer"; $hera['main'] = $movie->printMovies(); // Finally, leave it all to the rendering phase of Hera. include HERA_THEME_PATH;
function process() { $this->dbg->add_line("PROCESS. state: " . $this->state->get_state('mode') . ", name:" . $this->data['p']['name'] . ", data:" . $this->data['p']['data']); switch ($this->state->get_state('mode')) { case 'logout': $this->usr->do_logout(); $this->state->set_state('mode', 'login'); $this->state->set_state('username', ''); $this->cmd->add_cmd('topline', ''); $this->cmd->add_cmd('control', ''); $this->cmd->add_cmd('main', draw_loginform()); break; case 'newrecord': switch ($this->data['p']['name']) { /* case 'movielist': $this->state->set_state('mode','movielist'); $this->data['p']['name']='show'; $this->process(); break;*/ case 'newrec': $this->dbg->add_line("new record mode processing"); $checklist = array('caption', 'genre', 'country', 'director', 'actors', 'story', 'info'); $filmdata = array('NULL', $this->usr->user['user_id']); foreach ($checklist as $k) { if (array_key_exists($k, $this->data['p']['data'])) { $filmdata[] = "'" . $this->data['p']['data'][$k] . "'"; } else { $filmdata[] = 'empty'; } } $filmdata[] = 0; $this->dbg->add_line(join(' $ ', $filmdata)); $mlist = new CMovie($this->dbg); if ($mlist->add_new_record($filmdata)) { $this->state->set_state('mode', 'movielist'); $this->data['p']['name'] = 'show'; $this->process(); } //$this->cmd->add_cmd('control', '' ); break; case 'show': default: $this->cmd->add_cmd('main', draw_addnewrecord()); //$this->dbg->add_line("авторизовано: user id: ".$this->usr->user['user_id']); $this->cmd->add_cmd('topline', draw_topline($this->state->get_state('username'))); $btn = array('caption' => 'добавить', 'sender' => 'newrecord', 'data' => 'show'); $btn2 = array('caption' => 'показать список', 'sender' => 'movielist', 'data' => 'show'); $btn3 = array('caption' => 'показать мой список', 'sender' => 'mymovies', 'data' => 'show'); $this->cmd->add_cmd('control', draw_button($btn) . draw_button($btn2) . draw_button($btn3)); break; //$this->dbg->add_line("def name"); //$this->data['p']['name']='show'; //break; } break; case 'mymovies': $this->dbg->add_line("my movies"); switch ($this->data['p']['name']) { case 'moviedel': $mlist = new CMovie($this->dbg); if ($mlist->delete_record($this->data['p']['data'], $this->usr->user['user_id'])) { $this->cmd->add_cmd('main', 'запись удалена', 1); $this->data['p']['name'] = 'show'; $this->process(); } else { $this->cmd->add_cmd('main', 'ошибка при удалении', 1); } break; case 'show': $this->dbg->add_line("my movies: show"); $mlist = new CMovie($this->dbg); $tbl = new CVizuller($this->dbg); if ($mlist->get_list($this->usr->user['user_id'], $tbl)) { //$this->dbg->add_line("test: ".join(" % ", $tbl->data[0])); $template = array('mat_caption' => 'название', 'mat_genre' => 'жанр', 'mat_rate' => 'рейтинг'); $actions = array('mat_caption' => array('moviedet', 'mat_id'), 'delete' => array('moviedel', 'mat_id')); $this->cmd->add_cmd('main', $tbl->render_list($template, $actions)); } break; default: $this->cmd->add_cmd('topline', draw_topline($this->state->get_state('username'))); $btn = array('caption' => 'добавить', 'sender' => 'newrecord', 'data' => 'show'); $btn2 = array('caption' => 'показать список', 'sender' => 'movielist', 'data' => 'show'); $btn3 = array('caption' => 'показать мой список', 'sender' => 'mymovies', 'data' => 'show'); $this->cmd->add_cmd('control', draw_button($btn) . draw_button($btn2) . draw_button($btn3)); $this->cmd->add_cmd('navigator', ""); //$left=array( 'caption'=>'влево', 'sender'=>'scrollleft','data'=>''); //$right=array( 'caption'=>'вправо', 'sender'=>'scrollright','data'=>''); //$this->cmd->add_cmd('navigator', draw_button($left)." <span id='pagenumber'>".$this->state->get_state('page')."</span> ".draw_button($right) ); $this->data['p']['name'] = 'show'; $this->process(); //$this->dbg->add_line("my movies: def"); //$this->data['p']['name']='show'; //$this->process(); break; } break; case 'movielist': switch ($this->data['p']['name']) { case 'scrollleft': $page = $this->state->get_state('page') - 1; if ($page < 0) { $page = 0; } $this->state->set_state('page', $page); $this->data['p']['name'] = 'show'; $this->process(); break; case 'scrollright': $page = $this->state->get_state('page') + 1; $this->state->set_state('page', $page); $this->data['p']['name'] = 'show'; $this->process(); break; case 'show': $mlist = new CMovie($this->dbg); $tbl = new CVizuller($this->dbg); $range_start = $this->state->get_state('page') * $mlist->get_pagesize(); if ($mlist->get_list(NULL, $tbl, $range_start)) { $template = array('mat_caption' => 'название', 'mat_genre' => 'жанр', 'mat_rate' => 'рейтинг'); $actions = array('mat_caption' => array('moviedet', 'mat_id')); $this->cmd->add_cmd('main', $tbl->render_list($template, $actions)); $this->cmd->add_cmd('pagenumber', $this->state->get_state('page') + 1); } else { $page = $this->state->get_state('page') - 1; if ($page < 0) { $page = 0; } $this->state->set_state('page', $page); } break; default: $this->cmd->add_cmd('topline', draw_topline($this->state->get_state('username'))); $btn = array('caption' => 'добавить', 'sender' => 'newrecord', 'data' => 'show'); $btn2 = array('caption' => 'показать список', 'sender' => 'movielist', 'data' => 'show'); $btn3 = array('caption' => 'показать мой список', 'sender' => 'mymovies', 'data' => 'show'); $this->cmd->add_cmd('control', draw_button($btn) . draw_button($btn2) . draw_button($btn3)); $left = array('caption' => 'влево', 'sender' => 'scrollleft', 'data' => ''); $right = array('caption' => 'вправо', 'sender' => 'scrollright', 'data' => ''); $this->cmd->add_cmd('navigator', draw_button($left) . " <span id='pagenumber'>" . $this->state->get_state('page') . "</span> " . draw_button($right)); $this->data['p']['name'] = 'show'; $this->process(); break; } break; case 'moviedet': switch ($this->data['p']['name']) { case 'show': default: $mlist = new CMovie($this->dbg); $tbl = new CVizuller($this->dbg); if ($mlist->get_record($this->data['p']['data'], $tbl)) { $this->dbg->add_line("##" . $tbl->data[0]['mat_caption']); $this->cmd->add_cmd('main', $tbl->render_record()); } else { $this->state->set_state('mode', 'movielist'); $this->data['p']['name'] = 'show'; $this->process(); } $this->cmd->add_cmd('topline', draw_topline($this->state->get_state('username'))); $btn = array('caption' => 'добавить', 'sender' => 'newrecord', 'data' => 'show'); $btn2 = array('caption' => 'показать список', 'sender' => 'movielist', 'data' => 'show'); $btn3 = array('caption' => 'показать мой список', 'sender' => 'mymovies', 'data' => 'show'); $this->cmd->add_cmd('control', draw_button($btn) . draw_button($btn2) . draw_button($btn3)); break; } break; default: $this->state->set_state('mode', 'movielist'); $this->data['p']['name'] = ''; $this->cmd->add_cmd('topline', draw_topline($this->state->get_state('username'))); //$btn=array( 'caption'=>'добавить', 'sender'=>'newrecord','data'=>'show'); //$btn2=array( 'caption'=>'показать список', 'sender'=>'movielist','data'=>'show'); //$btn3=array( 'caption'=>'показать мой список', 'sender'=>'mymovies','data'=>'show'); //$this->cmd->add_cmd('control', draw_button($btn).draw_button($btn2).draw_button($btn3) ); $this->process(); break; //$cmd->add_cmd('main', "<p>я не знаю - что тут должно рисоваться при исполненном вами сценарии навигации!</p>" ); //$dbg->add_line("undef mode for ball processing... :( "); break; } $this->dbg->add_line("process end"); $this->dbg->add_line("state: " . $this->state->get_state('mode')); }
<?php /** * This is a Branax pagecontroller. * */ // Include the essential config-file which also creates the $branax variable with its defaults. include __DIR__ . '/config.php'; $user = new CUser($branax['database']); $user->isAuthenticated() or die('Check: You must login to edit.'); $content = new CMovie($branax['database']); // Do it and store it all in variables in the Anax container. $branax['title'] = "Lägg till"; $branax['main'] = <<<EOD <h1>Lägg till nytt innehåll</h1> {$content->create($user->getAcronym())} EOD; // Finally, leave it all to the rendering phase of Anax. include BRANAX_THEME_PATH;
<?php /** * This is a Branax pagecontroller. * */ // Include the essential config-file which also creates the $branax variable with its defaults. include __DIR__ . '/config.php'; $user = new CUser($branax['database']); $user->isAuthenticated() or die('Check: You must login to edit.'); define('MOVIE_PATH', __DIR__ . '/img/movie/'); $content = new CMovie($branax['database']); // Do it and store it all in variables in the Branax container. $branax['title'] = "Edit"; $branax['main'] = <<<EOD <h1>Editera innehåll</h1> {$content->update()} EOD; // Finally, leave it all to the rendering phase of Branax. include BRANAX_THEME_PATH;
<?php /** * This is a Branax pagecontroller. * */ // Include the essential config-file which also creates the $branax variable with its defaults. include __DIR__ . '/config.php'; $user = new CUser($branax['database']); $user->isAuthenticated() or die('Check: You must login first.'); $content = new CMovie($branax['database']); // Do it and store it all in variables in the Branax container. $branax['title'] = "Återställ"; $branax['main'] = <<<EOD <h1>Återställ filmdatabasen till ursprungligt skick</h1> {$content->reset()} EOD; // Finally, leave it all to the rendering phase of Branax. include BRANAX_THEME_PATH;
<?php /** * This is a Branax pagecontroller. * */ // Include the essential config-file which also creates the $branax variable with its defaults. include __DIR__ . '/config.php'; $user = new CUser($branax['database']); $user->isAuthenticated() or die('Check: You must login to delete.'); $content = new CMovie($branax['database']); // Do it and store it all in variables in the Branax container. $branax['title'] = "Radera"; $branax['main'] = <<<EOD <h1>Radera innehåll</h1> {$content->delete()} EOD; // Finally, leave it all to the rendering phase of Branax. include BRANAX_THEME_PATH;