src3
TRANSCRIPT
![Page 1: src3](https://reader037.vdocuments.mx/reader037/viewer/2022100313/545f7513af79592b708b4ef6/html5/thumbnails/1.jpg)
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](https://reader037.vdocuments.mx/reader037/viewer/2022100313/545f7513af79592b708b4ef6/html5/thumbnails/2.jpg)
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](https://reader037.vdocuments.mx/reader037/viewer/2022100313/545f7513af79592b708b4ef6/html5/thumbnails/3.jpg)
lectures/3/src/mvc/7/README
mvc/7/README1.
2.
David J. Malan3.
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](https://reader037.vdocuments.mx/reader037/viewer/2022100313/545f7513af79592b708b4ef6/html5/thumbnails/4.jpg)
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](https://reader037.vdocuments.mx/reader037/viewer/2022100313/545f7513af79592b708b4ef6/html5/thumbnails/5.jpg)
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](https://reader037.vdocuments.mx/reader037/viewer/2022100313/545f7513af79592b708b4ef6/html5/thumbnails/6.jpg)
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](https://reader037.vdocuments.mx/reader037/viewer/2022100313/545f7513af79592b708b4ef6/html5/thumbnails/7.jpg)
lectures/3/src/mvc/7/views/templates/footer.php
</body>1.
</html>2.
![Page 8: src3](https://reader037.vdocuments.mx/reader037/viewer/2022100313/545f7513af79592b708b4ef6/html5/thumbnails/8.jpg)
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](https://reader037.vdocuments.mx/reader037/viewer/2022100313/545f7513af79592b708b4ef6/html5/thumbnails/9.jpg)
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](https://reader037.vdocuments.mx/reader037/viewer/2022100313/545f7513af79592b708b4ef6/html5/thumbnails/10.jpg)
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](https://reader037.vdocuments.mx/reader037/viewer/2022100313/545f7513af79592b708b4ef6/html5/thumbnails/11.jpg)
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](https://reader037.vdocuments.mx/reader037/viewer/2022100313/545f7513af79592b708b4ef6/html5/thumbnails/12.jpg)
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](https://reader037.vdocuments.mx/reader037/viewer/2022100313/545f7513af79592b708b4ef6/html5/thumbnails/13.jpg)
lectures/3/src/mvc/8/application/views/templates/footer.php
</body>1.
</html>2.
![Page 14: src3](https://reader037.vdocuments.mx/reader037/viewer/2022100313/545f7513af79592b708b4ef6/html5/thumbnails/14.jpg)
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](https://reader037.vdocuments.mx/reader037/viewer/2022100313/545f7513af79592b708b4ef6/html5/thumbnails/15.jpg)
lectures/3/src/mvc/8/README
mvc/9/README1.
2.
David J. Malan3.
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](https://reader037.vdocuments.mx/reader037/viewer/2022100313/545f7513af79592b708b4ef6/html5/thumbnails/16.jpg)
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](https://reader037.vdocuments.mx/reader037/viewer/2022100313/545f7513af79592b708b4ef6/html5/thumbnails/17.jpg)
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](https://reader037.vdocuments.mx/reader037/viewer/2022100313/545f7513af79592b708b4ef6/html5/thumbnails/18.jpg)
lectures/3/src/xml/lectures.xml
</resource>49.
</resources>50.
</lecture>51.
</lectures>52.
![Page 19: src3](https://reader037.vdocuments.mx/reader037/viewer/2022100313/545f7513af79592b708b4ef6/html5/thumbnails/19.jpg)
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](https://reader037.vdocuments.mx/reader037/viewer/2022100313/545f7513af79592b708b4ef6/html5/thumbnails/20.jpg)
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.