From abb2d3c67ddc132c4cc7ea435e13731527c32634 Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Sun, 14 Sep 2008 15:49:20 +0000 Subject: Series: Worked on ACP Refs #53 --- series/trunk/admin/deletesub.php | 70 +++++++++++++++++ series/trunk/admin/editsub.php | 151 ++++++++++++++++++++++++++++++++++++ series/trunk/admin/mansub.php | 39 ++++++++++ series/trunk/includes/instadisc.php | 13 ++++ series/trunk/install.php | 1 - series/trunk/subscription.php | 15 ++-- series/trunk/theme/deletedsub.tpl | 15 ++++ series/trunk/theme/deletesub.tpl | 21 +++++ series/trunk/theme/editedsub.tpl | 13 ++++ series/trunk/theme/editsub.tpl | 104 +++++++++++++++++++++++++ series/trunk/theme/mansub.tpl | 32 ++++++++ series/trunk/theme/subscription.tpl | 8 ++ 12 files changed, 475 insertions(+), 7 deletions(-) create mode 100644 series/trunk/admin/deletesub.php create mode 100644 series/trunk/admin/editsub.php create mode 100644 series/trunk/admin/mansub.php create mode 100644 series/trunk/theme/deletedsub.tpl create mode 100644 series/trunk/theme/deletesub.tpl create mode 100644 series/trunk/theme/editedsub.tpl create mode 100644 series/trunk/theme/editsub.tpl create mode 100644 series/trunk/theme/mansub.tpl create mode 100644 series/trunk/theme/subscription.tpl (limited to 'series/trunk') diff --git a/series/trunk/admin/deletesub.php b/series/trunk/admin/deletesub.php new file mode 100644 index 0000000..37b0bee --- /dev/null +++ b/series/trunk/admin/deletesub.php @@ -0,0 +1,70 @@ +add('SITENAME',instaDisc_getConfig('siteName')); + $template->add('ID',$_GET['subid']); + + $sub = instaDisc_getSubscription($_GET['subid']); + $template->add('IDENTITY',$sub['identity']); + $template->display(); +} else { + if ($_POST['submit'] == 'Yes') + { + instaDisc_deleteSubscription($_POST['id']); + + $template = new FITemplate('deletedsub'); + $template->display(); + } else { + header('Location: admin.php?id=main'); + } +} + +?> diff --git a/series/trunk/admin/editsub.php b/series/trunk/admin/editsub.php new file mode 100644 index 0000000..cafd217 --- /dev/null +++ b/series/trunk/admin/editsub.php @@ -0,0 +1,151 @@ + 0) + { + showForm($_POST['id'], $_POST['title'], $_POST['url'], $_POST['category'], $_POST['password'], $errors); + } else { + instaDisc_initSubscription($_SESSION['username'], $_POST['id'], $_POST['url'], $_POST['title'], $_POST['category'], $_POST['personal'], $_POST['password']); + + $template = new FITemplate('editedsub'); + $template->add('SITENAME', instaDisc_getConfig('siteName')); + $template->display(); + } +} + +function showForm($id, $title, $url, $category, $password, $errors) +{ + $template = new FITemplate('editsub'); + $template->add('SITENAME', instaDisc_getConfig('siteName')); + + if (isset($errors[1])) + { + $template->adds_block('ERROR', array('ex'=>'1')); + + foreach ($errors as $name => $value) + { + $template->adds_block('ERRORS', array( 'NAME' => $name, + 'MSG' => $value['msg'])); + } + } + + $template->add('TITLE_ERR', ifErrors($errors, 'title')); + $template->add('URL_ERR', ifErrors($errors, 'url')); + $template->add('CATEGORY_ERR', ifErrors($errors, 'url')); + $template->add('PASSWORD_ERR', ifErrors($errors, 'url')); + + doErrors($template, $errors, 'title'); + doErrors($template, $errors, 'url'); + doErrors($template, $errors, 'category'); + doErrors($template, $errors, 'password'); + + $template->add('ID', $id); + $template->add('TITLE', $title); + $template->add('URL', $url); + $template->add('CATEGORY', $category); + $template->add('PASSWORD', $password); + + $template->display(); +} + +function ifErrors($errors, $id) +{ + foreach ($errors as $name => $value) + { + if ($value['field'] == $id) + { + return ' error'; + } + } + + return ''; +} + +function doErrors($template, $errors, $id) +{ + foreach ($errors as $name => $value) + { + if ($value['field'] == $id) + { + $template->adds_block(strtoupper($id) . '_ERRS', array( 'NAME' => $name, + 'VALUE' => $value['msg'])); + } + } +} + +function addError(&$numOfErrors, &$errors, $field, $msg) +{ + $numOfErrors++; + $errors[$numOfErrors] = array('field' => $field, 'msg' => $msg); +} + +?> diff --git a/series/trunk/admin/mansub.php b/series/trunk/admin/mansub.php new file mode 100644 index 0000000..358365f --- /dev/null +++ b/series/trunk/admin/mansub.php @@ -0,0 +1,39 @@ +add('SITENAME', instaDisc_getConfig('siteName')); + +if (instaDisc_isAdmin($_SESSION['username'])) +{ + $subs = instaDisc_getAllSubscriptions(); +} else { + $subs = instaDisc_listSubscriptions($_SESSION['username']); +} +$i=0; +for ($i=0;isset($subs[$i]);$i++) +{ + $template->adds_block('SUBSCRIPTION', array( 'IDENTITY' => $subs['identity'], + 'ID' => $subs['id'])); +} + +$template->display(); + +?> diff --git a/series/trunk/includes/instadisc.php b/series/trunk/includes/instadisc.php index a5afb3a..54f427a 100644 --- a/series/trunk/includes/instadisc.php +++ b/series/trunk/includes/instadisc.php @@ -97,4 +97,17 @@ function initSubscription($username, $subscriptionID, $subscriptionURL, $subscri } } +function instaDisc_listSubscriptions($username) +{ + $getsubs = "SELECT * FROM subscriptions WHERE username = \"" . mysql_real_escape_string($username) . "\""; + $getsubs2 = mysql_query($getsubs); + $i=0; + while ($getsubs3[$i] = mysql_fetch_array($getsubs2)) + { + $i++; + } + + return $getsubs3; +} + ?> diff --git a/series/trunk/install.php b/series/trunk/install.php index 868726d..905344b 100644 --- a/series/trunk/install.php +++ b/series/trunk/install.php @@ -208,7 +208,6 @@ function showStepTwo($siteName, $adminUser, $adminPass, $errors)
-

Your website's name is required for a little personalization of emails.

Administrator User Details
diff --git a/series/trunk/subscription.php b/series/trunk/subscription.php index 81c3870..4db5736 100644 --- a/series/trunk/subscription.php +++ b/series/trunk/subscription.php @@ -18,16 +18,19 @@ if (!instaDisc_subscriptionExists($_GET['id'])) $sub = instaDisc_getSubscription($_GET['id']); -echo('Subscription: ' . $sub['url'] . "\n"); -echo('Title: ' . $sub['title'] . "\n"); -echo('Category: ' . $sub['category'] . "\n"); +$template = new FITemplate('subscription'); +$template->add('SUBSCRIPTION', $sub['url']); +$template->add('TITLE', $sub['title']); +$template->add('CATEGORY', $sub['category']); if ($sub['password'] != '') { - echo("Password: On\n"); + $template->add('PASSWORD', "Password: On\n"); } -echo('Series-Control-URL: http://' . $_SERVER['SERVER_NAME'] . str_replace(basename($_SERVER['PHP_SELF']), 'xmlrpc.php', $_SERVER['PHP_SELF']) . "\n"); -echo('Subscription-ID: ' . $_GET['id'] . "\n"); +$template->add('SERIESURL', 'http://' . $_SERVER['SERVER_NAME'] . str_replace(basename($_SERVER['PHP_SELF']), 'xmlrpc.php', $_SERVER['PHP_SELF'])); +$template->add('SUBID', $_GET['id']); + +$template->display(); ?> diff --git a/series/trunk/theme/deletedsub.tpl b/series/trunk/theme/deletedsub.tpl new file mode 100644 index 0000000..0b7a796 --- /dev/null +++ b/series/trunk/theme/deletedsub.tpl @@ -0,0 +1,15 @@ + + + <!--SITENAME--> InstaDisc Series Control + + + +
+

InstaDisc Subscription Deletion

+ +

You have successfully deleted your subscription! + +

Back to User Panel +

+ + diff --git a/series/trunk/theme/deletesub.tpl b/series/trunk/theme/deletesub.tpl new file mode 100644 index 0000000..af1cb6e --- /dev/null +++ b/series/trunk/theme/deletesub.tpl @@ -0,0 +1,21 @@ + + + <!--SITENAME--> InstaDisc Series Control + + + +
+

InstaDisc Subscription Deletion

+ +

Are you sure you would like to delete ? + +

+ + + +
+
+ + + + diff --git a/series/trunk/theme/editedsub.tpl b/series/trunk/theme/editedsub.tpl new file mode 100644 index 0000000..f0360c3 --- /dev/null +++ b/series/trunk/theme/editedsub.tpl @@ -0,0 +1,13 @@ + + + <!--SITENAME--> InstaDisc Series Control + + + +
+

InstaDisc Edit Subscription

+ +

You've successfully edited a subscription! Back to the ACP +

+ + diff --git a/series/trunk/theme/editsub.tpl b/series/trunk/theme/editsub.tpl new file mode 100644 index 0000000..7a88a81 --- /dev/null +++ b/series/trunk/theme/editsub.tpl @@ -0,0 +1,104 @@ + + + <!--SITENAME--> InstaDisc Series Control + + + + +
+

InstaDisc Edit Subscription

+ +

You can edit a subscription here. +

+ +
+ + +
Uh oh! Validation errors!

+

    + + + +
  1. + + + +
+
+ + +
+ Series Control Info + +
+ +

* + +

+ + + + + +

This is a short, unique string used to identify this subscription in Series Control.

+
+
+ +
+ Subscription Info + +
+ +

* + +

+ + + + +
+ +
+ +

* + +

+ + + + + +

This is a unique URL used to identify this subscription on the Client.

+
+ +
+ +

* + +

+ + + + +
+ +
+ +

* + +

+ + + + + +

If this subscription is encrypted, enter it's password here. Otherwise, leave it blank.

+
+
+ +
+ +
+
+ + diff --git a/series/trunk/theme/mansub.tpl b/series/trunk/theme/mansub.tpl new file mode 100644 index 0000000..ca62d74 --- /dev/null +++ b/series/trunk/theme/mansub.tpl @@ -0,0 +1,32 @@ + + + <!--SITENAME--> InstaDisc Series Control + + + +
+

InstaDisc Subscription Management

+ +

You can manage your subscriptions here. + + + + + + + + + + + + + +
Subscription URLActions
+ Edit
+ Delete +
+ +

Back to User Panel +

+ + diff --git a/series/trunk/theme/subscription.tpl b/series/trunk/theme/subscription.tpl new file mode 100644 index 0000000..cd6050b --- /dev/null +++ b/series/trunk/theme/subscription.tpl @@ -0,0 +1,8 @@ +
: +Subscription: +Title: +Category: +Series-Control-URL: +Subscription-ID: +End:
This is an InstaDisc Subscription file.

If you would like to subscribe to the InstaDisc subscription:
()
Copy the address of this file to the "Add Subscription" form on your InstaDisc client.

+ -- cgit 1.4.1