From b5736e3ad3830fa732dcbd1a518ec3dd6ea7b98a Mon Sep 17 00:00:00 2001 From: Starla Insigna Date: Thu, 13 Aug 2009 17:46:09 -0400 Subject: Rewrote Admin panel The following database changes must be made: * A TEXT column called "text" must be added to the end of "polloftheweek" * The transferPollRss.php script must be run * The "pollrss" table must be dropped Closes #113 --- admin/newPost.php | 159 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 admin/newPost.php (limited to 'admin/newPost.php') diff --git a/admin/newPost.php b/admin/newPost.php new file mode 100644 index 0000000..eb6b4e0 --- /dev/null +++ b/admin/newPost.php @@ -0,0 +1,159 @@ + 'title', + 'text' => 'Title is a required field'); + } + + if (empty($_POST['text'])) + { + $errors[] = array( 'field' => 'text', + 'text' => 'The content of a blog post cannot be empty'); + } + + if (empty($_POST['tags'])) + { + $errors[] = array( 'field' => 'tags', + 'text' => 'Tags is a required field'); + } + + if ( + (strpos($_POST['tags'], ',') === 0) || + (strrpos($_POST['tags'], ',') === strlen($_POST['tags'])-1) || + (strpos($_POST['tags'], ',,') !== FALSE) + ) + { + $errors[] = array( 'field' => 'tags', + 'text' => 'Blank tags are not allowed'); + } + + if (empty($_POST['type'])) + { + $errors[] = array( 'field' => 'type', + 'text' => 'Type is a required field'); + } + + if (isset($errors)) + { + $template->adds_block('ISERROR',array('exi'=>1)); + + $eid = 0; + foreach ($errors as $error) + { + $template->adds_block('ERROR', array( 'ID' => $eid, + 'TEXT' => $error['text'])); + $template->add('IS' . strtoupper($error['field']) . 'ERROR', ' error'); + $template->adds_block(strtoupper($error['field']) . 'ERROR', array( 'ID' => $eid, + 'TEXT' => $error['text'])); + + $eid++; + } + + $template->add('TITLE', 'Write New Post'); + $template->add('ACTION', '/admin/newPost.php?submit='); + } else { + $tags = explode(',', $_POST['tags']); + + if ($_POST['type'] == 'draft') + { + $insdraft = "INSERT INTO drafts (title,author,text,slug) VALUES (\"" . mysql_real_escape_string($_POST['title']) . "\",\"" . getSessionUsername() . "\",\"" . mysql_real_escape_string($_POST['text']) . "\",\"" . generateSlug($_POST['title'],'updates') . "\")"; + $insdraft2 = mysql_query($insdraft); + + $id = mysql_insert_id(); + $type = 'drafts'; + addTags($id, $tags, 'draft'); + } else if ($_POST['type'] == 'instant') + { + $id = postBlogPost($_POST['title'], getSessionUsername(), $tags, $_POST['text']); + $type = 'updates'; + } else { + if ($_POST['type'] == 'article') + { + $getpending = "SELECT * FROM pending ORDER BY id DESC LIMIT 0,1"; + $getpending2 = mysql_query($getpending); + $getpending3 = mysql_fetch_array($getpending2); + if (isset($getpending3['id']) === FALSE) + { + $id = 50; + } else { + $id = $getpending3['id']+1; + } + } else if ($_POST['type'] == 'high') + { + $getpending = "SELECT * FROM pending ORDER BY id ASC LIMIT 0,1"; + $getpending2 = mysql_query($getpending); + $getpending3 = mysql_fetch_array($getpending2); + if (isset($getpending3['id']) === FALSE) + { + $id = 50; + } else { + $id = $getpending3['id']-1; + } + } + + $inspending = "INSERT INTO pending (id,title,author,text,slug) VALUES (" . $id . ",\"" . mysql_real_escape_string($_POST['title']) . "\",\"" . getSessionUsername() . "\",\"" . mysql_real_escape_string($_POST['text']) . "\",\"" . generateSlug($_POST['title'],'updates') . "\")"; + $inspending2 = mysql_query($inspending); + + $type = 'pending'; + addTags($id, $tags, 'pending'); + } + + if ($type == 'updates') + { + $getpost = "SELECT * FROM updates WHERE id = " . $id; + $getpost2 = mysql_query($getpost); + $getpost3 = mysql_fetch_array($getpost2); + + $url = '/blog/' . $getpost3['slug'] . '/'; + } else { + $url = '/viewPost.php?type=' . $type . '&id=' . $id; + } + + $template->add('ACTION', '/admin/editPost.php?type=' . $type . '&id=' . $id . '&submit='); + $template->adds_block('FLASH', array('TEXT' => 'Your post has been sucessfully created. View post.')); + $template->add('TITLE', 'Edit Post'); + if ($type != 'drafts') $template->add('TAGSDISABLED', ' readonly="readonly"'); + } + + $template->add('TITLEVALUE', $_POST['title']); + $template->add('TEXTVALUE', $_POST['text']); + $template->add('TAGSVALUE', $_POST['tags']); + $template->add(strtoupper($_POST['type']) . 'SELECTED', ' checked="checked"'); +} else { + $template->add('TITLE', 'Write New Post'); + $template->add('ACTION', '/admin/newPost.php?submit='); +} + +$template->display(); + +?> -- cgit 1.4.1