src3

20

Click here to load reader

Upload: samyakmehta1234

Post on 08-Nov-2014

84 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: src3

lectures/3/src/mvc/7/html/index.php

<?php1.

2.

require_once('../includes/helpers.php');3.

4.

// determine which page to render5.

if (isset($_GET['page']))6.

$page = $_GET['page'];7.

else8.

$page = 'index';9.

10.

// show page11.

switch ($page)12.

{13.

case 'index':14.

render('templates/header', array('title' => 'CSCI S-75'));15.

render('index');16.

render('templates/footer');17.

break;18.

19.

case 'lectures':20.

render('templates/header', array('title' => 'Lectures'));21.

render('lectures');22.

render('templates/footer');23.

break;24.

25.

case 'lecture':26.

if (isset($_GET['n']))27.

{28.

render('templates/header', array('title' => 'Lecture ' . $_GET['n']));29.

render('lecture', array('n' => $_GET['n']));30.

render('templates/footer');31.

}32.

break;33.

}34.

35.

?>36.

Page 2: src3

lectures/3/src/mvc/7/includes/helpers.php

<?php1.

2.

/**3.

* Renders template.4.

*5.

* @param array $data6.

*/7.

function render($template, $data = array())8.

{9.

$path = __DIR__ . '/../views/' . $template . '.php';10.

if (file_exists($path))11.

{12.

extract($data);13.

require($path);14.

}15.

}16.

17.

?>18.

Page 3: src3

lectures/3/src/mvc/7/README

mvc/7/README1.

2.

David J. Malan3.

[email protected].

5.

Improves upon mvc/6 by introducing search engine-friendly URLs via mod_rewrite.6.

7.

html/8.

index.php - controller9.

includes/10.

helpers.php - helper functions11.

views/12.

index.php - homepage for the course13.

lecture.php - a lecture14.

lectures.php - a list of lectures15.

templates/16.

footer.php - pages' footer17.

header.php - pages' header18.

Page 4: src3

lectures/3/src/mvc/7/views/index.php

<ul>1.

<li><a href="lectures">Lectures</a></li>2.

<li><a href="http://cdn.cs75.net/2012/summer/lectures/0/syllabus.pdf">Syllabus</a></li>3.

</ul>4.

Page 5: src3

lectures/3/src/mvc/7/views/lecture.php

<ul>1.

<li><a href="http://cdn.cs75.net/2012/summer/lectures/<?php echo $n ?>/slides<?php echo $n ?>.pdf">Slides</a></li>2.

<li><a href="http://cdn.cs75.net/2012/summer/lectures/<?php echo $n ?>/lecture<?php echo $n ?>.mp4">Video</a></li>3.

</ul>4.

Page 6: src3

lectures/3/src/mvc/7/views/lectures.php

<ul>1.

<li><a href="lecture/0">Lecture 0</a></li>2.

<li><a href="lecture/1">Lecture 1</a></li>3.

</ul>4.

Page 7: src3

lectures/3/src/mvc/7/views/templates/footer.php

</body>1.

</html>2.

Page 8: src3

lectures/3/src/mvc/7/views/templates/header.php

<!DOCTYPE html>1.

2.

<html>3.

<head>4.

<meta name="viewport" content="width=device-width">5.

<title><?php echo htmlspecialchars($title) ?></title>6.

</head>7.

<body>8.

<h1><?php echo htmlspecialchars($title) ?></h1>9.

Page 9: src3

lectures/3/src/mvc/8/application/controllers/homepage.php

<?php1.

2.

class Homepage extends CI_Controller {3.

4.

public function index()5.

{6.

$this->load->view('templates/header', array('title' => 'CS164'));7.

$this->load->view('homepage/index');8.

$this->load->view('templates/footer');9.

}10.

11.

public function lectures()12.

{13.

$this->load->view('templates/header', array('title' => 'Lectures'));14.

$this->load->view('homepage/lectures');15.

$this->load->view('templates/footer');16.

}17.

18.

public function lecture($n)19.

{20.

$this->load->view('templates/header', array('title' => 'Lecture ' . $n));21.

$this->load->view('homepage/lecture', array('n' => $n));22.

$this->load->view('templates/footer');23.

}24.

}25.

26.

?>27.

Page 10: src3

lectures/3/src/mvc/8/application/views/homepage/index.php

<ul>1.

<li><a href="lectures">Lectures</a></li>2.

<li><a href="http://cdn.cs75.net/2012/summer/lectures/0/syllabus.pdf">Syllabus</a></li>3.

</ul>4.

Page 11: src3

lectures/3/src/mvc/8/application/views/homepage/lecture.php

<ul>1.

<li><a href="http://cdn.cs75.net/2012/summer/lectures/<?php echo $n ?>/slides<?php echo $n ?>.pdf">Slides</a></li>2.

<li><a href="http://cdn.cs75.net/2012/summer/lectures/<?php echo $n ?>/lecture<?php echo $n ?>.mp4">Video</a></li>3.

</ul>4.

Page 12: src3

lectures/3/src/mvc/8/application/views/homepage/lectures.php

<ul>1.

<li><a href="lecture/0">Lecture 0</a></li>2.

<li><a href="lecture/1">Lecture 1</a></li>3.

</ul>4.

Page 13: src3

lectures/3/src/mvc/8/application/views/templates/footer.php

</body>1.

</html>2.

Page 14: src3

lectures/3/src/mvc/8/application/views/templates/header.php

<!DOCTYPE html>1.

2.

<html>3.

<head>4.

<meta name="viewport" content="width=device-width">5.

<title><?php echo htmlspecialchars($title) ?></title>6.

</head>7.

<body>8.

<h1><?php echo htmlspecialchars($title) ?></h1>9.

Page 15: src3

lectures/3/src/mvc/8/README

mvc/9/README1.

2.

David J. Malan3.

[email protected].

5.

Improves upon mvc/8 by introducing a framework (CodeIgniter).6.

7.

application/8.

config/9.

config.php - CodeIgniter's configuration10.

routes.php - default routes11.

...12.

controllers/13.

homepage.php - application controller14.

views/15.

homepage/16.

index.php - a homepage for the course17.

lecture.php - a lecture18.

lectures.php - a list of lectures19.

templates/20.

footer.php - pages' footer21.

header.php - pages' header22.

index.php - front controller23.

system/24.

...25.

Page 16: src3

lectures/3/src/xml/lectures.php

<!DOCTYPE html>1.

2.

<html>3.

<head>4.

<title>My Lecture Reader</title>5.

</head>6.

<body>7.

<h1>CSCI S-75</h1>8.

<ul>9.

<?10.

11.

$dom = simplexml_load_file("lectures.xml");12.

foreach ($dom->xpath("/lectures/lecture") as $lecture)13.

{14.

print "<li>";15.

print $lecture->title;16.

print "</li>";17.

}18.

19.

?>20.

</ul>21.

</body>22.

</html>23.

Page 17: src3

lectures/3/src/xml/lectures.xml

<?xml version="1.0"?>1.

<lectures>2.

<lecture number="0">3.

<title>HTTP</title>4.

<dates>Mon 6/25</dates>5.

<resources>6.

<resource name="Slides">7.

<format path="http://cdn.cs75.net/2012/summer/lectures/0/lecture0.pdf" label="PDF" />8.

</resource>9.

<resource name="Syllabus">10.

<format path="http://cdn.cs75.net/2012/summer/lectures/0/syllabus.pdf" label="PDF" />11.

</resource>12.

</resources>13.

</lecture>14.

<lecture number="1">15.

<title>PHP</title>16.

<dates>Wed 6/27</dates>17.

<resources>18.

<resource name="Slides">19.

<format path="http://cdn.cs75.net/2012/summer/lectures/1/lecture1.pdf" label="PDF" />20.

</resource>21.

<resource name="Source Code">22.

<format path="http://cdn.cs75.net/2012/summer/lectures/1/src/" label="index" />23.

<format path="http://cdn.cs75.net/2012/summer/lectures/1/src1.pdf" label="PDF" />24.

<format path="http://cdn.cs75.net/2012/summer/lectures/1/src1.zip" label="ZIP" />25.

</resource>26.

</resources>27.

</lecture>28.

<lecture number="2">29.

<title>PHP, Continued</title>30.

<dates>Mon 7/2</dates>31.

<resources>32.

<resource name="Slides">33.

<format path="http://cdn.cs75.net/2012/summer/lectures/2/lecture2.pdf" label="PDF" />34.

</resource>35.

<resource name="Source Code">36.

<format path="http://cdn.cs75.net/2012/summer/lectures/2/src/" label="index" />37.

<format path="http://cdn.cs75.net/2012/summer/lectures/2/src2.pdf" label="PDF" />38.

<format path="http://cdn.cs75.net/2012/summer/lectures/2/src2.zip" label="ZIP" />39.

</resource>40.

</resources>41.

</lecture>42.

<lecture number="3">43.

<title>XML</title>44.

<dates>Mon 7/9</dates>45.

<resources>46.

<resource name="Slides">47.

<format path="http://cdn.cs75.net/2012/summer/lectures/3/lecture3.pdf" label="PDF" />48.

Page 18: src3

lectures/3/src/xml/lectures.xml

</resource>49.

</resources>50.

</lecture>51.

</lectures>52.

Page 19: src3

lectures/3/src/xml/rss1.php

<!DOCTYPE html>1.

2.

<html>3.

<head>4.

<title>My RSS Reader</title>5.

</head>6.

<body>7.

<h1>New York Times Technology</h1>8.

<ul>9.

<?10.

11.

$dom = simplexml_load_file("http://feeds.nytimes.com/nyt/rss/Technology");12.

foreach ($dom->channel->item as $item)13.

{14.

print "<li>";15.

print "<a href='{$item->link}'>";16.

print $item->title;17.

print "</a>";18.

print "</li>";19.

}20.

21.

?>22.

</ul>23.

</body>24.

</html>25.

Page 20: src3

lectures/3/src/xml/rss2.php

<!DOCTYPE html>1.

2.

<html>3.

<head>4.

<title>My RSS Reader</title>5.

</head>6.

<body>7.

<h1>New York Times Technology</h1>8.

<ul>9.

<?10.

11.

$dom = simplexml_load_file("http://feeds.nytimes.com/nyt/rss/Technology");12.

foreach ($dom->channel->item as $item)13.

{14.

$time = strtotime($item->pubDate);15.

$date = date("M j, Y", $time);16.

print "<li>";17.

print "<a href='{$item->link}'>";18.

print $item->title;19.

print "</a>";20.

print " (" . $date . ")";21.

print "</li>";22.

}23.

24.

?>25.

</ul>26.

</body>27.

</html>28.