예제 #1
0
 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;
 }
예제 #2
0
/**
 * 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";
}
예제 #3
0
<?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 
예제 #4
0
파일: home.php 프로젝트: britec/branac-base
<?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;
예제 #5
0
<?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;
예제 #6
0
 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)."&nbsp;<span id='pagenumber'>".$this->state->get_state('page')."</span>&nbsp;".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) . "&nbsp;<span id='pagenumber'>" . $this->state->get_state('page') . "</span>&nbsp;" . 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'));
 }
예제 #7
0
<?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;
예제 #8
0
<?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;
예제 #9
0
<?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;
예제 #10
0
<?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;