Convert Whups to Horde_Session
authorMichael M Slusarz <slusarz@curecanti.org>
Wed, 17 Nov 2010 21:10:25 +0000 (14:10 -0700)
committerMichael M Slusarz <slusarz@curecanti.org>
Thu, 18 Nov 2010 16:39:15 +0000 (09:39 -0700)
whups/lib/Ticket.php
whups/lib/View/Results.php
whups/lib/Whups.php
whups/query/index.php
whups/query/run.php
whups/queue/index.php
whups/search.php
whups/templates/prevnext.inc
whups/templates/view/results.inc
whups/ticket/create.php

index 5b2fd57..8c977ed 100644 (file)
@@ -122,13 +122,13 @@ class Whups_Ticket {
 
         // Check for a deferred attachment upload.
         if (!empty($info['deferred_attachment']) &&
-            !empty($_SESSION['whups']['deferred_attachment'][$info['deferred_attachment']])) {
+            ($a_name = $GLOBALS['session']->get('whups', 'deferred_attachment/' . $info['deferred_attachment']))) {
             $ticket->change(
                 'attachment',
                 array('name' => $info['deferred_attachment'],
-                      'tmp_name' => $_SESSION['whups']['deferred_attachment'][$info['deferred_attachment']]));
+                      'tmp_name' => $a_name));
 
-            unlink($_SESSION['whups']['deferred_attachment'][$info['deferred_attachment']]);
+            unlink($a_name);
         }
 
         // Send email notifications.
index de456aa..12351b3 100755 (executable)
@@ -23,7 +23,7 @@ class Whups_View_Results extends Whups_View {
     {
         Horde::addScriptFile('tables.js', 'horde', true);
 
-        global $prefs, $registry;
+        global $prefs, $registry, $session;
 
         $sortby = $prefs->getValue('sortby');
         $sortdir = $prefs->getValue('sortdir');
@@ -33,7 +33,7 @@ class Whups_View_Results extends Whups_View {
         foreach ($this->_params['results'] as $info) {
             $ids[] = $info['id'];
         }
-        $_SESSION['whups']['tickets'] = $ids;
+        $session->set('whups', 'tickets', $ids);
 
         include WHUPS_TEMPLATES . '/view/results.inc';
     }
index 568423c..c302e20 100644 (file)
@@ -221,13 +221,17 @@ class Whups {
      */
     function getCAPTCHA($new = false)
     {
-        if ($new || empty($_SESSION['whups']['CAPTCHA'])) {
-            $_SESSION['whups']['CAPTCHA'] = '';
-            for ($i = 0; $i < 5; $i++) {
-                $_SESSION['whups']['CAPTCHA'] .= chr(rand(65, 90));
+        global $session;
+
+        if ($new || !$session->get('whups', 'captcha')) {
+            $captcha = '';
+            for ($i = 0; $i < 5; ++$i) {
+                $captcha .= chr(rand(65, 90));
             }
+            $session->set('whups', 'captcha', $captcha);
         }
-        return $_SESSION['whups']['CAPTCHA'];
+
+        return $session->get('whups', 'captcha');
     }
 
     /**
index 7b090a1..d33f272 100644 (file)
@@ -24,8 +24,7 @@ $showEditQuery = true;
 $showExtraForm = null;
 
 // Find our current query.
-if (isset($_SESSION['whups']['query'])) {
-    $whups_query = unserialize($_SESSION['whups']['query']);
+if ($whups_query = $session->get('whups', 'query')) {
     if (!$whups_query->hasPermission($GLOBALS['registry']->getAuth(), Horde_Perms::READ)) {
         $notification->push(_("Permission denied."), 'horde.error');
         Horde::url($prefs->getValue('whups_default_view') . '.php', true)
@@ -37,10 +36,10 @@ if (isset($_SESSION['whups']['query'])) {
 
 // Find the current criteria form, and default to the user form if not
 // present.
-if (!isset($_SESSION['whups']['query_form'])) {
-    $_SESSION['whups']['query_form'] = 'props';
+if (!$session->exists('whups', 'query_form')) {
+    $session->set('whups', 'query_form', 'props');
 }
-$vars->set('whups_query_form', $_SESSION['whups']['query_form']);
+$vars->set('whups_query_form', $session->get('whups', 'query_form'));
 
 // What now? First check the result of the query edit action dropdown, as this
 // action overrides the form it sits within.
@@ -78,11 +77,12 @@ if ($vars->get('qaction1') || $vars->get('qaction2')) {
         break;
 
     case 'edit':
-        $_SESSION['whups']['query_form'] = $whups_query->pathToForm($vars);
-        if (is_a($_SESSION['whups']['query_form'], 'PEAR_Error')) {
-            $notification->push($_SESSION['whups']['query_form']);
-            $_SESSION['whups']['query_form'] = 'props';
+        $qf = $whups_query->pathToForm($vars);
+        if (is_a($qf, 'PEAR_Error')) {
+            $notification->push($qf);
+            $qf = 'props';
         }
+        $session->set('whups', 'query_form', 'props');
         $vars->set('edit', true);
         break;
     }
@@ -116,7 +116,7 @@ if ($vars->get('qaction1') || $vars->get('qaction2')) {
     case 'date':
     case 'text':
     case 'attribs':
-        $_SESSION['whups']['query_form'] = $action;
+        $session->set('whups', 'query_form', $action);
         break;
 
     // Global query options
@@ -147,7 +147,7 @@ $queryTabs = $whups_query->getTabs($vars);
 
 // Criterion form types.
 $queryurl = Horde::url('query/index.php');
-$vars->set('action', $_SESSION['whups']['query_form']);
+$vars->set('action', $session->get('whups', 'query_form'));
 $criteriaTabs = new Horde_Core_Ui_Tabs('action', $vars);
 $criteriaTabs->preserve('path', $vars->get('path'));
 $criteriaTabs->addTab(_("_Property Criteria"), $queryurl, 'props');
@@ -185,10 +185,10 @@ $queryRenderer = new Horde_Form_Renderer_Query();
 
 if ($showEditQuery) {
     // Get our current form.
-    switch ($_SESSION['whups']['query_form']) {
+    switch ($session->get('whups', 'query_form')) {
     default:
         printf(_("Error: Unknown query form \"%s\", defaulting to properties"),
-               $_SESSION['whups']['query_form']);
+               $session->get('whups', 'query_form'));
         // Fall through.
 
     case 'props':
@@ -243,4 +243,4 @@ if ($showEditQuery) {
 
 require $registry->get('templates', 'horde') . '/common-footer.inc';
 
-$_SESSION['whups']['query'] = serialize($whups_query);
+$session->set('whups', 'query', $whups_query);
index 6fe9c93..e8306ff 100644 (file)
@@ -28,8 +28,8 @@ if ($vars->exists('slug')) {
     $whups_query = $qManager->getQueryBySlug($vars->get('slug'));
 } elseif ($vars->exists('query')) {
     $whups_query = $qManager->getQuery($vars->get('query'));
-} elseif (isset($_SESSION['whups']['query'])) {
-    $whups_query = unserialize($_SESSION['whups']['query']);
+} else {
+    $whups_query = $session->get('whups', 'query');
 }
 
 // If we have an error, or if we still don't have a query, or if we don't have
@@ -72,7 +72,7 @@ if (!$whups_query->parameters) {
 
 if ($isvalid) {
     $tickets = $whups_driver->executeQuery($whups_query, $vars);
-    $_SESSION['whups']['last_search'] = Horde::url('query/run.php');
+    $session->set('whups', 'last_search', Horde::url('query/run.php'));
 }
 
 $title = $whups_query->name ? $whups_query->name : _("Query Results");
@@ -113,4 +113,4 @@ if (!is_null($tickets)) {
 
 require $registry->get('templates', 'horde') . '/common-footer.inc';
 
-$_SESSION['whups']['query'] = serialize($whups_query);
+$session->set('whups', 'query', $whups_query);
index 2768e21..64bfa95 100644 (file)
@@ -55,7 +55,7 @@ if (is_a($tickets, 'PEAR_Error')) {
                                                     'results' => $tickets,
                                                     'values' => $values,
                                                     'url' => $self));
-    $_SESSION['whups']['last_search'] = $self;
+    $session->set('whups', 'last_search', $self);
     $results->html();
 
 }
index 90341a0..66ee86f 100644 (file)
@@ -129,7 +129,7 @@ if (($vars->get('formname') || $vars->get('summary') || $vars->get('states') ||
                                               OPERATOR_EQUAL, $state);
             }
         }
-        $_SESSION['whups']['query'] = serialize($whups_query);
+        $session->set('whups', 'query', $whups_query);
         Horde::url('query/index.php', true)
             ->add('action', 'save')
             ->redirect();
@@ -140,13 +140,13 @@ if (($vars->get('formname') || $vars->get('summary') || $vars->get('states') ||
     } else {
         Whups::sortTickets($tickets);
 
-        $_SESSION['whups']['last_search'] = Horde::url('search.php?' . _getSearchUrl($vars));
+        $session->set('whups', 'last_search', Horde::url('search.php?' . _getSearchUrl($vars)));
         $results = Whups_View::factory(
             'Results',
             array('title' => _("Search Results"),
                   'results' => $tickets,
                   'values' => Whups::getSearchResultColumns(),
-                  'url' => $_SESSION['whups']['last_search']));
+                  'url' => $session->get('whups', 'last_search')));
         $beendone = true;
     }
 }
index 601e3b3..e1c332c 100644 (file)
@@ -1,32 +1,28 @@
 <?php
 // If we have a saved list of ticket ids in the session, display the prev/next
 // navigation.
-if (!isset($_SESSION['whups']['tickets']) ||
-    !is_array($_SESSION['whups']['tickets']) ||
-    ($list_length = count($_SESSION['whups']['tickets'])) <= 1 ||
-    ($this_ticket = array_search($ticket->getId(), $_SESSION['whups']['tickets'])) === false) {
+$whups_tickets = $GLOBALS['session']->get('whups', 'tickets', Horde_Session::TYPE_ARRAY);
+
+if (($list_length = count($whups_tickets)) <= 1 ||
+    ($this_ticket = array_search($ticket->getId(), $whups_tickets)) === false) {
     return;
 }
 
 $prevnext_links = array();
 if ($this_ticket != 0) {
     $prevnext_links[] = Horde::link(
-        Whups::urlFor('ticket',
-                      $_SESSION['whups']['tickets'][0]))
+        Whups::urlFor('ticket', $whups_tickets[0]))
         . htmlspecialchars(_("<<First")) . '</a>';
     $prevnext_links[] = Horde::link(
-        Whups::urlFor('ticket',
-                      $_SESSION['whups']['tickets'][$this_ticket - 1]))
+        Whups::urlFor('ticket', $whups_tickets[$this_ticket - 1]))
         . htmlspecialchars(_("<Prev")) . '</a>';
 }
 if ($this_ticket + 1 != $list_length) {
     $prevnext_links[] = Horde::link(
-        Whups::urlFor('ticket',
-                      $_SESSION['whups']['tickets'][$this_ticket + 1]))
+        Whups::urlFor('ticket', $whups_tickets[$this_ticket + 1]))
         . htmlspecialchars(_("Next>")) . '</a>';
     $prevnext_links[] = Horde::link(
-        Whups::urlFor('ticket',
-                      $_SESSION['whups']['tickets'][$list_length - 1]))
+        Whups::urlFor('ticket', $whups_tickets[$list_length - 1]))
         . htmlspecialchars(_("Last>>")) . '</a>';
 }
 $label = _("Re_turn to Search Results");
@@ -35,11 +31,11 @@ $label = Horde::highlightAccessKey($label, $ak);
 ?>
 <div id="searchnav">
  <p>
-  <strong><?php printf(_("Search Results: %s of %s"), $this_ticket + 1, count($_SESSION['whups']['tickets'])) ?></strong>
+  <strong><?php printf(_("Search Results: %s of %s"), $this_ticket + 1, $list_length) ?></strong>
   <small>
    [ <?php echo implode(' ', $prevnext_links) ?> ]
-   <?php if (!empty($_SESSION['whups']['last_search'])): ?>
-   [ <?php echo Horde::link(Horde_Util::addParameter($_SESSION['whups']['last_search'], 'haveSearch', true), '', '', '', '', '', $ak) . $label ?></a> ]
+   <?php if ($ls = $GLOBALS['session']->get('whups', 'last_search')): ?>
+   [ <?php echo Horde::link(Horde_Util::addParameter($ls, 'haveSearch', true), '', '', '', '', '', $ak) . $label ?></a> ]
    <?php endif; ?>
   </small>
  </p>
index a6470e8..cf91350 100755 (executable)
@@ -12,7 +12,7 @@ function table_sortCallback(tableId, column, sortDown)
 
 function doResort(column, sortDown)
 {
-    baseurl = '<?php echo addslashes(html_entity_decode($_SESSION['whups']['last_search'])) ?>';
+    baseurl = '<?php echo addslashes(html_entity_decode($GLOBALS['session']->get('whups', 'last_search'))) ?>';
     try {
         new Ajax.Request(baseurl, { parameters: { 'sortby': encodeURIComponent(column), sortdir: encodeURIComponent(sortDown) } });
     } catch (e) {}
@@ -100,4 +100,4 @@ function doResort(column, sortDown)
 </table>
 <?php endif; endif; ?>
 <!-- Results End -->
-<br class="spacer" />
\ No newline at end of file
+<br class="spacer" />
index 969c637..8dae117 100644 (file)
@@ -102,8 +102,7 @@ if ($valid3 && $valid2 && $valid1) {
         $tmp_file_path = tempnam(Horde::getTempDir(), 'att');
         if (move_uploaded_file($info['newattachment']['tmp_name'],
                                $tmp_file_path)) {
-            $_SESSION['whups']['deferred_attachment'][$file_name] =
-                $tmp_file_path;
+            $session->set('whups', 'deferred_attachment/' . $file_name, $tmp_file_path);
             $vars->set('deferred_attachment', $file_name);
             $form3->preserveVarByPost($vars, 'deferred_attachment');
         }