Bug #8464: Print view now handled entirely by HTML/CSS
authorMichael M Slusarz <slusarz@curecanti.org>
Sun, 16 Aug 2009 23:07:19 +0000 (17:07 -0600)
committerMichael M Slusarz <slusarz@curecanti.org>
Sun, 16 Aug 2009 23:07:19 +0000 (17:07 -0600)
nag/config/conf.xml
nag/lib/Nag.php
nag/list.php
nag/tasks/index.php
nag/templates/list.html.php
nag/templates/list/header.inc
nag/templates/list/task_footers.inc
nag/templates/view/task.inc
nag/themes/screen.css
nag/view.php

index 5098edd..67cf3fc 100644 (file)
@@ -3,7 +3,6 @@
 <configuration>
  <configsection name="storage">
   <configheader>Storage System Settings</configheader>
-
   <configswitch name="driver" desc="What storage driver should we use?">sql
    <case name="sql" desc="SQL">
     <configsection name="params">
@@ -18,9 +17,6 @@
 
  <configsection name="menu">
   <configheader>Menu settings</configheader>
-
-  <configboolean name="print" desc="Should we display a print link in the Horde
-  application menus?">true</configboolean>
   <configboolean name="import_export" desc="Should we display an Import/Export
   link in the Horde application menus?">true</configboolean>
   <configmultienum name="apps" desc="Select any applications that should be
index d1052dd..b4e2376 100644 (file)
@@ -688,7 +688,7 @@ class Nag
      */
     function getMenu()
     {
-        global $conf, $registry, $print_link;
+        global $conf, $registry;
 
         $menu = new Horde_Menu();
         $menu->add(Horde::applicationUrl('list.php'), _("_List Tasks"), 'nag.png', null, null, null, basename($_SERVER['PHP_SELF']) == 'index.php' ? 'current' : null);
@@ -710,11 +710,6 @@ class Nag
             $menu->add(Horde::applicationUrl('data.php'), _("_Import/Export"), 'data.png', $registry->getImageDir('horde'));
         }
 
-        /* Print. */
-        if ($conf['menu']['print'] && isset($print_link)) {
-            $menu->add($print_link, _("_Print"), 'print.png', $registry->getImageDir('horde'), '_blank', Horde::popupJs($print_link, array('urlencode' => true)) . 'return false;', '__noselection');
-        }
-
         return $menu;
     }
 
index a929861..c5df2a1 100644 (file)
@@ -84,36 +84,24 @@ default:
     break;
 }
 
-$print_view = (bool)$vars->print;
-if (!$print_view) {
-    Horde::addScriptFile('tooltips.js', 'horde', true);
-    Horde::addScriptFile('effects.js', 'horde', true);
-    Horde::addScriptFile('QuickFinder.js', 'horde', true);
-    $print_link = Horde::applicationUrl(Horde_Util::addParameter('list.php', array('print' => 1)));
-}
+Horde::addScriptFile('tooltips.js', 'horde', true);
+Horde::addScriptFile('effects.js', 'horde', true);
+Horde::addScriptFile('QuickFinder.js', 'horde', true);
 
 require NAG_TEMPLATES . '/common-header.inc';
-
-if ($print_view) {
-    require_once $registry->get('templates', 'horde') . '/javascript/print.js';
-} else {
-    require NAG_TEMPLATES . '/menu.inc';
-    echo '<div id="page">';
-
-    if (!$prefs->isLocked('show_completed')) {
-        $listurl = Horde::applicationUrl('list.php');
-        $tabs = new Horde_UI_Tabs('show_completed', $vars);
-        $tabs->addTab(_("_All tasks"), $listurl, Nag::VIEW_ALL);
-        $tabs->addTab(_("Incom_plete tasks"), $listurl, Nag::VIEW_INCOMPLETE);
-        $tabs->addTab(_("_Future tasks"), $listurl, Nag::VIEW_FUTURE);
-        $tabs->addTab(_("_Completed tasks"), $listurl, Nag::VIEW_COMPLETE);
-        echo $tabs->render($vars->get('show_completed'));
-    }
+require NAG_TEMPLATES . '/menu.inc';
+echo '<div id="page">';
+
+if (!$prefs->isLocked('show_completed')) {
+    $listurl = Horde::applicationUrl('list.php');
+    $tabs = new Horde_UI_Tabs('show_completed', $vars);
+    $tabs->addTab(_("_All tasks"), $listurl, Nag::VIEW_ALL);
+    $tabs->addTab(_("Incom_plete tasks"), $listurl, Nag::VIEW_INCOMPLETE);
+    $tabs->addTab(_("_Future tasks"), $listurl, Nag::VIEW_FUTURE);
+    $tabs->addTab(_("_Completed tasks"), $listurl, Nag::VIEW_COMPLETE);
+    echo $tabs->render($vars->get('show_completed'));
 }
 
 require NAG_TEMPLATES . '/list.html.php';
-
-if (!$print_view) {
-    require NAG_TEMPLATES . '/panel.inc';
-}
+require NAG_TEMPLATES . '/panel.inc';
 require $registry->get('templates', 'horde') . '/common-footer.inc';
index 78c3c29..6eee7c9 100644 (file)
@@ -42,7 +42,6 @@ if ($search_results->count() == 1) {
 
 $tasks = $search_results;
 $title = sprintf(_("Search: Results for \"%s\""), $search);
-$print_view = null;
 $actionID = null;
 
 Horde::addScriptFile('tooltips.js', 'horde', true);
index 167e613..fe7d0a8 100644 (file)
@@ -7,6 +7,9 @@ if ($tasks->hasTasks()) {
     $sortdir = $prefs->getValue('sortdir');
     $dateFormat = $prefs->getValue('date_format');
     $columns = @unserialize($prefs->getValue('tasklist_columns'));
+    if (empty($columns)) {
+        $columns = array();
+    }
     $dynamic_sort = true;
 
     $baseurl = 'list.php';
@@ -49,7 +52,7 @@ if ($tasks->hasTasks()) {
 
     require NAG_TEMPLATES . '/list/task_footers.inc';
 
-    if (!$print_view && $dynamic_sort) {
+    if ($dynamic_sort) {
         Horde::addScriptFile('tables.js', 'horde', true);
     }
 } else {
index 8bee899..469f4f8 100644 (file)
@@ -1,6 +1,5 @@
 <div class="header leftAlign">
  <?php echo htmlspecialchars($title) . ' (' . $tasks->count() . ')' ?>
- <?php if (!$print_view): ?>
  <a id="quicksearchL" href="<?php echo Horde::applicationUrl('search.php') ?>" title="<?php echo _("Search") ?>" onclick="$('quicksearchL').hide(); $('quicksearch').show(); $('quicksearchT').focus(); return false;"><?php echo Horde::img('search.png', _("Search"), '', $registry->getImageDir('horde')) ?></a>
  <div id="quicksearch" style="display:none">
   <input type="text" name="quicksearchT" id="quicksearchT" for="tasks-body" empty="tasks_empty" />
@@ -9,5 +8,4 @@
    <?php echo Horde::link(Horde::applicationUrl('search.php')) . _("More Options...") ?></a>
   </small>
  </div>
- <?php endif; ?>
 </div>
index e0981db..032905e 100644 (file)
@@ -1,8 +1,6 @@
 </tbody>
 </table>
-<?php if (!$print_view): ?>
 <div id="tasks_empty">
  <?php echo _("No tasks match") ?>
 </div>
-<?php endif; ?>
 </div>
index 23bd6a7..d23319c 100644 (file)
@@ -41,7 +41,7 @@
  <tr>
   <td class="rightAlign" valign="top"><strong><?php echo _("Completed?") ?></strong></td>
   <td>
-  <?php if (!$print_view && !is_a($share, 'PEAR_Error') && $share->hasPermission(Horde_Auth::getAuth(), PERMS_EDIT)) {
+  <?php if (!is_a($share, 'PEAR_Error') && $share->hasPermission(Horde_Auth::getAuth(), PERMS_EDIT)) {
             if (empty($task->completed)) {
                 echo Horde::link(Horde::applicationUrl(Horde_Util::addParameter($taskurl, 'actionID', 'complete_task')), _("Complete Task"), 'widget') . Horde::img('unchecked.png', _("Complete Task")) . '</a>';
             } else {
index 8e6854e..e1332c5 100644 (file)
@@ -252,3 +252,9 @@ table#tasklist-list th.sortdown {
 #RB_info input {
     margin: .2em;
 }
+
+@media print {
+    .header .smallheader, .tabset, .notices, #pageControls, #quicksearchL, #quicksearch {
+        display: none;
+    }
+}
index ddfc563..e895bed 100644 (file)
@@ -93,42 +93,29 @@ if (!empty($task->uid)) {
 }
 
 $title = $task->name;
-$print_view = (bool)Horde_Util::getFormData('print');
 $links = array();
-if (!$print_view) {
-    Horde::addScriptFile('stripe.js', 'horde', true);
+Horde::addScriptFile('stripe.js', 'horde', true);
 
-    $taskurl = Horde_Util::addParameter('task.php',
-                                  array('task' => $task_id,
-                                        'tasklist' => $tasklist_id));
-    $share = $GLOBALS['nag_shares']->getShare($tasklist_id);
+$taskurl = Horde_Util::addParameter('task.php',
+                              array('task' => $task_id,
+                                    'tasklist' => $tasklist_id));
+$share = $GLOBALS['nag_shares']->getShare($tasklist_id);
 
-    if (!is_a($share, 'PEAR_Error')) {
-        if ($share->hasPermission(Horde_Auth::getAuth(), PERMS_EDIT)) {
-            if (!$task->completed) {
-                $links[] = Horde::widget(Horde::applicationUrl(Horde_Util::addParameter($taskurl, 'actionID', 'complete_task')), _("Complete"), 'smallheader', '', '', _("_Complete"));
-            }
-            if (!$task->private || $task->owner == Horde_Auth::getAuth()) {
-                $links[] = Horde::widget(Horde::applicationUrl(Horde_Util::addParameter($taskurl, 'actionID', 'modify_task')), _("Edit"), 'smallheader', '', '', _("_Edit"));
-            }
+if (!is_a($share, 'PEAR_Error')) {
+    if ($share->hasPermission(Horde_Auth::getAuth(), PERMS_EDIT)) {
+        if (!$task->completed) {
+            $links[] = Horde::widget(Horde::applicationUrl(Horde_Util::addParameter($taskurl, 'actionID', 'complete_task')), _("Complete"), 'smallheader', '', '', _("_Complete"));
         }
-        if ($share->hasPermission(Horde_Auth::getAuth(), PERMS_DELETE)) {
-            $links[] = Horde::widget(Horde::applicationUrl(Horde_Util::addParameter($taskurl, 'actionID', 'delete_tasks')), _("Delete"), 'smallheader', '', $prefs->getValue('delete_opt') ? 'return window.confirm(\'' . addslashes(_("Really delete this task?")) . '\');' : '', _("_Delete"));
+        if (!$task->private || $task->owner == Horde_Auth::getAuth()) {
+            $links[] = Horde::widget(Horde::applicationUrl(Horde_Util::addParameter($taskurl, 'actionID', 'modify_task')), _("Edit"), 'smallheader', '', '', _("_Edit"));
         }
     }
+    if ($share->hasPermission(Horde_Auth::getAuth(), PERMS_DELETE)) {
+        $links[] = Horde::widget(Horde::applicationUrl(Horde_Util::addParameter($taskurl, 'actionID', 'delete_tasks')), _("Delete"), 'smallheader', '', $prefs->getValue('delete_opt') ? 'return window.confirm(\'' . addslashes(_("Really delete this task?")) . '\');' : '', _("_Delete"));
+    }
 }
 require NAG_TEMPLATES . '/common-header.inc';
-
-if ($print_view) {
-    require_once $registry->get('templates', 'horde') . '/javascript/print.js';
-} else {
-    $print_link = Horde_Util::addParameter('view.php',
-                                     array('task' => $task_id,
-                                           'tasklist' => $tasklist_id,
-                                           'print' => 1));
-    $print_link = Horde::url($print_link);
-    require NAG_TEMPLATES . '/menu.inc';
-}
+require NAG_TEMPLATES . '/menu.inc';
 
 /* Set up alarm units and value. */
 $task_alarm = $task->alarm;