Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Ifrah Shahid
lab-exercises
Commits
4ecac790
Commit
4ecac790
authored
Sep 16, 2016
by
Sorrel Harriet
Browse files
cleaning out lab exercises. Archived old ones, will add to teaching resources repo
parent
9d51141c
Changes
339
Hide whitespace changes
Inline
Side-by-side
coursework-blog/step-1/admin.php
deleted
100644 → 0
View file @
9d51141c
<?php
error_reporting
(
E_ALL
);
ini_set
(
"display_errors"
,
1
);
include
'../../../config.php'
;
$db
=
new
PDO
(
$dbInfo
,
$dbUser
,
$dbPassword
);
$db
->
setAttribute
(
PDO
::
ATTR_ERRMODE
,
PDO
::
ERRMODE_EXCEPTION
);
$title
=
"PHP/MySQL blog demo"
;
$css
=
"css/blog.css"
;
$embeddedStyle
=
""
;
include_once
"views/header.php"
;
include_once
"views/admin/admin-navigation.php"
;
$navigation
=
isset
(
$_GET
[
'page'
]
);
if
(
$navigation
)
{
//prepare to load corresponding controller
$contrl
=
$_GET
[
'page'
];
}
else
{
//or prepare to load default controller
$contrl
=
"entries"
;
}
//load the controller
include_once
"controllers/admin/
$contrl
.php"
;
include_once
"views/footer.php"
;
?>
coursework-blog/step-1/controllers/admin/editor.php
deleted
100644 → 0
View file @
9d51141c
<?php
include_once
"models/Blog_Entry_Table.class.php"
;
$entryTable
=
new
Blog_Entry_Table
(
$db
);
//was editor form submitted?
$editorSubmitted
=
isset
(
$_POST
[
'action'
]
);
if
(
$editorSubmitted
)
{
$buttonClicked
=
$_POST
[
'action'
];
//was "save" button clicked
$insertNewEntry
=
(
$buttonClicked
===
'save'
);
if
(
$insertNewEntry
)
{
$title
=
$_POST
[
'title'
];
$entry
=
$_POST
[
'entry'
];
//save the new entry
$entryTable
->
saveEntry
(
$title
,
$entry
);
}
}
include_once
"views/admin/editor-html.php"
;
?>
coursework-blog/step-1/controllers/admin/entries.php
deleted
100644 → 0
View file @
9d51141c
<?
echo
"here's the entries!"
;
?>
coursework-blog/step-1/coursework-blog.sql
deleted
100644 → 0
View file @
9d51141c
-- this will create a table for blog entries
CREATE
TABLE
blog_entry
(
entry_id
INT
NOT
NULL
AUTO_INCREMENT
,
title
VARCHAR
(
150
),
entry_text
TEXT
,
date_created
TIMESTAMP
DEFAULT
CURRENT_TIMESTAMP
,
PRIMARY
KEY
(
entry_id
)
)
coursework-blog/step-1/css/blog.css
deleted
100644 → 0
View file @
9d51141c
/* code listing for blog/css/blog.css */
form
#editor
{
width
:
300px
;
margin
:
0px
;
padding
:
0px
;
}
form
#editor
label
,
form
#editor
input
[
type
=
'text'
]
{
display
:
block
;
}
form
#editor
#editor-buttons
{
border
:
none
;
text-align
:
right
;
}
form
#editor
textarea
,
form
#editor
input
[
type
=
'text'
]
{
width
:
90%
;
margin-bottom
:
2em
;
}
form
#editor
textarea
{
height
:
10em
;
}
coursework-blog/step-1/models/Blog_Entry_Table.class.php
deleted
100644 → 0
View file @
9d51141c
<?php
class
Blog_Entry_Table
{
private
$db
;
public
function
__construct
(
$db
)
{
$this
->
db
=
$db
;
}
public
function
saveEntry
(
$title
,
$entry
)
{
$entrySQL
=
"INSERT INTO blog_entry ( title, entry_text )
VALUES ( ?, ?)"
;
$entryStatement
=
$this
->
db
->
prepare
(
$entrySQL
);
$formData
=
array
(
$title
,
$entry
);
try
{
$entryStatement
->
execute
(
$formData
);
}
catch
(
Exception
$e
){
$msg
=
"<p>You tried to run this sql:
$entrySQL
<p>
<p>Exception:
$e
</p>"
;
trigger_error
(
$msg
);
}
}
}
coursework-blog/step-1/views/admin/admin-navigation.php
deleted
100644 → 0
View file @
9d51141c
<?php
$out
=
"
<nav id='admin-navigation'>
<a href='admin.php?page=entries'>All entries</a>
<a href='admin.php?page=editor'>Editor</a>
</nav>"
;
echo
$out
;
?>
coursework-blog/step-1/views/admin/editor-html.php
deleted
100644 → 0
View file @
9d51141c
<?php
$out
=
"
<form method='post' action='admin.php?page=editor' id='editor'>
<fieldset>
<legend>New Entry Submission</legend>
<label>Title</label>
<input type='text' name='title' maxlength='150' />
<label>Entry</label>
<textarea name='entry'></textarea>
<fieldset id='editor-buttons'>
<input type='submit' name='action' value='save' />
</fieldset>
</fieldset>
</form>
"
;
echo
$out
;
?>
coursework-blog/step-1/views/admin/entries-html.php
deleted
100644 → 0
View file @
9d51141c
<?php
$entriesAsHTML
=
"<ul>"
;
while
(
$entry
=
$allEntries
->
fetchObject
()
)
{
$href
=
"admin.php?page=editor&id=
$entry->entry_id
"
;
$entriesAsHTML
.
=
"<li><a href='
$href
'>
$entry->title
</a></li>"
;
}
$entriesAsHTML
.
=
"</ul>"
;
echo
$entriesAsHTML
;
?>
coursework-blog/step-1/views/footer.php
deleted
100644 → 0
View file @
9d51141c
<?php
$out
=
"
</body>
</html>
"
;
echo
$out
;
?>
coursework-blog/step-1/views/header.php
deleted
100644 → 0
View file @
9d51141c
<?php
$out
=
"<!DOCTYPE html>
<html>
<head>
<title>
$title
</title>
<meta http-equiv='Content-Type' content='text/html;charset=utf-8' />
<link rel='stylesheet' type='text/css' href='
$css
'>
<link rel='stylesheet' type='text/css' href='
$embeddedStyle
'>
</head>"
;
echo
$out
;
?>
coursework-blog/step-10/admin.php
deleted
100644 → 0
View file @
9d51141c
<?php
error_reporting
(
E_ALL
);
ini_set
(
"display_errors"
,
1
);
include_once
"../../../coursework_blog_config.php"
;
$db
=
new
PDO
(
$dbInfo
,
$dbUser
,
$dbPassword
);
$db
->
setAttribute
(
PDO
::
ATTR_ERRMODE
,
PDO
::
ERRMODE_EXCEPTION
);
$title
=
"PHP/MySQL blog demo"
;
$css
=
"css/blog.css"
;
$embeddedStyle
=
""
;
include_once
"views/header.php"
;
include_once
"views/admin/admin-navigation.php"
;
$navigation
=
isset
(
$_GET
[
'page'
]
);
if
(
$navigation
)
{
//prepare to load corresponding controller
$contrl
=
$_GET
[
'page'
];
}
else
{
//or prepare to load default controller
$contrl
=
"entries"
;
}
//load the controller
include_once
"controllers/admin/
$contrl
.php"
;
include_once
"views/footer.php"
;
?>
coursework-blog/step-10/controllers/admin/editor.php
deleted
100644 → 0
View file @
9d51141c
<?php
include_once
"models/Table.class.php"
;
include_once
"models/Blog_Entry_Table.class.php"
;
$entryTable
=
new
Blog_Entry_Table
(
$db
);
//was editor form submitted?
$editorSubmitted
=
isset
(
$_POST
[
'action'
]
);
if
(
$editorSubmitted
)
{
$buttonClicked
=
$_POST
[
'action'
];
$id
=
$_POST
[
'id'
];
$save
=
(
$buttonClicked
===
'save'
);
$insertNewEntry
=
(
$save
and
$id
===
'0'
);
$updateEntry
=
(
$save
and
$insertNewEntry
===
false
);
$deleteEntry
=
(
$buttonClicked
===
'delete'
);
$title
=
$_POST
[
'title'
];
$entry
=
$_POST
[
'entry'
];
if
(
$insertNewEntry
)
{
$savedEntryId
=
$entryTable
->
saveEntry
(
$title
,
$entry
);
}
else
if
(
$updateEntry
){
$entryTable
->
updateEntry
(
$id
,
$title
,
$entry
);
$savedEntryId
=
$id
;
}
else
if
(
$deleteEntry
)
{
$entryTable
->
deleteEntry
(
$id
);
}
}
$entryRequested
=
isset
(
$_GET
[
'id'
]
);
$entrySaved
=
isset
(
$savedEntryId
);
if
(
$entryRequested
)
{
$id
=
$_GET
[
'id'
];
$entryData
=
$entryTable
->
getEntry
(
$id
);
$entryData
->
entry_id
=
$id
;
$entryData
->
message
=
""
;
}
else
if
(
$entrySaved
)
{
$entryData
=
$entryTable
->
getEntry
(
$savedEntryId
);
$entryData
->
message
=
"Entry was saved"
;
}
else
{
$entryData
=
new
StdClass
();
$entryData
->
entry_id
=
0
;
$entryData
->
title
=
""
;
$entryData
->
entry_text
=
""
;
$entryData
->
message
=
""
;
}
include_once
"views/admin/editor-html.php"
;
?>
coursework-blog/step-10/controllers/admin/entries.php
deleted
100644 → 0
View file @
9d51141c
<?
include_once
"models/Table.class.php"
;
include_once
"models/Blog_Entry_Table.class.php"
;
$entryTable
=
new
Blog_Entry_Table
(
$db
);
$allEntries
=
$entryTable
->
getAllEntries
();
include_once
"views/admin/entries-html.php"
;
?>
coursework-blog/step-10/controllers/admin/users.php
deleted
100644 → 0
View file @
9d51141c
<?php
include_once
"models/Table.class.php"
;
include_once
"models/Admin_Table.class.php"
;
$createNewAdmin
=
isset
(
$_POST
[
'new-admin'
]
);
if
(
$createNewAdmin
)
{
$newEmail
=
$_POST
[
'email'
];
$newPassword
=
$_POST
[
'password'
];
$adminTable
=
new
Admin_Table
(
$db
);
try
{
$adminTable
->
create
(
$newEmail
,
$newPassword
);
$adminFormMessage
=
"New user created"
;
}
catch
(
Exception
$e
)
{
$adminFormMessage
=
$e
->
getMessage
();
}
}
include_once
"views/admin/new-admin-form-html.php"
;
coursework-blog/step-10/controllers/blog.php
deleted
100644 → 0
View file @
9d51141c
<?
include_once
"models/Table.class.php"
;
include_once
"models/Blog_Entry_Table.class.php"
;
$entryTable
=
new
Blog_Entry_Table
(
$db
);
$entryClicked
=
isset
(
$_GET
[
'id'
]
);
if
(
$entryClicked
)
{
$entryId
=
$_GET
[
'id'
];
$entryData
=
$entryTable
->
getEntry
(
$entryId
);
// print_r($entryData);
include_once
"views/entry-html.php"
;
}
else
{
$entries
=
$entryTable
->
getallentries
();
include_once
"views/list-entries-html.php"
;
}
?>
coursework-blog/step-10/coursework-blog.sql
deleted
100644 → 0
View file @
9d51141c
-- this will create a table for blog entries
CREATE
TABLE
blog_entry
(
entry_id
INT
NOT
NULL
AUTO_INCREMENT
,
title
VARCHAR
(
150
),
entry_text
TEXT
,
date_created
TIMESTAMP
DEFAULT
CURRENT_TIMESTAMP
,
PRIMARY
KEY
(
entry_id
)
)
-- this will create a table for admin users
CREATE
TABLE
admin
(
admin_id
INT
NOT
NULL
AUTO_INCREMENT
,
email
TEXT
,
password
VARCHAR
(
32
),
PRIMARY
KEY
(
admin_id
)
)
coursework-blog/step-10/css/blog.css
deleted
100644 → 0
View file @
9d51141c
/* code listing for blog/css/blog.css */
form
#editor
{
width
:
300px
;
margin
:
0px
;
padding
:
0px
;
}
form
#editor
label
,
form
#editor
input
[
type
=
'text'
]
{
display
:
block
;
}
form
#editor
#editor-buttons
{
border
:
none
;
text-align
:
right
;
}
form
#editor
textarea
,
form
#editor
input
[
type
=
'text'
]
{
width
:
90%
;
margin-bottom
:
2em
;
}
form
#editor
textarea
{
height
:
10em
;
}
coursework-blog/step-10/index.php
deleted
100644 → 0
View file @
9d51141c
<?php
error_reporting
(
E_ALL
);
ini_set
(
"display_errors"
,
1
);
include_once
"../../../coursework_blog_config.php"
;
$db
=
new
PDO
(
$dbInfo
,
$dbUser
,
$dbPassword
);
$db
->
setAttribute
(
PDO
::
ATTR_ERRMODE
,
PDO
::
ERRMODE_EXCEPTION
);
$title
=
"PHP/MySQL blog demo"
;
$css
=
"css/blog.css"
;
$embeddedStyle
=
""
;
include_once
"views/header.php"
;
include_once
"controllers/blog.php"
;
include_once
"views/footer.php"
;
?>
coursework-blog/step-10/models/Admin_Table.class.php
deleted
100644 → 0
View file @
9d51141c
<?
class
Admin_Table
extends
Table
{
public
function
create
(
$email
,
$password
)
{
//check if e-mail is available
$this
->
checkEmail
(
$email
);
//encrypt password with MD5
$sql
=
"INSERT INTO admin ( email, password )
VALUES( ?, SHA1(?) )"
;
$data
=
array
(
$email
,
$password
);
$this
->
makeStatement
(
$sql
,
$data
);
}
private
function
checkEmail
(
$email
)
{
$sql
=
"SELECT email FROM admin WHERE email = ?"
;
$data
=
array
(
$email
);
$this
->
makeStatement
(
$sql
,
$data
);
$statement
=
$this
->
makeStatement
(
$sql
,
$data
);
if
(
$statement
->
rowCount
()
===
1
)
{
$e
=
new
Exception
(
"Error: '
$email
' already used!"
);
throw
$e
;
}
}
}
Prev
1
2
3
4
5
…
17
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment