File: D:/HostingSpaces/SBogers45/smuldersinterieurprojecten.nl/wwwroot/admin/php/getAddPages.php
<?php
function getAddPages(){
//get text
$siteText = getSiteText();
$pageName = '_pages';
$pageLabel = 'Add pages';
$output = '';
//header
if(isset($_GET['action']) && !isset($_POST['back'])){
$action = $_GET['action'];
$output .= '<div class="header-bar top-rounded content-bar">';
if($action == 'add'){
$output .= strtolower($pageLabel).' // '.strtolower($siteText['titleNewItem']);
}
else if($action == 'edit'){
$output .= strtolower($pageLabel).' // '.strtolower($siteText['titleEditItem']);
}
else if($action == 'delete'){
$output .= strtolower($pageLabel).' // '.strtolower($siteText['titleDeleteItem']);
}
else if($action == 'add-field'){
$output .= strtolower($pageLabel).' // '.strtolower($siteText['titleAddFields']);
}
else if($action == 'edit-field'){
$output .= strtolower($pageLabel).' // '.strtolower($siteText['titleEditFields']);
}
else if($action == 'delete-field'){
$output .= strtolower($pageLabel).' // '.strtolower($siteText['titleDeleteFields']);
}
else if($action == 'edit-global'){
$output .= strtolower($pageLabel).' // edit global settings';
}
$output .= '</div>';
}
//Array uit database
$formArr = getAddPagesArray();
//$formArr = createArrayFormDB($pageName);
if(isset($_POST['back'])){
$output .= showList($pageName, $pageLabel);
}
else if(isset($_POST['sbmEditGlobal'])){
sbmEditGlobal();
}
else if(isset($_POST['sbmAddField'])){
sbmAddEditField('add');
}
else if(isset($_POST['sbmEditField'])){
sbmAddEditField('edit');
}
else if(isset($_POST['sbmDeleteField'])){
sbmDeleteField();
}
else if(isset($_POST['showChangeOrder'])){
$output .= showChangeOrder($pageName, $pageLabel);
}
else if(isset($_POST['showFieldOrder'])){
$output .= showFieldOrder($pageName, $pageLabel);
}
else if(isset($_POST['sbmNew'])){
$output .= '<div class="triple-column-content">';
$output .= validateForm($formArr, 'new');
$output .= '</div>';
if($_SESSION['numErrors'] > 0) {
/*$output .= '<div id="contentMedia" class="column">';
$output .= getSmallMedia();
$output .= '</div>';*/
}
}
else if(isset($_POST['sbmEdit'])){
$output .= '<div class="triple-column-content">';
$output .= validateForm($formArr, 'edit', $_GET['id']);
$output .= '</div>';
if($_SESSION['numErrors'] > 0) {
/*$output .= '<div id="contentMedia" class="column">';
$output .= getSmallMedia();
$output .= '</div>'; */
}
}
else if(isset($_POST['sbmDelete'])){
$itemId = $_POST['itemId'];
correctOrderAfterDelete($itemId, '_pages', 'pageOrder');
$output .= sbmDeletePage();
}
else if(isset($_GET['action'])){
$action = $_GET['action'];
if($action == 'add'){
$output .= createForm($formArr, 'new');
}
else if($action == 'add-field'){
$output .= addEditFieldForm('add',$_GET['id']);
}
else if($action == 'edit'){
$output .= showEditPageOverview($_GET['id']);
}
else if($action == 'edit-field'){
$output .= addEditFieldForm('edit',$_GET['id']);
}
else if($action == 'edit-global'){
$output .= showEditGlobalForm($_GET['id']);
}
else if($action == 'delete'){
$output .= askToDeletePage();
}
else if($action == 'delete-field'){
$output .= askToDeleteField();
}
else if($action == 'moveup'){
move('up',$_GET['id'], $pageName, 'pageOrder');
}
else if($action == 'movedown'){
move('down',$_GET['id'], $pageName, 'pageOrder');
}
}
else{
$output .= showList($pageName, $pageLabel);
}
return $output;
}
//FUNCTION SHOWLIST
function showList($pageName, $pageLabel){
//get text
$siteText = getSiteText();
$output = '';
//header
$output .= '<div class="header-bar top-rounded content-bar">'.strtolower($pageLabel).'</div>';
$output .= '<div class="pages-action-menu full-action-menu">';
$output .= '<ul>
<li><a href="./pages/add-pages/add/"><img src="./images/icons/plus.png" alt="add"/> '.$siteText['addPage'].'</a></li>
<div class="clear"></div>
</ul>';
$output .= '</div>';
$output .= '<div class="clear"></div>';
$output .= '<div class="triple-column-content">';
//change order button
$output .= '<form action="" method="post">';
$output .= '<input type="submit" id="showChangeOrder" name="showChangeOrder" value="'.$siteText['changeOrder'].'" class="button fully-rounded med-delete-selected"/>';
$output .= '</form>';
$output .= '<div class="clear"></div>';
$output .= '<br />';
//get list form database
$query = 'SELECT DISTINCT p.id, p.name,p.label, p.pageOrder, p.custom
FROM '.$pageName.' AS p, status AS s
WHERE s.page="'.$pageName.'"
AND s.itemId = p.id
AND s.active=1
ORDER BY p.pageOrder DESC';
$result = mysql_query($query);
$numItems = mysql_num_rows($result);
$output .= '<div class="add-pages-row add-pages-head-row">';
$output .= '<div class="add-pages-row-title">'.$siteText['headRowTitle'].'</div>';
$output .= '<div class="add-pages-row-actions">'.$siteText['headRowActions'].'</div>';
$output .= '<div class="clear"></div>';
$output .= '</div>';
while($record = mysql_fetch_assoc($result)){
$itemId = $record['id'];
$name = fromDatabase($record['name']);
$label = fromDatabase($record['label']);
$order = $record['pageOrder'];
$custom = $record['custom'];
//top rows
$output .= '<div class="add-pages-row">';
$output .= '<div class="add-pages-row-title">'.$label.'</div>';
$output .= '<div class="add-pages-row-actions">';
if(empty($custom)){
$output .= '<a href="./pages/add-pages/edit/'.$itemId.'/" /><img src="./images/icons/edit.png" class="mp-box-icon pages-group-icon" /></a>';
$output .= '<a href="./pages/add-pages/delete/'.$itemId.'/" /><img src="./images/icons/trashcan.png" class="mp-box-icon pages-group-icon" /></a>';
}
$output .= '</div>';
$output .= '<div class="clear"></div>';
$output .= '</div>';
}
$output .= '</div>';
return $output;
}
function askToDeletePage(){
//get text
$siteText = getSiteText();
$itemId = $_GET['id'];
$output = '';
$output .= '<div class="triple-column-content">';
$output .= '<form action="" method="post">';
$output .= $siteText['areYouSureDeletePage'];
$output .= '<div class="clear"></div>';
$output .= '<input type="hidden" name="itemId" value="'.$itemId.'" />';
$output .= '<input type="submit" name="sbmDelete" value="'.$siteText['formBtnYes'].'" class="button fully-rounded" /> ';
$output .= '<input type="submit" name="back" value="'.$siteText['formBtnNo'].'" class="button fully-rounded" />';
$output .= '</form>';
$output .= '</div>';
return $output;
}
function sbmDeletePage(){
//id
$itemId = $_POST['itemId'];
//get linkname
$result = mysql_query('SELECT name FROM _pages WHERE id = '.$itemId.' LIMIT 1');
$record = mysql_fetch_assoc($result);
$name = $record['name'];
#1 delete from fields
mysql_query('DELETE FROM _fields WHERE pageId = '.$itemId);
#2 delete from status
mysql_query('DELETE FROM status WHERE itemId = '.$itemId.' AND page = "_pages" LIMIT 1');
mysql_query('DELETE FROM status WHERE page = "'.$record['name'].'"');
#3 delete from _pages
mysql_query('DELETE FROM _pages WHERE id = '.$itemId.' LIMIT 1');
#4 drop table
mysql_query('DROP TABLE '.$name);
header('Location: ../../');
}
/************************* E D I T P A G E S ***************************
#showPageOverview($pageId)
Global settings
- title
- linkname
- posts with thumbnails
- medialib
- maxitems
Fields
- fieldrows
# editGlobalSettings($pageId)
# addFieldRow()
# editFieldRow($fieldId)
# removeFieldRow($fieldId)
# changeOrderFieldRow()
*************************************************************************/
function showEditPageOverview($pageId){
//get text
$siteText = getSiteText();
//get global info
$query = 'SELECT label, name, thumb, mediaLib, docLib, maxItems, comments
FROM _pages
WHERE id = '.$pageId.'
LIMIT 1';
$result = mysql_query($query);
$record = mysql_fetch_assoc($result);
$label = $record['label'];
$name = $record['name'];
$thumb = $record['thumb'];
$mediaLib = $record['mediaLib'];
$docLib = $record['docLib'];
$maxItems = $record['maxItems'];
$comments = $record['comments'];
$thumb == 1 ? $displayThumb = 'Yes' : $displayThumb = 'No';
$mediaLib == 1 ? $displayMediaLib = 'Yes' : $displayMediaLib = 'No';
$docLib == 1 ? $displayDocLib = 'Yes' : $displayDocLib = 'No';
$comments == 1 ? $displaycomments = 'Yes' : $displaycomments = 'No';
if($maxItems == 0) $maxItems = 'unlimited';
$output = '';
$output .= '<div class="triple-column-content">';
$output .= '<br />';
$output .= '<h1>Global Settings / '.$label.'</h1>';
$output .= '<span class="med-delete-selected"><a href="./pages/add-pages/edit-global/'.$pageId.'/" class="footerLink"/>Edit global settings <img src="./images/icons/edit.png" class="mp-box-icon pages-group-icon" /></a></span>';
$output .= '<div class="clear"></div>';
//top row
$output .= '<div class="mp-row mp-head-row">';
$output .= '<div class="mp-row-title"><strong>Subject</strong></div>';
$output .= '<div class="mp-row-desc"><strong>Value</strong></div>';
$output .= '<div class="mp-row-actions"> </div>';
$output .= '<div class="clear"></div>';
$output .= '</div>';
//label
$output .= '<div class="mp-row">';
$output .= '<div class="mp-row-title">Label</div><div class="mp-row-desc">'.$label.'</div><div class="mp-row-actions"> </div>';
$output .= '<div class="clear"></div>';
$output .= '</div>';
//name
$output .= '<div class="mp-row">';
$output .= '<div class="mp-row-title">Linkname</div><div class="mp-row-desc">'.$name.'</div><div class="mp-row-actions"> </div>';
$output .= '<div class="clear"></div>';
$output .= '</div>';
//thumb
$output .= '<div class="mp-row">';
$output .= '<div class="mp-row-title">Posts have thumbnails</div><div class="mp-row-desc">'.$displayThumb.'</div><div class="mp-row-actions"> </div>';
$output .= '<div class="clear"></div>';
$output .= '</div>';
//library
$output .= '<div class="mp-row">';
$output .= '<div class="mp-row-title">Page has Media Library</div><div class="mp-row-desc">'.$displayMediaLib.'</div><div class="mp-row-actions"> </div>';
$output .= '<div class="clear"></div>';
$output .= '</div>';
//library
$output .= '<div class="mp-row">';
$output .= '<div class="mp-row-title">Page has Doc Library</div><div class="mp-row-desc">'.$displayDocLib.'</div><div class="mp-row-actions"> </div>';
$output .= '<div class="clear"></div>';
$output .= '</div>';
//maxitems
$output .= '<div class="mp-row">';
$output .= '<div class="mp-row-title">Page post limit</div><div class="mp-row-desc">'.$maxItems.'</div><div class="mp-row-actions"> </div>';
$output .= '<div class="clear"></div>';
$output .= '</div>';
//comments
$output .= '<div class="mp-row">';
$output .= '<div class="mp-row-title">Page has comments</div><div class="mp-row-desc">'.$displaycomments.'</div><div class="mp-row-actions"> </div>';
$output .= '<div class="clear"></div>';
$output .= '</div>';
$output .= '<br /><br />';
/********** FIELDS ***********/
$output .= '<h1>Page Fields / '.$label.'</h1>';
$output .= '<span class="med-delete-selected"><a href="./pages/add-pages/add-field/'.$pageId.'/" class="footerLink"/>Add field <img src="./images/icons/plus.png" class="mp-box-icon pages-group-icon" /></a></span>';
$output .= '<div class="clear"></div><br />';
$output .= '<form action="" method="post">';
$output .= '<input type="submit" id="showChangeOrder" name="showFieldOrder" value="'.$siteText['changeOrder'].'" class="button fully-rounded med-delete-selected"/>';
$output .= '</form>';
$output .= '<div class="clear"></div><br />';
//error $_SESSION['deleteFields']
if(isset($_SESSION['deleteFields'])){
if($_SESSION['deleteFields']['errnum'] > 0){
$output .= '<span class="errForm">';
$output .= '<strong>'.$_SESSION['deleteFields']['errnum'].' error(s) occured</strong><br />';
$output .= $_SESSION['deleteFields']['erroutput'];
$output .= '</span>';
$output .= '<div class="clear"></div>';
}
unset($_SESSION['deleteFields']);
}
//top row
$output .= '<div class="edit-pages-row edit-pages-head-row">';
$output .= '<div class="edit-pages-row-200 column-margin-left"><strong>Title</strong></div>';
$output .= '<div class="edit-pages-row-100"><strong>Type</strong></div>';
$output .= '<div class="edit-pages-row-180"><strong>Label</strong></div>';
$output .= '<div class="edit-pages-row-50"><strong>Req.</strong></div>';
$output .= '<div class="edit-pages-row-50"><strong>Clear</strong></div>';
$output .= '<div class="edit-pages-row-actions"><strong>Actions</strong></div>';
$output .= '<div class="clear"></div>';
$output .= '</div>';
//get fields
$query = 'SELECT id, name, type, label, required, clear
FROM _fields
WHERE pageId = '.$pageId.'
ORDER BY fieldOrder DESC';
$result = mysql_query($query);
while($record = mysql_fetch_assoc($result)){
$fieldId = $record['id'];
$name = $record['name'];
$type = $record['type'];
$label = $record['label'];
$required = $record['required'];
$clear = $record['clear'];
$required == 1 ? $displayRequired = 'Yes' : $displayRequired = 'No';
$clear == 1 ? $displayClear = 'Yes' : $displayClear = 'No';
$output .= '<div class="edit-pages-row">';
$output .= '<div class="edit-pages-row-200 column-margin-left">'.$name.'</div>';
$output .= '<div class="edit-pages-row-100">'.$type.'</div>';
$output .= '<div class="edit-pages-row-180">'.$label.'</div>';
$output .= '<div class="edit-pages-row-50">'.$displayRequired.'</div>';
$output .= '<div class="edit-pages-row-50">'.$displayClear.'</div>';
$output .= '<div class="edit-pages-row-actions">';
$output .= '<a href="./pages/add-pages/edit-field/'.$fieldId.'/" /><img src="./images/icons/edit.png" class="mp-box-icon pages-group-icon" /></a>';
$output .= '<a href="./pages/add-pages/delete-field/'.$fieldId.'/" /><img src="./images/icons/trashcan.png" class="mp-box-icon pages-group-icon" /></a>';
$output .= '</div>';
$output .= '<div class="clear"></div>';
$output .= '</div>';
}
$output .= '</div>';
$output .= '<div class="clear"></div>';
$output .= '<br />';
return $output ;
}
function showEditGlobalForm($pageId){
//get text
$siteText = getSiteText();
$query = 'SELECT label, name, thumb, mediaLib, docLib, maxItems, custom, comments
FROM _pages
WHERE id = '.$pageId.'
LIMIT 1';
$result = mysql_query($query);
$record = mysql_fetch_assoc($result);
$label = $_SESSION['editGlobal']['value'][0] = $record['label'];
$linkname = $_SESSION['editGlobal']['value'][1] = $record['name'];
$thumb = $_SESSION['editGlobal']['value'][2] = $record['thumb'];
$mediaLib = $_SESSION['editGlobal']['value'][3] = $record['mediaLib'];
$docLib = $_SESSION['editGlobal']['value'][4] = $record['docLib'];
$maxItems = $_SESSION['editGlobal']['value'][5] = $record['maxItems'];
$comments = $_SESSION['editGlobal']['value'][6] = $record['comments'];
$custom = $record['custom'];
//create vars
if(!isset($_SESSION['editGlobal']['errnum'])){
$_SESSION['editGlobal']['errnum'] = 0;
$_SESSION['editGlobal']['erroutput'] = '';
}
$output = '';
$output .= '<div class="double-column-content">';
if($_SESSION['editGlobal']['errnum'] > 0){
$output .= '<span class="errForm">';
$output .= '<strong>'.$_SESSION['editGlobal']['errnum'].' error(s) occured</strong><br />';
$output .= $_SESSION['editGlobal']['erroutput'];
$output .= '</span>';
$output .= '<div class="clear"></div>';
}
//form
$output .= '<form action="" method="post">';
//title
$output .= '<div class="input-total">';
$output .= '<div class="input-title">';
$output .= 'Label *';
$output .= '</div>';
$output .= '<input type="text" name="label" value="'.$_SESSION['editGlobal']['value'][0].'" />';
$output .= '</div>';
$output .= '<div class="clear"></div>';
//linkname
$output .= '<div class="input-total">';
$output .= '<div class="input-title">';
$output .= 'Linkname *' ;
$output .= '</div>';
$output .= '<input type="text" name="linkname" value="'.$_SESSION['editGlobal']['value'][1].'" />';
$output .= '</div>';
$output .= '<div class="clear"></div>';
//Thumb
$output .= '<div class="input-total">';
$output .= '<input type="checkbox" name="thumb" value="'.$_SESSION['editGlobal']['value'][2].'" class="input-cb" ';
if($thumb == 1) $output .= 'checked';
$output .= '/>';
$output .= '<span class="formCheckLabel">Posts have thumbnail</span>';
$output .= '<div class="clear"></div>';
$output .= '</div>';
$output .= '<div class="clear"></div>';
//Media
$output .= '<div class="input-total">';
$output .= '<input type="checkbox" name="mediaLib" value="'.$_SESSION['editGlobal']['value'][3].'" class="input-cb" ';
if($mediaLib == 1) $output .= 'checked';
$output .= '/>';
$output .= '<span class="formCheckLabel">Posts have media library</span>';
$output .= '<div class="clear"></div>';
$output .= '</div>';
$output .= '<div class="clear"></div>';
//Media
$output .= '<div class="input-total">';
$output .= '<input type="checkbox" name="docLib" value="'.$_SESSION['editGlobal']['value'][4].'" class="input-cb" ';
if($docLib == 1) $output .= 'checked';
$output .= '/>';
$output .= '<span class="formCheckLabel">Posts have doc library</span>';
$output .= '<div class="clear"></div>';
$output .= '</div>';
$output .= '<div class="clear"></div>';
//MaxItems
$output .= '<div class="input-total">';
$output .= '<div class="input-title">';
$output .= 'Post Limit (0 = unlimited)';
$output .= '</div>';
$output .= '<input type="text" name="limit" value="'.$_SESSION['editGlobal']['value'][5].'" />';
$output .= '</div>';
$output .= '<div class="clear"></div>';
//comments
$output .= '<div class="input-total">';
$output .= '<input type="checkbox" name="comments" value="'.$_SESSION['editGlobal']['value'][6].'" class="input-cb" ';
if($comments == 1) $output .= 'checked';
$output .= '/>';
$output .= '<span class="formCheckLabel">Posts have comments</span>';
$output .= '<div class="clear"></div>';
$output .= '</div>';
$output .= '<div class="clear"></div>';
$output .= '<div class="clear"></div>';
$output .= '<input type="hidden" name="oldLinkname" value="'.$linkname.'"/>';
$output .= '<input type="hidden" name="editId" value="'.$pageId.'"/>';
$output .= '<input type="hidden" name="custom" value="'.$custom.'"/>';
$output .= '<input type="submit" name="sbmEditGlobal" value="edit global" class="button fully-rounded"/>';
$output .= '</form>';
$output .= '</div>';
$output .= '<div class="clear"></div>';
return $output;
}
function sbmEditGlobal(){
//get text
$siteText = getSiteText();
$editId = $_POST['editId'];
$custom = $_POST['custom'];
$oldLinkname = $_POST['oldLinkname'];
$label = $_POST['label'];
$linkname = $_POST['linkname'];
isset($_POST['thumb']) ? $thumb = 1 : $thumb = 0;
isset($_POST['mediaLib']) ? $mediaLib = 1 : $mediaLib = 0;
isset($_POST['docLib']) ? $docLib = 1 : $docLib = 0;
isset($_POST['comments']) ? $comments = 1 : $comments = 0;
$limit = $_POST['limit'];
//required fields !empty
if(!empty($label) && !empty($linkname)){
//restore session errors
$_SESSION['editGlobal']['errnum'] = 0;
$_SESSION['editGlobal']['erroutput'] = '';
//linkname unique
$linkname = linkname($linkname);
$linkname = str_replace('-','_',$linkname);
$result = mysql_query('SELECT name FROM _pages WHERE name = "'.$linkname.'"');
if(mysql_num_rows($result) == 0 || $oldLinkname == $linkname){
//restore session errors
$_SESSION['editGlobal']['errnum'] = 0;
$_SESSION['editGlobal']['erroutput'] = '';
//update tablenames
if($custom == 'photoalbumManager.php'){
//extention photoalbumManager
mysql_query('ALTER TABLE '.$oldLinkname.'_photos RENAME TO '.$linkname.'_photos');
mysql_query('ALTER TABLE '.$oldLinkname.'_albums RENAME TO '.$linkname.'_albums');
}
else{
mysql_query('ALTER TABLE '.$oldLinkname.' RENAME TO '.$linkname);
}
//update status
mysql_query('UPDATE status SET page = "'.$linkname.'" WHERE page = "'.$oldLinkname.'"');
//update _pages
mysql_query('UPDATE _pages SET name = "'.$linkname.'", label = "'.$label.'", thumb = "'.$thumb.'", mediaLib = "'.$mediaLib.'", docLib = "'.$docLib.'", maxItems = "'.$limit.'", comments = "'.$comments.'" WHERE id = '.$editId.' LIMIT 1');
unset($_SESSION['editGlobal']);
header('location: ../../edit/'.$editId);
}
else{
$_SESSION['editGlobal']['errnum']++;
$_SESSION['editGlobal']['erroutput'] .= $siteText['linknameExists'].'<br />';
header('location: ./');
}
}
else{
$_SESSION['editGlobal']['errnum']++;
$_SESSION['editGlobal']['erroutput'] .= $siteText['emptyField2'].'<br />';
header('location: ./');
}
}
function addEditFieldForm($method, $id = 0){
//get text
$siteText = getSiteText();
$method == 'edit' ? $editId = $id : $pageId = $id;
if($method == 'edit'){
//get info from database
$query = 'SELECT pageId, name, type, label, required, clear
FROM _fields
WHERE id = '.$editId.' LIMIT 1';
$result = mysql_query($query);
$record = mysql_fetch_assoc($result);
$pageId = $record['pageId'];
$name = $_SESSION['addFields']['value'][0] = $record['name'];
$type = $_SESSION['addFields']['value'][1] = $record['type'];
$label = $_SESSION['addFields']['value'][2] = $record['label'];
$required = $_SESSION['addFields']['value'][3] = $record['required'];
$clear = $_SESSION['addFields']['value'][4] = $record['clear'];
}
//create vars
if(!isset($_SESSION['addFields']['errnum'])){
$_SESSION['addFields']['errnum'] = 0;
$_SESSION['addFields']['erroutput'] = '';
}
if(!isset($_SESSION['addFields']['value'])){
for($i=0;$i<=4;$i++){
$_SESSION['addFields']['value'][$i] = '';
}
}
$output = '';
if($_SESSION['addFields']['errnum'] > 0){
$output .= '<span class="errForm">';
$output .= '<strong>'.$_SESSION['addFields']['errnum'].' error(s) occured</strong><br />';
$output .= $_SESSION['addFields']['erroutput'];
$output .= '</span>';
$output .= '<div class="clear"></div>';
}
$output .= '<div class="double-column-content">';
//form
$output .= '<form action="" method="post">';
//name
$output .= '<div class="input-total">';
$output .= '<div class="input-title">';
$output .= 'Name';
$output .= '</div>';
$output .= '<input type="text" name="name" value="'.$_SESSION['addFields']['value'][0].'" />';
$output .= '</div>';
$output .= '<div class="clear"></div>';
//type
$output .= '<div class="input-total">';
$output .= '<div class="input-title">';
$output .= 'Type';
$output .= '</div>';
$output .= '<select name="type">';
$options = array('text', 'wysiwyg', 'timestamp', 'itemOrder', 'fixedValue', 'email', 'date');
foreach($options as $key => $value){
$output .= '<option value="'.$value.'" ';
if($value == $_SESSION['addFields']['value'][1]) $output .= 'selected';
$output .= '>'.ucfirst($value).'</option>';
}
$output .= '</select>';
$output .= '</div>';
$output .= '<div class="clear"></div>';
//label
$output .= '<div class="input-total">';
$output .= '<div class="input-title">';
$output .= 'Label';
$output .= '</div>';
$output .= '<input type="text" name="label" value="'.$_SESSION['addFields']['value'][2].'" />';
$output .= '</div>';
$output .= '<div class="clear"></div>';
//Required
$output .= '<div class="input-total">';
$output .= '<input type="checkbox" name="required" value="'.$_SESSION['addFields']['value'][3].'" class="input-cb" ';
if($method == 'edit') if($required == 1) $output .= 'checked';
$output .= '/>';
$output .= '<span class="formCheckLabel">Required</span>';
$output .= '<div class="clear"></div>';
$output .= '</div>';
$output .= '<div class="clear"></div>';
//Clear
$output .= '<div class="input-total">';
$output .= '<input type="checkbox" name="clear" value="'.$_SESSION['addFields']['value'][4].'" class="input-cb" ';
if($method == 'edit') if($clear == 1) $output .= 'checked';
$output .= '/>';
$output .= '<span class="formCheckLabel">Clear</span>';
$output .= '<div class="clear"></div>';
$output .= '</div>';
$output .= '<div class="clear"></div>';
$output .= '<input type="hidden" name="pageId" value="'.$pageId.'"/>';
if($method == 'edit') $output .= '<input type="hidden" name="editId" value="'.$editId.'"/>';
if($method == 'edit') $output .= '<input type="hidden" name="oldName" value="'.$name.'"/>';
if($method == 'edit') $output .= '<input type="hidden" name="oldType" value="'.$type.'"/>';
if($method == 'add') $output .= '<input type="submit" name="sbmAddField" value="Add field" class="button fully-rounded"/>';
if($method == 'edit') $output .= '<input type="submit" name="sbmEditField" value="Edit field" class="button fully-rounded"/>';
$output .= '</form>';
$output .= '</div>';
$output .= '<div class="clear"></div>';
return $output;
}
function sbmAddEditField($method){
//get text
$siteText = getSiteText();
//get values
if($method == 'edit') $editId = $_POST['editId'];
if($method == 'edit') $oldName = $_POST['oldName'];
if($method == 'edit') $oldType = $_POST['oldType'];
$pageId = $_POST['pageId'];
$name = $_POST['name'];
$type = $_POST['type'];
$label = $_POST['label'];
isset($_POST['required']) ? $required = 1 : $required = 0;
isset($_POST['clear']) ? $clear = 1 : $clear = 0;
//all textfieds filled in?
if(!empty($name) && !empty($label)){
//rest errors
$_SESSION['addFields']['errnum'] = 0;
$_SESSION['addFields']['erroutput'] = '';
//is the name unique?
$result = mysql_query('SELECT name FROM _fields WHERE pageId = "'.$pageId.'" AND name = "'.$name.'"');
$name_valid = false;
if($method == 'add'){
mysql_num_rows($result) == 0 ? $name_valid = true : $name_valid = false;
}
if($method == 'edit'){
(mysql_num_rows($result) == 0 || $name == $oldName) ? $name_valid = true : $name_valid = false;
}
if($name_valid){
//reset errors
$_SESSION['addFields']['errnum'] = 0;
$_SESSION['addFields']['erroutput'] = '';
#get page linkname
$nameResult = mysql_query('SELECT name FROM _pages WHERE id = "'.$pageId.'" LIMIT 1');
$nameRecord = mysql_fetch_assoc($nameResult);
$pageLinkname = $nameRecord['name'];
if($method == 'add'){
//voeg kolom toe aan page
switch($type){
case 'text':
case 'email':
case 'date':
case 'fixedValue':
mysql_query('ALTER TABLE '.$pageLinkname.' ADD '.$name.' VARCHAR(512);');
break;
case 'itemOrder':
case 'timestamp':
mysql_query('ALTER TABLE '.$pageLinkname.' ADD '.$name.' INT(16);');
break;
case 'wysiwyg':
mysql_query('ALTER TABLE '.$pageLinkname.' ADD '.$name.' TEXT;');
break;
default:
mysql_query('ALTER TABLE '.$pageLinkname.' ADD '.$name.' VARCHAR(512);');
}
//veld toe aan _fields
$query = 'INSERT INTO _fields(pageId, name, type, label, required, clear) VALUES("'.$pageId.'","'.$name.'","'.$type.'","'.$label.'","'.$required.'","'.$clear.'")';
mysql_query($query);
//echo $query;
}
else if($method == 'edit'){
//update column type
if($type != $oldType || $name != $oldName){
switch($type){
case 'text':
case 'email':
case 'date':
case 'fixedValue':
$query = 'ALTER TABLE '.$pageLinkname.' Change '.$oldName.' '.$name.' VARCHAR(512)';
mysql_query($query);
break;
case 'itemOrder':
case 'timestamp':
$query = 'ALTER TABLE '.$pageLinkname.' Change '.$oldName.' '.$name.' INT(16)';
mysql_query($query);
break;
case 'wysiwyg':
$query = 'ALTER TABLE '.$pageLinkname.' Change '.$oldName.' '.$name.' TEXT';
mysql_query($query);
break;
default:
$query = 'ALTER TABLE '.$pageLinkname.' Change '.$oldName.' '.$name.' VARCHAR(512)';
mysql_query($query);
}
}
//update _fields
mysql_query('UPDATE _fields SET name = "'.$name.'", type="'.$type.'", label="'.$label.'", required="'.$required.'", clear="'.$clear.'" WHERE id="'.$editId.'" LIMIT 1');
}
unset($_SESSION['addFields']);
header('location: ../../edit/'.$pageId);
}
else{
$_SESSION['addFields']['errnum']++;
$_SESSION['addFields']['erroutput'] .= 'Name already exists<br />';
header('location: ./');
}
}
else{
$_SESSION['addFields']['errnum']++;
$_SESSION['addFields']['erroutput'] .= $siteText['emptyField2'].'<br />';
header('location: ./');
}
}
//are you sure you want to delete?
function askToDeleteField(){
//get text
$siteText = getSiteText();
$itemId = $_GET['id'];
$output = '';
$output .= '<div class="triple-column-content">';
$output .= '<form action="" method="post">';
$output .= $siteText['areYouSureDeletePage'];
$output .= '<div class="clear"></div>';
$output .= '<input type="hidden" name="itemId" value="'.$itemId.'" />';
$output .= '<input type="submit" name="sbmDeleteField" value="'.$siteText['formBtnYes'].'" class="button fully-rounded" /> ';
$output .= '<input type="submit" name="back" value="'.$siteText['formBtnNo'].'" class="button fully-rounded" />';
$output .= '</form>';
$output .= '</div>';
return $output;
}
function sbmDeleteField(){
//get text
$siteText = getSiteText();
//(re)set errors
$_SESSION['deleteFields']['errnum'] = 0;
$_SESSION['deleteFields']['erroutput'] = '';
$fieldId = $_POST['itemId'];
//get name of id
$result = mysql_query('SELECT f.pageId AS pageId, f.name AS fieldName, p.name AS pageName
FROM _fields AS f, _pages AS p
WHERE f.id = '.$fieldId.'
AND p.id = f.pageId
LIMIT 1');
$record = mysql_fetch_assoc($result);
$pageId = $record['pageId'];
$name = $record['fieldName'];
$pageName = $record['pageName'];
//check if field != title / description / timest / itemOrder / sbm
$forbidden = array('title', 'description', 'timest', 'itemOrder', 'sbm');
$valid = true;
foreach($forbidden as $key => $value){
if($name == $value) $valid = false;
}
if($valid){
//drop column in table
$query = 'ALTER TABLE '.$pageName.' DROP '.$name;
mysql_query($query);
//remove from fields
mysql_query('DELETE FROM _fields WHERE id = '.$fieldId.' LIMIT 1');
//unset session
unset($_SESSION['deleteFields']);
header('location: ../../edit/'.$pageId.'/');
}
else{
$_SESSION['deleteFields']['errnum']++;
$_SESSION['deleteFields']['erroutput'] .= 'You cannot delete title / description / timest / itemOrder / sbm<br />';
header('location: ../../edit/'.$pageId);
}
}
function showChangeOrder($linkname, $pageLabel){
//get text
$siteText = getSiteText();
$output = '';
$output .= getToolmanSource($linkname);
// header
$output .= '<div class="header-bar top-rounded content-bar">'.strtolower($pageLabel).' // '.strtolower($siteText['changeOrder']).'</div>';
$output .= '<div class="triple-column-content">';
$output .= $siteText['changeOrderHelp'];
//Get Info for the list
$query = 'SELECT DISTINCT p.id, p.name, p.pageOrder
FROM '.$linkname.' AS p, status AS s
WHERE s.page="'.$linkname.'"
AND s.itemId = p.id
AND s.active=1
ORDER BY p.pageOrder DESC';
$result = mysql_query($query );
//start list
$output .= '<ul id="'.$linkname.'_boxes" class="changeOrderList">';
while($record = mysql_fetch_assoc($result)){
$itemId = $record['id'];
$title = fromDatabase($record['name']);
$order = $record['pageOrder'];
//add list item id = table-fieldname-id
$output .= '<li id="pageOrder|_pages|'.$itemId.'">'.$title.'</li>';
}
//close list
$output .= '</ul>';
//save
$output .= '<input type="button" value="'.$siteText['save'].'" onclick="junkdrawer.inspectListOrder(\''.$linkname.'_boxes\',\'./pages/add-pages/\')" class="button fully-rounded"/>';
$output .= '</div>';
return $output;
}
function showFieldOrder($linkname, $pageLabel){
//get text
$siteText = getSiteText();
$pageId = $_GET['id'];
$output = '';
$output .= getToolmanSource($linkname);
// header
$output .= '<div class="header-bar top-rounded content-bar">'.strtolower($pageLabel).' // '.strtolower($siteText['changeOrder']).'</div>';
$output .= '<div class="triple-column-content">';
$output .= $siteText['changeOrderHelp'];
//Get Info for the list
//get fields
$query = 'SELECT id, name, fieldOrder
FROM _fields
WHERE pageId = '.$pageId.'
ORDER BY fieldOrder DESC';
$result = mysql_query($query );
//start list
$output .= '<ul id="'.$linkname.'_boxes" class="changeOrderList">';
while($record = mysql_fetch_assoc($result)){
$itemId = $record['id'];
$title = fromDatabase($record['name']);
$order = $record['fieldOrder'];
//add list item id = table-fieldname-id
$output .= '<li id="fieldOrder|_fields|'.$itemId.'">'.$title.'</li>';
}
//close list
$output .= '</ul>';
//save
$output .= '<input type="button" value="'.$siteText['save'].'" onclick="junkdrawer.inspectListOrder(\''.$linkname.'_boxes\',\'./pages/add-pages/edit/'.$pageId.'/\')" class="button fully-rounded"/>';
$output .= '</div>';
return $output;
}
?>