From 6b9f1ad9d5d23c9d0073ff8f163648ceac40c8fb Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Mon, 18 Sep 2017 03:00:12 +0200 Subject: [PATCH] New way to initialize and modify filter parameters --- modules/storm/storm.module | 39 +++++ modules/storm/stormdok/stormdok.admin.inc | 62 ++++---- modules/storm/stormevent/stormevent.admin.inc | 99 ++++++------ .../storm/stormexpense/stormexpense.admin.inc | 108 ++++++------- modules/storm/stormidea/stormidea.admin.inc | 11 +- .../storm/storminvoice/storminvoice.admin.inc | 80 +++++----- modules/storm/stormnote/stormnote.admin.inc | 64 ++++---- .../stormorganization.admin.inc | 57 +++---- .../storm/stormperson/stormperson.admin.inc | 28 ++-- .../storm/stormproject/stormproject.admin.inc | 142 +++++++++--------- modules/storm/stormtask/stormtask.admin.inc | 101 +++++++------ modules/storm/stormteam/stormteam.module | 23 ++- .../storm/stormticket/stormticket.admin.inc | 139 ++++++++--------- .../stormtimetracking.admin.inc | 114 +++++++------- 14 files changed, 541 insertions(+), 526 deletions(-) diff --git a/modules/storm/storm.module b/modules/storm/storm.module index 4f81fb4..d6553d8 100644 --- a/modules/storm/storm.module +++ b/modules/storm/storm.module @@ -2546,6 +2546,45 @@ function _format_short_date($date = NULL) { } +function _storm_isset_filter_param($type, $param, $default = NULL, $compare = NULL) { + $list_filter = 'storm' . $type . '_list_filter'; + if (!isset($_SESSION[$list_filter][$param]) && isset($default)) { + $_SESSION[$list_filter][$param] = $default; + } + if (isset($default) && !isset($compare)) { + $compare = $default; + } + if (isset($_SESSION[$list_filter][$param])) { + $original = $_SESSION[$list_filter][$param]; + if (in_array($type, array('timetracking', 'expense')) && in_array($param, array('datefrom', 'dateto'))) { + $original = $original['day']; + } + return isset($compare) ? $original != $compare : TRUE; + } + return FALSE; +} +function _storm_set_filter_param($type, $param, $value = NULL) { + $list_filter = 'storm' . $type . '_list_filter'; + if (isset($value)) { + $_SESSION[$list_filter][$param] = $value; + } + else { + unset($_SESSION[$list_filter][$param]); + } +} +function _storm_get_filter_param($type, $param, $default = NULL) { + $list_filter = 'storm' . $type . '_list_filter'; + if (isset($_SESSION[$list_filter][$param])) { + return $_SESSION[$list_filter][$param]; + } + elseif (isset($default)) { + $_SESSION[$list_filter][$param] = $default; + return $_SESSION[$list_filter][$param]; + } + return NULL; +} + + /** * @function * Calculates taxation for SuiteDesk nodes diff --git a/modules/storm/stormdok/stormdok.admin.inc b/modules/storm/stormdok/stormdok.admin.inc index 9bdb473..687b82f 100644 --- a/modules/storm/stormdok/stormdok.admin.inc +++ b/modules/storm/stormdok/stormdok.admin.inc @@ -11,39 +11,34 @@ function stormdok_list() { if (array_key_exists('organization_nid', $_GET)) { if ($_SESSION['stormdok_list_filter']['organization_nid'] != $_GET['organization_nid']) { - $_SESSION['stormdok_list_filter']['organization_nid'] = $_GET['organization_nid']; + _storm_set_filter_param('dok', 'organization_nid', $_GET['organization_nid']); } - unset($_SESSION['stormdok_list_filter']['project_nid']); - unset($_SESSION['stormdok_list_filter']['task_nid']); + _storm_set_filter_param('dok', 'project_nid'); + _storm_set_filter_param('dok', 'task_nid'); } if (array_key_exists('project_nid', $_GET)) { if ($_SESSION['stormdok_list_filter']['project_nid'] != $_GET['project_nid']) { - $_SESSION['stormdok_list_filter']['project_nid'] = $_GET['project_nid']; + _storm_set_filter_param('dok', 'project_nid', $_GET['project_nid']); } $p = node_load($_GET['project_nid']); - $_SESSION['stormdok_list_filter']['organization_nid'] = $p->organization_nid; - unset($_SESSION['stormdok_list_filter']['task_nid']); + _storm_set_filter_param('dok', 'organization_nid', $p->organization_nid); + _storm_set_filter_param('dok', 'task_nid'); } if (array_key_exists('task_nid', $_GET)) { if ($_SESSION['stormdok_list_filter']['task_nid'] != $_GET['task_nid']) { - $_SESSION['stormdok_list_filter']['task_nid'] = $_GET['task_nid']; + _storm_set_filter_param('dok', 'task_nid', $_GET['task_nid']); } $t = node_load($_GET['task_nid']); - $_SESSION['stormdok_list_filter']['organization_nid'] = $t->organization_nid; - $_SESSION['stormdok_list_filter']['project_nid'] = $t->project_nid; + _storm_set_filter_param('dok', 'organization_nid', $t->organization_nid); + _storm_set_filter_param('dok', 'project_nid', $t->project_nid); } if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') { - $_SESSION['stormdok_list_filter']['title'] = ''; + _storm_set_filter_param('dok', 'title', ''); } $i = new stdClass(); $i->type = 'stormdok'; - $params = $_GET; - if (isset($_SESSION['stormdok_list_filter']['organization_nid'])) { - $params['organization_nid'] = $_SESSION['stormdok_list_filter']['organization_nid']; - } - $header = array( array( 'data' => ' ', @@ -76,45 +71,45 @@ function stormdok_list() { 'class' => 'storm_list_version', ), array( - 'data' => storm_icon_add_node($i, $params), + 'data' => storm_icon_add_node($i, $_GET), 'class' => 'storm_list_operations', ), ); - $s = "SELECT n.*, sdo.*, nre.format, tdo.*, fdo.field_stormdok_attach_list AS clip FROM {node} AS n + $where = array(); + $args = array(); + $filterfields = array(); + + $s = "SELECT n.*, sdo.*, nre.format, tdo.*, fdo.field_stormdok_attach_list AS clip FROM {node} AS n INNER JOIN {stormdok} AS sdo ON n.vid=sdo.vid INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid INNER JOIN {content_type_stormdok} AS tdo ON n.vid = tdo.vid LEFT JOIN {content_field_stormdok_attach} AS fdo ON n.vid = fdo.vid AND fdo.field_stormdok_attach_list = 1 AND fdo.delta = 0 WHERE n.status=1 AND n.type='stormdok'"; - $where = array(); - $args = array(); - $filterfields = array(); - - if (isset($_SESSION['stormdok_list_filter']['organization_nid']) && $_SESSION['stormdok_list_filter']['organization_nid'] != 0) { + if (_storm_isset_filter_param('dok', 'organization_nid', 0)) { $where[] = 'sdo.organization_nid=%d'; $args[] = $_SESSION['stormdok_list_filter']['organization_nid']; $filterfields[] = t('Organization'); } - if (isset($_SESSION['stormdok_list_filter']['project_nid']) && $_SESSION['stormdok_list_filter']['project_nid'] != 0) { + if (_storm_isset_filter_param('dok', 'project_nid', 0)) { $where[] = 'sdo.project_nid=%d'; $args[] = $_SESSION['stormdok_list_filter']['project_nid']; $filterfields[] = t('Project'); } - if (isset($_SESSION['stormdok_list_filter']['task_nid']) && $_SESSION['stormdok_list_filter']['task_nid'] != 0) { + if (_storm_isset_filter_param('dok', 'task_nid', 0)) { $where[] = 'sdo.task_nid=%d'; $args[] = $_SESSION['stormdok_list_filter']['task_nid']; $filterfields[] = t('Task'); } - if (isset($_SESSION['stormdok_list_filter']['title']) && $_SESSION['stormdok_list_filter']['title'] != '') { + + if (_storm_isset_filter_param('dok', 'title', '')) { $where[] = "LOWER(n.title) LIKE LOWER('%s')"; $args[] = $_SESSION['stormdok_list_filter']['title']; $filterfields[] = t('Title'); } - // This section only provides the value for the fieldset label, doesn't control actual filter - $itemsperpage = isset($_SESSION['stormdok_list_filter']['itemsperpage']) ? $_SESSION['stormdok_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); + $itemsperpage = _storm_get_filter_param('dok', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); if (count($filterfields) == 0) { $filterdesc = t('Not filtered'); @@ -143,13 +138,14 @@ function stormdok_list() { } function stormdok_list_filter(&$form_state, $filterdesc = 'Filter') { - $organization_nid = isset($_SESSION['stormdok_list_filter']['organization_nid']) ? $_SESSION['stormdok_list_filter']['organization_nid'] : 0; - $project_nid = isset($_SESSION['stormdok_list_filter']['project_nid']) ? $_SESSION['stormdok_list_filter']['project_nid'] : 0; - $task_nid = isset($_SESSION['stormdok_list_filter']['task_nid']) ? $_SESSION['stormdok_list_filter']['task_nid'] : 0; - $title = isset($_SESSION['stormdok_list_filter']['title']) ? $_SESSION['stormdok_list_filter']['title'] : ''; + $organization_nid = _storm_get_filter_param('dok', 'organization_nid', 0); + $project_nid = _storm_get_filter_param('dok', 'project_nid', 0); + $task_nid = _storm_get_filter_param('dok', 'task_nid', 0); + + $title = _storm_get_filter_param('dok', 'title', ''); + + $itemsperpage = _storm_get_filter_param('dok', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); - $itemsperpage = isset($_SESSION['stormdok_list_filter']['itemsperpage']) ? $_SESSION['stormdok_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); - $_SESSION['stormdok_list_filter']['itemsperpage'] = $itemsperpage; $form = array(); diff --git a/modules/storm/stormevent/stormevent.admin.inc b/modules/storm/stormevent/stormevent.admin.inc index e6d0b71..ad2e65c 100644 --- a/modules/storm/stormevent/stormevent.admin.inc +++ b/modules/storm/stormevent/stormevent.admin.inc @@ -11,45 +11,40 @@ function stormevent_list() { if (array_key_exists('organization_nid', $_GET)) { if ($_SESSION['stormevent_list_filter']['organization_nid'] != $_GET['organization_nid']) { - $_SESSION['stormevent_list_filter']['organization_nid'] = $_GET['organization_nid']; + _storm_set_filter_param('event', 'organization_nid', $_GET['organization_nid']); } - unset($_SESSION['stormevent_list_filter']['project_nid']); - unset($_SESSION['stormevent_list_filter']['task_nid']); + _storm_set_filter_param('event', 'project_nid'); + _storm_set_filter_param('event', 'task_nid'); } if (array_key_exists('project_nid', $_GET)) { if ($_SESSION['stormevent_list_filter']['project_nid'] != $_GET['project_nid']) { - $_SESSION['stormevent_list_filter']['project_nid'] = $_GET['project_nid']; + _storm_set_filter_param('event', 'project_nid', $_GET['project_nid']); } $p = node_load($_GET['project_nid']); - $_SESSION['stormevent_list_filter']['organization_nid'] = $p->organization_nid; - unset($_SESSION['stormevent_list_filter']['task_nid']); + _storm_set_filter_param('event', 'organization_nid', $p->organization_nid); + _storm_set_filter_param('event', 'task_nid'); } if (array_key_exists('task_nid', $_GET)) { if ($_SESSION['stormevent_list_filter']['task_nid'] != $_GET['task_nid']) { - $_SESSION['stormevent_list_filter']['task_nid'] = $_GET['task_nid']; + _storm_set_filter_param('event', 'task_nid', $_GET['task_nid']); } $t = node_load($_GET['task_nid']); - $_SESSION['stormevent_list_filter']['organization_nid'] = $t->organization_nid; - $_SESSION['stormevent_list_filter']['project_nid'] = $t->project_nid; + _storm_set_filter_param('event', 'organization_nid', $t->organization_nid); + _storm_set_filter_param('event', 'project_nid', $t->project_nid); } if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') { - $_SESSION['stormevent_list_filter']['eventtype'] = '-'; - $_SESSION['stormevent_list_filter']['title'] = ''; + _storm_set_filter_param('event', 'eventtype', '-'); + _storm_set_filter_param('event', 'title', ''); - unset($_SESSION['stormevent_list_filter']['datebeginfrom']); - unset($_SESSION['stormevent_list_filter']['datebeginto']); - unset($_SESSION['stormevent_list_filter']['dateendfrom']); - unset($_SESSION['stormevent_list_filter']['dateendto']); + _storm_set_filter_param('event', 'datebeginfrom'); + _storm_set_filter_param('event', 'datebeginto'); + _storm_set_filter_param('event', 'dateendfrom'); + _storm_set_filter_param('event', 'dateendto'); } $i = new stdClass(); $i->type = 'stormevent'; - $params = $_GET; - if (isset($_SESSION['stormevent_list_filter']['organization_nid'])) { - $params['organization_nid'] = $_SESSION['stormevent_list_filter']['organization_nid']; - } - $header = array( array( 'data' => ' ', @@ -78,12 +73,16 @@ function stormevent_list() { 'class' => 'storm_list_version', ), array( - 'data' => storm_icon_add_node($i, $params), + 'data' => storm_icon_add_node($i, $_GET), 'class' => 'storm_list_operations', ), ); - $s = "SELECT n.*, sev.*, nre.format, tev.*, + $where = array(); + $args = array(); + $filterfields = array(); + + $s = "SELECT n.*, sev.*, nre.format, tev.*, fda.field_stormevent_date_value AS dini, fda.field_stormevent_date_value2 AS dend, fda.field_stormevent_date_rrule AS drule, @@ -95,43 +94,36 @@ function stormevent_list() { LEFT JOIN {content_field_stormevent_attach} AS fev ON n.vid = fev.vid AND fev.field_stormevent_attach_list = 1 AND fev.delta = 0 WHERE n.status=1 AND n.type='stormevent'"; - $where = array(); - $args = array(); - $filterfields = array(); - - if (isset($_SESSION['stormevent_list_filter']['organization_nid']) && $_SESSION['stormevent_list_filter']['organization_nid'] != 0) { + if (_storm_isset_filter_param('event', 'organization_nid', 0)) { $where[] = 'sev.organization_nid=%d'; $args[] = $_SESSION['stormevent_list_filter']['organization_nid']; $filterfields[] = t('Organization'); } - if (isset($_SESSION['stormevent_list_filter']['project_nid']) && $_SESSION['stormevent_list_filter']['project_nid'] != 0) { + if (_storm_isset_filter_param('event', 'project_nid', 0)) { $where[] = 'sev.project_nid=%d'; $args[] = $_SESSION['stormevent_list_filter']['project_nid']; $filterfields[] = t('Project'); } - if (isset($_SESSION['stormevent_list_filter']['task_nid']) && $_SESSION['stormevent_list_filter']['task_nid'] != 0) { + if (_storm_isset_filter_param('event', 'task_nid', 0)) { $where[] = 'sev.task_nid=%d'; $args[] = $_SESSION['stormevent_list_filter']['task_nid']; $filterfields[] = t('Task'); } - $type_list = storm_attributes_bydomain('event type search'); - $eventtype = isset($_SESSION['stormevent_list_filter']['eventtype']) ? $_SESSION['stormevent_list_filter']['eventtype'] : $type_list['default']; - $_SESSION['stormevent_list_filter']['eventtype'] = $eventtype; - - if ($eventtype != '-') { + $type_list = storm_attributes_bydomain('Event type search'); + if (_storm_isset_filter_param('event', 'eventtype', $type_list['default'], '-')) { $where[] = "sev.eventtype='%s'"; - $args[] = $eventtype; + $args[] = $_SESSION['stormevent_list_filter']['eventtype']; $filterfields[] = t('Type'); } - if (isset($_SESSION['stormevent_list_filter']['title']) && $_SESSION['stormevent_list_filter']['title'] != '') { + if (_storm_isset_filter_param('event', 'title', '')) { $where[] = "LOWER(n.title) LIKE LOWER('%s')"; $args[] = $_SESSION['stormevent_list_filter']['title']; $filterfields[] = t('Title'); } - if (isset($_SESSION['stormevent_list_filter']['datebeginfrom'])) { + if (_storm_isset_filter_param('event', 'datebeginfrom')) { $datebeginfrom = $_SESSION['stormevent_list_filter']['datebeginfrom']; $datebeginfrom['hour'] = 0; $datebeginfrom['minute'] = 0; @@ -142,7 +134,7 @@ function stormevent_list() { $filterfields[] = t('Date'); } } - if (isset($_SESSION['stormevent_list_filter']['datebeginto'])) { + if (_storm_isset_filter_param('event', 'datebeginto')) { $datebeginto = $_SESSION['stormevent_list_filter']['datebeginto']; $datebeginto['hour'] = 23; $datebeginto['minute'] = 59; @@ -153,7 +145,7 @@ function stormevent_list() { $filterfields[] = t('Date'); } } - if (isset($_SESSION['stormevent_list_filter']['dateendfrom'])) { + if (_storm_isset_filter_param('event', 'dateendfrom')) { $dateendfrom = $_SESSION['stormevent_list_filter']['dateendfrom']; $dateendfrom['hour'] = 0; $dateendfrom['minute'] = 0; @@ -164,7 +156,7 @@ function stormevent_list() { $filterfields[] = t('Date'); } } - if (isset($_SESSION['stormevent_list_filter']['dateendto'])) { + if (_storm_isset_filter_param('event', 'dateendto')) { $dateendto = $_SESSION['stormevent_list_filter']['dateendto']; $dateendto['hour'] = 23; $dateendto['minute'] = 59; @@ -184,8 +176,7 @@ function stormevent_list() { $where[] = "EXISTS ($wheredate)"; } - // This section only provides the value for the fieldset label, doesn't control actual filter - $itemsperpage = isset($_SESSION['stormevent_list_filter']['itemsperpage']) ? $_SESSION['stormevent_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); + $itemsperpage = _storm_get_filter_param('event', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); if (count($filterfields) == 0) { $filterdesc = t('Not filtered'); @@ -214,22 +205,22 @@ function stormevent_list() { } function stormevent_list_filter(&$form_state, $filterdesc = 'Filter') { - $organization_nid = isset($_SESSION['stormevent_list_filter']['organization_nid']) ? $_SESSION['stormevent_list_filter']['organization_nid'] : 0; - $project_nid = isset($_SESSION['stormevent_list_filter']['project_nid']) ? $_SESSION['stormevent_list_filter']['project_nid'] : 0; - $task_nid = isset($_SESSION['stormevent_list_filter']['task_nid']) ? $_SESSION['stormevent_list_filter']['task_nid'] : 0; + $organization_nid = _storm_get_filter_param('event', 'organization_nid', 0); + $project_nid = _storm_get_filter_param('event', 'project_nid', 0); + $task_nid = _storm_get_filter_param('event', 'task_nid', 0); - $type_list = storm_attributes_bydomain('event type search'); - $eventtype = isset($_SESSION['stormevent_list_filter']['eventtype']) ? $_SESSION['stormevent_list_filter']['eventtype'] : $type_list['default']; + $type_list = storm_attributes_bydomain('Event type search'); + $eventtype = _storm_get_filter_param('event', 'eventtype', $type_list['default']); - $title = isset($_SESSION['stormevent_list_filter']['title']) ? $_SESSION['stormevent_list_filter']['title'] : ''; + $title = _storm_get_filter_param('event', 'title', ''); - $datebeginfrom = isset($_SESSION['stormevent_list_filter']['datebeginfrom']) ? $_SESSION['stormevent_list_filter']['datebeginfrom'] : NULL; - $datebeginto = isset($_SESSION['stormevent_list_filter']['datebeginto']) ? $_SESSION['stormevent_list_filter']['datebeginto'] : NULL; - $dateendfrom = isset($_SESSION['stormevent_list_filter']['dateendfrom']) ? $_SESSION['stormevent_list_filter']['dateendfrom'] : NULL; - $dateendto = isset($_SESSION['stormevent_list_filter']['dateendto']) ? $_SESSION['stormevent_list_filter']['dateendto'] : NULL; + $datebeginfrom = _storm_get_filter_param('event', 'datebeginfrom'); + $datebeginto = _storm_get_filter_param('event', 'datebeginto'); + $dateendfrom = _storm_get_filter_param('event', 'dateendfrom'); + $dateendto = _storm_get_filter_param('event', 'dateendto'); + + $itemsperpage = _storm_get_filter_param('event', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); - $itemsperpage = isset($_SESSION['stormevent_list_filter']['itemsperpage']) ? $_SESSION['stormevent_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); - $_SESSION['stormevent_list_filter']['itemsperpage'] = $itemsperpage; $form = array(); diff --git a/modules/storm/stormexpense/stormexpense.admin.inc b/modules/storm/stormexpense/stormexpense.admin.inc index 54c4f81..0ac06f6 100644 --- a/modules/storm/stormexpense/stormexpense.admin.inc +++ b/modules/storm/stormexpense/stormexpense.admin.inc @@ -11,45 +11,45 @@ function stormexpense_list() { if (array_key_exists('organization_nid', $_GET)) { if ($_SESSION['stormexpense_list_filter']['organization_nid'] != $_GET['organization_nid']) { - $_SESSION['stormexpense_list_filter']['organization_nid'] = $_GET['organization_nid']; + _storm_set_filter_param('expense', 'organization_nid', $_GET['organization_nid']); } - unset($_SESSION['stormexpense_list_filter']['project_nid']); - unset($_SESSION['stormexpense_list_filter']['task_nid']); - unset($_SESSION['stormexpense_list_filter']['ticket_nid']); + _storm_set_filter_param('expense', 'project_nid'); + _storm_set_filter_param('expense', 'task_nid'); + _storm_set_filter_param('expense', 'ticket_nid'); } if (array_key_exists('project_nid', $_GET)) { if ($_SESSION['stormexpense_list_filter']['project_nid'] != $_GET['project_nid']) { - $_SESSION['stormexpense_list_filter']['project_nid'] = $_GET['project_nid']; + _storm_set_filter_param('expense', 'project_nid', $_GET['project_nid']); } $p = node_load($_GET['project_nid']); - $_SESSION['stormexpense_list_filter']['organization_nid'] = $p->organization_nid; - unset($_SESSION['stormexpense_list_filter']['task_nid']); - unset($_SESSION['stormexpense_list_filter']['ticket_nid']); + _storm_set_filter_param('expense', 'organization_nid', $p->organization_nid); + _storm_set_filter_param('expense', 'task_nid'); + _storm_set_filter_param('expense', 'ticket_nid'); } if (array_key_exists('task_nid', $_GET)) { if ($_SESSION['stormexpense_list_filter']['task_nid'] != $_GET['task_nid']) { - $_SESSION['stormexpense_list_filter']['task_nid'] = $_GET['task_nid']; + _storm_set_filter_param('expense', 'task_nid', $_GET['task_nid']); } $t = node_load($_GET['task_nid']); - $_SESSION['stormexpense_list_filter']['organization_nid'] = $t->organization_nid; - $_SESSION['stormexpense_list_filter']['project_nid'] = $t->project_nid; - unset($_SESSION['stormexpense_list_filter']['ticket_nid']); + _storm_set_filter_param('expense', 'organization_nid', $t->organization_nid); + _storm_set_filter_param('expense', 'project_nid', $t->project_nid); + _storm_set_filter_param('expense', 'ticket_nid'); } if (array_key_exists('ticket_nid', $_GET)) { if ($_SESSION['stormexpense_list_filter']['ticket_nid'] != $_GET['ticket_nid']) { - $_SESSION['stormexpense_list_filter']['ticket_nid'] = $_GET['ticket_nid']; + _storm_set_filter_param('expense', 'ticket_nid', $_GET['ticket_nid']); } $ti = node_load($_GET['ticket_nid']); - $_SESSION['stormexpense_list_filter']['organization_nid'] = $ti->organization_nid; - $_SESSION['stormexpense_list_filter']['project_nid'] = $ti->project_nid; - $_SESSION['stormexpense_list_filter']['task_nid'] = $ti->task_nid; + _storm_set_filter_param('expense', 'organization_nid', $ti->organization_nid); + _storm_set_filter_param('expense', 'project_nid', $ti->project_nid); + _storm_set_filter_param('expense', 'task_nid', $ti->task_nid); } if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') { - unset($_SESSION['stormexpense_list_filter']['datefrom']); + _storm_set_filter_param('expense', 'datefrom'); - $_SESSION['stormexpense_list_filter']['user'] = ''; - $_SESSION['stormexpense_list_filter']['title'] = ''; - $_SESSION['stormexpense_list_filter']['provider_title'] = ''; + _storm_set_filter_param('expense', 'user', ''); + _storm_set_filter_param('expense', 'title', ''); + _storm_set_filter_param('expense', 'provider_title', ''); } $i = new stdClass(); @@ -79,7 +79,11 @@ function stormexpense_list() { ), ); - $s = "SELECT n.*, sex.*, nre.format FROM {node} AS n + $where = array(); + $args = array(); + $filterfields = array(); + + $s = "SELECT n.*, sex.*, nre.format FROM {node} AS n INNER JOIN {stormexpense} AS sex ON n.vid=sex.vid INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid WHERE n.status=1 AND n.type='stormexpense' "; @@ -87,31 +91,28 @@ function stormexpense_list() { $s_totals = "SELECT SUM(amount) AS t_amount, SUM(tax1) AS t_tax1, SUM(tax2) AS t_tax2, SUM(total) AS t_total FROM {node} AS n INNER JOIN {stormexpense} AS sex ON n.vid=sex.vid WHERE n.status=1 AND n.type='stormexpense' "; - $where = array(); - $args = array(); - $filterfields = array(); - - if (isset($_SESSION['stormexpense_list_filter']['organization_nid']) && $_SESSION['stormexpense_list_filter']['organization_nid'] != 0) { + if (_storm_isset_filter_param('expense', 'organization_nid', 0)) { $where[] = 'sex.organization_nid=%d'; $args[] = $_SESSION['stormexpense_list_filter']['organization_nid']; $filterfields[] = t('Organization'); } - if (isset($_SESSION['stormexpense_list_filter']['project_nid']) && $_SESSION['stormexpense_list_filter']['project_nid'] != 0) { + if (_storm_isset_filter_param('expense', 'project_nid', 0)) { $where[] = 'sex.project_nid=%d'; $args[] = $_SESSION['stormexpense_list_filter']['project_nid']; $filterfields[] = t('Project'); } - if (isset($_SESSION['stormexpense_list_filter']['task_nid']) && $_SESSION['stormexpense_list_filter']['task_nid'] != 0) { + if (_storm_isset_filter_param('expense', 'task_nid', 0)) { $where[] = 'sex.task_nid=%d'; $args[] = $_SESSION['stormexpense_list_filter']['task_nid']; $filterfields[] = t('Task'); } - if (isset($_SESSION['stormexpense_list_filter']['ticket_nid']) && $_SESSION['stormexpense_list_filter']['ticket_nid'] != 0) { + if (_storm_isset_filter_param('expense', 'ticket_nid', 0)) { $where[] = 'sex.ticket_nid=%d'; $args[] = $_SESSION['stormexpense_list_filter']['ticket_nid']; $filterfields[] = t('Ticket'); } - if (isset($_SESSION['stormexpense_list_filter']['datefrom']) && $_SESSION['stormexpense_list_filter']['datefrom']['day'] != -1) { + + if (_storm_isset_filter_param('expense', 'datefrom', NULL, -1)) { $datefrom = $_SESSION['stormexpense_list_filter']['datefrom']; $datefrom['hour'] = 0; $datefrom['minute'] = 0; @@ -119,26 +120,26 @@ function stormexpense_list() { $args[] = _storm_datetime_to_gmtimestamp($datefrom); $filterfields[] = t('Date'); } - if (isset($_SESSION['stormexpense_list_filter']['title']) && $_SESSION['stormexpense_list_filter']['title'] != '') { - $where[] = "LOWER(n.title) LIKE LOWER('%s')"; - $args[] = $_SESSION['stormexpense_list_filter']['title']; - $filterfields[] = t('Title'); - } - if (isset($_SESSION['stormexpense_list_filter']['provider_title']) && $_SESSION['stormexpense_list_filter']['provider_title'] != '') { - $where[] = "LOWER(sex.provider_title) LIKE LOWER('%s')"; - $args[] = $_SESSION['stormexpense_list_filter']['provider_title']; - $filterfields[] = t('Provider'); - } - $itemsperpage = isset($_SESSION['stormexpense_list_filter']['itemsperpage']) ? $_SESSION['stormexpense_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); - - if (isset($_SESSION['stormexpense_list_filter']['user']) && $_SESSION['stormexpense_list_filter']['user'] != '') { + if (_storm_isset_filter_param('expense', 'user', '')) { $expenseuser = user_load(array('name' => $_SESSION['stormexpense_list_filter']['user'])); if ($expenseuser === FALSE) $expenseuser->uid = -1; $where[] = 'n.uid=%d'; $args[] = $expenseuser->uid; $filterfields[] = t('User'); } + if (_storm_isset_filter_param('expense', 'title', '')) { + $where[] = "LOWER(n.title) LIKE LOWER('%s')"; + $args[] = $_SESSION['stormexpense_list_filter']['title']; + $filterfields[] = t('Title'); + } + if (_storm_isset_filter_param('expense', 'provider_title', '')) { + $where[] = "LOWER(sex.provider_title) LIKE LOWER('%s')"; + $args[] = $_SESSION['stormexpense_list_filter']['provider_title']; + $filterfields[] = t('Provider'); + } + + $itemsperpage = _storm_get_filter_param('expense', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); if (count($filterfields) == 0) { $filterdesc = t('Not filtered'); @@ -175,18 +176,19 @@ function stormexpense_list() { } function stormexpense_list_filter(&$form_state, $filterdesc = 'Filter') { - $organization_nid = isset($_SESSION['stormexpense_list_filter']['organization_nid']) ? $_SESSION['stormexpense_list_filter']['organization_nid'] : 0; - $project_nid = isset($_SESSION['stormexpense_list_filter']['project_nid']) ? $_SESSION['stormexpense_list_filter']['project_nid'] : 0; - $task_nid = isset($_SESSION['stormexpense_list_filter']['task_nid']) ? $_SESSION['stormexpense_list_filter']['task_nid'] : 0; - $ticket_nid = isset($_SESSION['stormexpense_list_filter']['ticket_nid']) ? $_SESSION['stormexpense_list_filter']['ticket_nid'] : 0; - $itemsperpage = isset($_SESSION['stormexpense_list_filter']['itemsperpage']) ? $_SESSION['stormexpense_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); - $_SESSION['stormexpense_list_filter']['itemsperpage'] = $itemsperpage; - $title = isset($_SESSION['stormexpense_list_filter']['title']) ? $_SESSION['stormexpense_list_filter']['title'] : ''; - $provider_title = isset($_SESSION['stormexpense_list_filter']['provider_title']) ? $_SESSION['stormexpense_list_filter']['provider_title'] : ''; + $organization_nid = _storm_get_filter_param('expense', 'organization_nid', 0); + $project_nid = _storm_get_filter_param('expense', 'project_nid', 0); + $task_nid = _storm_get_filter_param('expense', 'task_nid', 0); + $ticket_nid = _storm_get_filter_param('expense', 'ticket_nid', 0); - $datefrom = isset($_SESSION['stormexpense_list_filter']['datefrom']) ? $_SESSION['stormexpense_list_filter']['datefrom'] : NULL; + $datefrom = _storm_get_filter_param('expense', 'datefrom'); + + $expenseuser = _storm_get_filter_param('expense', 'user', ''); + $title = _storm_get_filter_param('expense', 'title', ''); + $provider_title = _storm_get_filter_param('expense', 'provider_title', ''); + + $itemsperpage = _storm_get_filter_param('expense', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); - $expenseuser = isset($_SESSION['stormexpense_list_filter']['user']) ? $_SESSION['stormexpense_list_filter']['user'] : ''; $form = array(); diff --git a/modules/storm/stormidea/stormidea.admin.inc b/modules/storm/stormidea/stormidea.admin.inc index bede7c6..49fcfc7 100644 --- a/modules/storm/stormidea/stormidea.admin.inc +++ b/modules/storm/stormidea/stormidea.admin.inc @@ -39,14 +39,13 @@ function stormidea_list() { $args = array(); $filterfields = array(); - if (isset($_SESSION['stormidea_list_filter']['title']) && $_SESSION['stormidea_list_filter']['title'] != '') { + if (_storm_isset_filter_param('idea', 'title', '')) { $where[] = "LOWER(n.title) LIKE CONCAT('%', LOWER('%s'), '%')"; $args[] = $_SESSION['stormidea_list_filter']['title']; $filterfields[] = t('Title'); } - // This section only provides the value for the fieldset label, doesn't control actual filter - $itemsperpage = isset($_SESSION['stormidea_list_filter']['itemsperpage']) ? $_SESSION['stormidea_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); + $itemsperpage = _storm_get_filter_param('idea', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); if (count($filterfields) == 0) { $filterdesc = t('Not filtered'); @@ -75,10 +74,10 @@ function stormidea_list() { } function stormidea_list_filter(&$form_state, $filterdesc = 'Filter') { - $title = isset($_SESSION['stormidea_list_filter']['title']) ? $_SESSION['stormidea_list_filter']['title'] : ''; + $title = _storm_get_filter_param('idea', 'title', ''); + + $itemsperpage = _storm_get_filter_param('idea', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); - $itemsperpage = isset($_SESSION['stormidea_list_filter']['itemsperpage']) ? $_SESSION['stormidea_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); - $_SESSION['stormidea_list_filter']['itemsperpage'] = $itemsperpage; $form = array(); diff --git a/modules/storm/storminvoice/storminvoice.admin.inc b/modules/storm/storminvoice/storminvoice.admin.inc index 8e2f788..093cc60 100644 --- a/modules/storm/storminvoice/storminvoice.admin.inc +++ b/modules/storm/storminvoice/storminvoice.admin.inc @@ -11,22 +11,22 @@ function storminvoice_list() { if (array_key_exists('organization_nid', $_GET)) { if ($_SESSION['storminvoice_list_filter']['organization_nid'] != $_GET['organization_nid']) { - $_SESSION['storminvoice_list_filter']['organization_nid'] = $_GET['organization_nid']; + _storm_set_filter_param('invoice', 'organization_nid', $_GET['organization_nid']); } - unset($_SESSION['storminvoice_list_filter']['project_nid']); + _storm_set_filter_param('invoice', 'project_nid'); } if (array_key_exists('project_nid', $_GET)) { if ($_SESSION['storminvoice_list_filter']['project_nid'] != $_GET['project_nid']) { - $_SESSION['storminvoice_list_filter']['project_nid'] = $_GET['project_nid']; + _storm_set_filter_param('invoice', 'project_nid', $_GET['project_nid']); } $p = node_load($_GET['project_nid']); - $_SESSION['storminvoice_list_filter']['organization_nid'] = $p->organization_nid; + _storm_set_filter_param('invoice', 'organization_nid', $p->organization_nid); } if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') { - unset($_SESSION['storminvoice_list_filter']['reqdatefrom']); - unset($_SESSION['storminvoice_list_filter']['reqdateto']); + _storm_set_filter_param('invoice', 'reqdatefrom'); + _storm_set_filter_param('invoice', 'reqdateto'); - $_SESSION['storminvoice_list_filter']['status'] = ''; + _storm_set_filter_param('invoice', 'status', ''); } $i = new stdClass(); @@ -60,7 +60,11 @@ function storminvoice_list() { ), ); - $s = "SELECT n.title, n.type, n.uid, sin.*, nre.format FROM {node} AS n + $where = array(); + $args = array(); + $filterfields = array(); + + $s = "SELECT n.title, n.type, n.uid, sin.*, nre.format FROM {node} AS n INNER JOIN {storminvoice} AS sin ON n.vid=sin.vid INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid WHERE n.status=1 AND n.type='storminvoice' "; @@ -74,58 +78,44 @@ function storminvoice_list() { $s_totals = "SELECT SUM(amount) amount, SUM(tax1) tax1, SUM(tax2) tax2, SUM(total) total FROM {storminvoice} sin INNER JOIN {node} n ON n.vid=sin.vid WHERE n.status=1 AND n.type='storminvoice'"; - $where = array(); - $args = array(); - $filterfields = array(); - - if (isset($_SESSION['storminvoice_list_filter']['organization_nid']) && $_SESSION['storminvoice_list_filter']['organization_nid'] != 0) { + if (_storm_isset_filter_param('invoice', 'organization_nid', 0)) { $where[] = 'sin.organization_nid=%d'; $args[] = $_SESSION['storminvoice_list_filter']['organization_nid']; $filterfields[] = t('Organization'); } - if (isset($_SESSION['storminvoice_list_filter']['project_nid']) && $_SESSION['storminvoice_list_filter']['project_nid'] != 0) { + if (_storm_isset_filter_param('invoice', 'project_nid', 0)) { $where[] = 'sin.project_nid=%d'; $args[] = $_SESSION['storminvoice_list_filter']['project_nid']; $filterfields[] = t('Project'); } - if (isset($_SESSION['storminvoice_list_filter']['reqdatefrom'])) { + + if (_storm_isset_filter_param('invoice', 'reqdatefrom')) { $reqdatefrom = $_SESSION['storminvoice_list_filter']['reqdatefrom']; $where[] = 'sin.requestdate>=%d'; $args[] = _storm_date_to_gmtimestamp($reqdatefrom); $filterfields[] = t('Request date'); } - if (isset($_SESSION['storminvoice_list_filter']['reqdateto']) && $_SESSION['storminvoice_list_filter']['reqdateto']['day'] != -1) { + if (_storm_isset_filter_param('invoice', 'reqdateto')) { $reqdateto = $_SESSION['storminvoice_list_filter']['reqdateto']; $where[] = 'sin.requestdate<=%d'; $args[] = _storm_date_to_gmtimestamp($reqdateto); $filterfields[] = t('Request date'); } - $status = isset($_SESSION['storminvoice_list_filter']['status']) ? $_SESSION['storminvoice_list_filter']['status'] : '-'; - if ($status != '-') { - if ($status == 'to pay') { + if (_storm_isset_filter_param('invoice', 'status', '', '-')) { + if ($_SESSION['storminvoice_list_filter']['status'] == 'to pay') { $where[] = "sin.paymentdate=0"; } - if ($status == 'paid') { + if ($_SESSION['storminvoice_list_filter']['status'] == 'paid') { $where[] = "sin.paymentdate<>0"; } - if ($status == 'overdue') { + if ($_SESSION['storminvoice_list_filter']['status'] == 'overdue') { $where[] = "sin.paymentdate=0 AND sin.duedate<". time(); } $filterfields[] = t('Status'); } - $itemsperpage = isset($_SESSION['storminvoice_list_filter']['itemsperpage']) ? $_SESSION['storminvoice_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); - $_SESSION['storminvoice_list_filter']['itemsperpage'] = $itemsperpage; - - $tablesort = tablesort_sql($header); - - if ($tablesort == " ORDER BY sin.number ASC") { - $tablesort = " ORDER BY LPAD(sin.number, 10, '0') ASC"; - } - elseif ($tablesort == " ORDER BY sin.number DESC") { - $tablesort = " ORDER BY LPAD(sin.number, 10, '0') DESC"; - } + $itemsperpage = _storm_get_filter_param('invoice', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); if (count($filterfields) == 0) { $filterdesc = t('Not filtered'); @@ -139,7 +129,17 @@ function storminvoice_list() { $s = storminvoice_access_sql($s, $where); $s = db_rewrite_sql($s); + + $tablesort = tablesort_sql($header); + + if ($tablesort == " ORDER BY sin.number ASC") { + $tablesort = " ORDER BY LPAD(sin.number, 10, '0') ASC"; + } + elseif ($tablesort == " ORDER BY sin.number DESC") { + $tablesort = " ORDER BY LPAD(sin.number, 10, '0') DESC"; + } $r = pager_query($s . $tablesort, $itemsperpage, 0, NULL, $args); + $invoices = array(); while ($invoice = db_fetch_object($r)) { $invoices[] = $invoice; @@ -165,14 +165,16 @@ function storminvoice_list() { } function storminvoice_list_filter(&$form_state, $filterdesc = 'Filter') { - $organization_nid = isset($_SESSION['storminvoice_list_filter']['organization_nid']) ? $_SESSION['storminvoice_list_filter']['organization_nid'] : 0; - $project_nid = isset($_SESSION['storminvoice_list_filter']['project_nid']) ? $_SESSION['storminvoice_list_filter']['project_nid'] : 0; - $status = isset($_SESSION['storminvoice_list_filter']['status']) ? $_SESSION['storminvoice_list_filter']['status'] : ''; - $itemsperpage = isset($_SESSION['storminvoice_list_filter']['itemsperpage']) ? $_SESSION['storminvoice_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); - $_SESSION['storminvoice_list_filter']['itemsperpage'] = $itemsperpage; + $organization_nid = _storm_get_filter_param('invoice', 'organization_nid', 0); + $project_nid = _storm_get_filter_param('invoice', 'project_nid', 0); + + $reqdatefrom = _storm_get_filter_param('invoice', 'reqdatefrom'); + $reqdateto = _storm_get_filter_param('invoice', 'reqdateto'); + + $status = _storm_get_filter_param('invoice', 'status', ''); + + $itemsperpage = _storm_get_filter_param('invoice', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); - $reqdatefrom = isset($_SESSION['storminvoice_list_filter']['reqdatefrom']) ? $_SESSION['storminvoice_list_filter']['reqdatefrom'] : NULL; - $reqdateto = isset($_SESSION['storminvoice_list_filter']['reqdateto']) ? $_SESSION['storminvoice_list_filter']['reqdateto'] : NULL; $form = array(); diff --git a/modules/storm/stormnote/stormnote.admin.inc b/modules/storm/stormnote/stormnote.admin.inc index b243bbe..77f06f5 100644 --- a/modules/storm/stormnote/stormnote.admin.inc +++ b/modules/storm/stormnote/stormnote.admin.inc @@ -11,39 +11,34 @@ function stormnote_list() { if (array_key_exists('organization_nid', $_GET)) { if ($_SESSION['stormnote_list_filter']['organization_nid'] != $_GET['organization_nid']) { - $_SESSION['stormnote_list_filter']['organization_nid'] = $_GET['organization_nid']; + _storm_set_filter_param('note', 'organization_nid', $_GET['organization_nid']); } - unset($_SESSION['stormnote_list_filter']['project_nid']); - unset($_SESSION['stormnote_list_filter']['task_nid']); + _storm_set_filter_param('note', 'project_nid'); + _storm_set_filter_param('note', 'task_nid'); } if (array_key_exists('project_nid', $_GET)) { if ($_SESSION['stormnote_list_filter']['project_nid'] != $_GET['project_nid']) { - $_SESSION['stormnote_list_filter']['project_nid'] = $_GET['project_nid']; + _storm_set_filter_param('note', 'project_nid', $_GET['project_nid']); } $p = node_load($_GET['project_nid']); - $_SESSION['stormnote_list_filter']['organization_nid'] = $p->organization_nid; - unset($_SESSION['stormnote_list_filter']['task_nid']); + _storm_set_filter_param('note', 'organization_nid', $p->organization_nid); + _storm_set_filter_param('note', 'task_nid'); } if (array_key_exists('task_nid', $_GET)) { if ($_SESSION['stormnote_list_filter']['task_nid'] != $_GET['task_nid']) { - $_SESSION['stormnote_list_filter']['task_nid'] = $_GET['task_nid']; + _storm_set_filter_param('note', 'task_nid', $_GET['task_nid']); } $t = node_load($_GET['task_nid']); - $_SESSION['stormnote_list_filter']['organization_nid'] = $t->organization_nid; - $_SESSION['stormnote_list_filter']['project_nid'] = $t->project_nid; + _storm_set_filter_param('note', 'organization_nid', $t->organization_nid); + _storm_set_filter_param('note', 'project_nid', $t->project_nid); } if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') { - $_SESSION['stormnote_list_filter']['title'] = ''; + _storm_set_filter_param('note', 'title', ''); } $i = new stdClass(); $i->type = 'stormnote'; - $params = $_GET; - if (isset($_SESSION['stormnote_list_filter']['organization_nid'])) { - $params['organization_nid'] = $_SESSION['stormnote_list_filter']['organization_nid']; - } - $header = array( array( 'data' => t('Title') . ' / ' . t('Organization') . ' » ' . t('Project') . ' » ' . t('Task'), @@ -69,44 +64,44 @@ function stormnote_list() { 'class' => 'storm_list_version', ), array( - 'data' => storm_icon_add_node($i, $params), + 'data' => storm_icon_add_node($i, $_GET), 'class' => 'storm_list_operations', ), ); - $s = "SELECT n.*, sno.*, nre.format, fno.field_stormnote_attached_list AS clip FROM {node} AS n - INNER JOIN {stormnote} AS sno ON n.vid=sno.vid - INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid - LEFT JOIN {content_field_stormnote_attached} AS fno ON n.vid = fno.vid AND fno.field_stormnote_attached_list = 1 AND fno.delta = 0 - WHERE n.status=1 AND n.type='stormnote'"; - $where = array(); $args = array(); $filterfields = array(); - if (isset($_SESSION['stormnote_list_filter']['organization_nid']) && $_SESSION['stormnote_list_filter']['organization_nid'] != 0) { + $s = "SELECT n.*, sno.*, nre.format, fno.field_stormnote_attached_list AS clip FROM {node} AS n + INNER JOIN {stormnote} AS sno ON n.vid=sno.vid + INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid + LEFT JOIN {content_field_stormnote_attached} AS fno ON n.vid = fno.vid AND fno.field_stormnote_attached_list = 1 AND fno.delta = 0 + WHERE n.status=1 AND n.type='stormnote'"; + + if (_storm_isset_filter_param('note', 'organization_nid', 0)) { $where[] = 'sno.organization_nid=%d'; $args[] = $_SESSION['stormnote_list_filter']['organization_nid']; $filterfields[] = t('Organization'); } - if (isset($_SESSION['stormnote_list_filter']['project_nid']) && $_SESSION['stormnote_list_filter']['project_nid'] != 0) { + if (_storm_isset_filter_param('note', 'project_nid', 0)) { $where[] = 'sno.project_nid=%d'; $args[] = $_SESSION['stormnote_list_filter']['project_nid']; $filterfields[] = t('Project'); } - if (isset($_SESSION['stormnote_list_filter']['task_nid']) && $_SESSION['stormnote_list_filter']['task_nid'] != 0) { + if (_storm_isset_filter_param('note', 'task_nid', 0)) { $where[] = 'sno.task_nid=%d'; $args[] = $_SESSION['stormnote_list_filter']['task_nid']; $filterfields[] = t('Task'); } - if (isset($_SESSION['stormnote_list_filter']['title']) && $_SESSION['stormnote_list_filter']['title'] != '') { + + if (_storm_isset_filter_param('note', 'title', '')) { $where[] = "LOWER(n.title) LIKE CONCAT('%', LOWER('%s'), '%')"; $args[] = $_SESSION['stormnote_list_filter']['title']; $filterfields[] = t('Title'); } - // This section only provides the value for the fieldset label, doesn't control actual filter - $itemsperpage = isset($_SESSION['stormnote_list_filter']['itemsperpage']) ? $_SESSION['stormnote_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); + $itemsperpage = _storm_get_filter_param('note', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); if (count($filterfields) == 0) { $filterdesc = t('Not filtered'); @@ -135,13 +130,14 @@ function stormnote_list() { } function stormnote_list_filter(&$form_state, $filterdesc = 'Filter') { - $organization_nid = isset($_SESSION['stormnote_list_filter']['organization_nid']) ? $_SESSION['stormnote_list_filter']['organization_nid'] : 0; - $project_nid = isset($_SESSION['stormnote_list_filter']['project_nid']) ? $_SESSION['stormnote_list_filter']['project_nid'] : 0; - $task_nid = isset($_SESSION['stormnote_list_filter']['task_nid']) ? $_SESSION['stormnote_list_filter']['task_nid'] : 0; - $title = isset($_SESSION['stormnote_list_filter']['title']) ? $_SESSION['stormnote_list_filter']['title'] : ''; + $organization_nid = _storm_get_filter_param('note', 'organization_nid', 0); + $project_nid = _storm_get_filter_param('note', 'project_nid', 0); + $task_nid = _storm_get_filter_param('note', 'task_nid', 0); + + $title = _storm_get_filter_param('note', 'title', ''); + + $itemsperpage = _storm_get_filter_param('note', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); - $itemsperpage = isset($_SESSION['stormnote_list_filter']['itemsperpage']) ? $_SESSION['stormnote_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); - $_SESSION['stormnote_list_filter']['itemsperpage'] = $itemsperpage; $form = array(); diff --git a/modules/storm/stormorganization/stormorganization.admin.inc b/modules/storm/stormorganization/stormorganization.admin.inc index 3e6ad00..d02ec82 100644 --- a/modules/storm/stormorganization/stormorganization.admin.inc +++ b/modules/storm/stormorganization/stormorganization.admin.inc @@ -11,7 +11,7 @@ function stormorganization_list() { if (array_key_exists('name', $_GET)) { if ($_SESSION['stormorganization_list_filter']['name'] != $_GET['name']) { - $_SESSION['stormorganization_list_filter']['name'] = $_GET['name']; + _storm_set_filter_param('organization', 'name', $_GET['name']); } } @@ -35,63 +35,56 @@ function stormorganization_list() { ), ); + $where = array(); + $args = array(); + $filterfields = array(); + $s = "SELECT n.*, sor.*, nre.format FROM {node} AS n INNER JOIN {stormorganization} AS sor ON n.vid=sor.vid INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid WHERE n.status=1 AND n.type='stormorganization'"; - $where = array(); - $args = array(); - $filterfields = array(); - - $country = isset($_SESSION['stormorganization_list_filter']['country']) ? $_SESSION['stormorganization_list_filter']['country'] : '-'; - if ($country != '-') { + if (_storm_isset_filter_param('organization', 'country', '-')) { $where[] = "sor.country='%s'"; $args[] = $_SESSION['stormorganization_list_filter']['country']; $filterfields[] = t('Country'); } - if (isset($_SESSION['stormorganization_list_filter']['name']) && $_SESSION['stormorganization_list_filter']['name'] != '') { + if (_storm_isset_filter_param('organization', 'name', '')) { $where[] = "LOWER(n.title) LIKE LOWER('%s')"; $args[] = $_SESSION['stormorganization_list_filter']['name']; $filterfields[] = t('Name'); } - $iscustomer = isset($_SESSION['stormorganization_list_filter']['iscustomer']) ? $_SESSION['stormorganization_list_filter']['iscustomer'] : '-'; - if ($iscustomer != '-') { - if ($iscustomer == 'yes') { + if (_storm_isset_filter_param('organization', 'iscustomer', NULL, '-')) { + if ($_SESSION['stormorganization_list_filter']['iscustomer'] == 'yes') { $where[] = "sor.iscustomer=1"; } - elseif ($iscustomer == 'no') { + elseif ($_SESSION['stormorganization_list_filter']['iscustomer'] == 'no') { $where[] = "sor.iscustomer=0"; } $filterfields[] = t('Customer'); } - - $isprovider = isset($_SESSION['stormorganization_list_filter']['isprovider']) ? $_SESSION['stormorganization_list_filter']['isprovider'] : '-'; - if ($isprovider != '-') { - if ($isprovider == 'yes') { + if (_storm_isset_filter_param('organization', 'isprovider', NULL, '-')) { + if ($_SESSION['stormorganization_list_filter']['isprovider'] == 'yes') { $where[] = "sor.isprovider=1"; } - elseif ($isprovider == 'no') { + elseif ($_SESSION['stormorganization_list_filter']['isprovider'] == 'no') { $where[] = "sor.isprovider=0"; } $filterfields[] = t('Provider'); } - - $isactive = isset($_SESSION['stormorganization_list_filter']['isactive']) ? $_SESSION['stormorganization_list_filter']['isactive'] : '-'; - if ($isactive != '-') { - if ($isactive == 'yes') { + if (_storm_isset_filter_param('organization', 'isactive', 'yes', '-')) { + if ($_SESSION['stormorganization_list_filter']['isactive'] == 'yes') { $where[] = "sor.isactive=1"; } - elseif ($isactive == 'no') { + elseif ($_SESSION['stormorganization_list_filter']['isactive'] == 'no') { $where[] = "sor.isactive=0"; } $filterfields[] = t('Active'); } - // Sets value for fieldset label, does not affect filter itself. - $itemsperpage = isset($_SESSION['stormorganization_list_filter']['itemsperpage']) ? $_SESSION['stormorganization_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); + $itemsperpage = _storm_get_filter_param('organization', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); if (count($filterfields) == 0) { $filterdesc = t('Not filtered'); @@ -120,18 +113,16 @@ function stormorganization_list() { function stormorganization_list_filter(&$form_state, $filterdesc = 'Filter') { $country_list = storm_attributes_bydomain('Country'); - $country = isset($_SESSION['stormorganization_list_filter']['country']) ? $_SESSION['stormorganization_list_filter']['country'] : '-'; - $_SESSION['stormorganization_list_filter']['country'] = $country; + $country = _storm_get_filter_param('organization', 'country', '-'); - $name = isset($_SESSION['stormorganization_list_filter']['name']) ? $_SESSION['stormorganization_list_filter']['name'] : ''; - $iscustomer = isset($_SESSION['stormorganization_list_filter']['iscustomer']) ? $_SESSION['stormorganization_list_filter']['iscustomer'] : NULL; - $isprovider = isset($_SESSION['stormorganization_list_filter']['isprovider']) ? $_SESSION['stormorganization_list_filter']['isprovider'] : NULL; + $name = _storm_get_filter_param('organization', 'name', ''); - $isactive = isset($_SESSION['stormorganization_list_filter']['isactive']) ? $_SESSION['stormorganization_list_filter']['isactive'] : 'yes'; - $_SESSION['stormorganization_list_filter']['isactive'] = $isactive; + $iscustomer = _storm_get_filter_param('organization', 'iscustomer'); + $isprovider = _storm_get_filter_param('organization', 'isprovider'); + $isactive = _storm_get_filter_param('organization', 'isactive', 'yes'); + + $itemsperpage = _storm_get_filter_param('organization', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); - $itemsperpage = isset($_SESSION['stormorganization_list_filter']['itemsperpage']) ? $_SESSION['stormorganization_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); - $_SESSION['stormorganization_list_filter']['itemsperpage'] = $itemsperpage; $form = array(); diff --git a/modules/storm/stormperson/stormperson.admin.inc b/modules/storm/stormperson/stormperson.admin.inc index bfdc35e..f427de4 100644 --- a/modules/storm/stormperson/stormperson.admin.inc +++ b/modules/storm/stormperson/stormperson.admin.inc @@ -11,19 +11,16 @@ function stormperson_list() { if (array_key_exists('organization_nid', $_GET)) { if ($_SESSION['stormperson_list_filter']['organization_nid'] != $_GET['organization_nid']) { - $_SESSION['stormperson_list_filter']['organization_nid'] = $_GET['organization_nid']; + _storm_set_filter_param('person', 'organization_nid', $_GET['organization_nid']); } if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') { - $_SESSION['stormperson_list_filter']['name'] = ''; + _storm_set_filter_param('person', 'name', ''); } } $i = new stdClass(); $i->type = 'stormperson'; - $params = $_GET; - $params['organization_nid'] = isset($_SESSION['stormperson_list_filter']['organization_nid']) ? $_SESSION['stormperson_list_filter']['organization_nid'] : NULL; - $header = array( array( 'data' => t('Organization'), @@ -38,7 +35,7 @@ function stormperson_list() { 'field' => 'spe.email', ), array( - 'data' => storm_icon_add_node($i, $params), + 'data' => storm_icon_add_node($i, $_GET), 'class' => 'storm_list_operations', ), ); @@ -47,23 +44,24 @@ function stormperson_list() { $args = array(); $filterfields = array(); - $s = "SELECT n.*, spe.*, nre.format FROM {node} AS n + $s = "SELECT n.*, spe.*, nre.format FROM {node} AS n INNER JOIN {stormperson} AS spe ON n.vid=spe.vid INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid WHERE n.status=1 AND n.type='stormperson' "; - if (isset($_SESSION['stormperson_list_filter']['organization_nid']) && $_SESSION['stormperson_list_filter']['organization_nid'] != 0) { + + if (_storm_isset_filter_param('person', 'organization_nid', 0)) { $where[] = 'spe.organization_nid=%d'; $args[] = $_SESSION['stormperson_list_filter']['organization_nid']; $filterfields[] = t('Organization'); } - if (isset($_SESSION['stormperson_list_filter']['name']) && $_SESSION['stormperson_list_filter']['name'] != '') { + + if (_storm_isset_filter_param('person', 'name', '')) { $where[] = "LOWER(n.title) LIKE LOWER('%%%s%%')"; $args[] = $_SESSION['stormperson_list_filter']['name']; $filterfields[] = t('Name'); } - // Sets $itemsperpage for fieldset label, but this section does not control storing of session variable. - $itemsperpage = isset($_SESSION['stormperson_list_filter']['itemsperpage']) ? $_SESSION['stormperson_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); + $itemsperpage = _storm_get_filter_param('person', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); if (count($filterfields) == 0) { $filterdesc = t('Not filtered'); @@ -92,11 +90,11 @@ function stormperson_list() { } function stormperson_list_filter(&$form_state, $filterdesc = 'Filter') { - $organization_nid = isset($_SESSION['stormperson_list_filter']['organization_nid']) ? $_SESSION['stormperson_list_filter']['organization_nid'] : 0; - $name = isset($_SESSION['stormperson_list_filter']['name']) ? $_SESSION['stormperson_list_filter']['name'] : ''; + $organization_nid = _storm_get_filter_param('person', 'organization_nid', 0); + $name = _storm_get_filter_param('person', 'name', ''); + + $itemsperpage = _storm_get_filter_param('person', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); - $itemsperpage = isset($_SESSION['stormperson_list_filter']['itemsperpage']) ? $_SESSION['stormperson_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); - $_SESSION['stormperson_list_filter']['itemsperpage'] = $itemsperpage; $form = array(); diff --git a/modules/storm/stormproject/stormproject.admin.inc b/modules/storm/stormproject/stormproject.admin.inc index 43f3e34..6b73fc2 100644 --- a/modules/storm/stormproject/stormproject.admin.inc +++ b/modules/storm/stormproject/stormproject.admin.inc @@ -5,27 +5,30 @@ */ function stormproject_list() { + global $user; + $breadcrumb = array(); $breadcrumb[] = l(t('Home'), ''); drupal_set_breadcrumb($breadcrumb); if (array_key_exists('organization_nid', $_GET)) { if ($_SESSION['stormproject_list_filter']['organization_nid'] != $_GET['organization_nid']) { - $_SESSION['stormproject_list_filter']['organization_nid'] = $_GET['organization_nid']; + _storm_set_filter_param('project', 'organization_nid', $_GET['organization_nid']); } if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') { - $_SESSION['stormproject_list_filter']['projectcategory'] = '-'; - $_SESSION['stormproject_list_filter']['projectstatus'] = '-'; - $_SESSION['stormproject_list_filter']['projectpriority'] = '-'; + _storm_set_filter_param('project', 'projectcategory', '-'); + _storm_set_filter_param('project', 'projectstatus', '-'); + _storm_set_filter_param('project', 'projectpriority', '-'); - unset($_SESSION['stormproject_list_filter']['datebeginfrom']); - unset($_SESSION['stormproject_list_filter']['datebeginto']); - unset($_SESSION['stormproject_list_filter']['dateendfrom']); - unset($_SESSION['stormproject_list_filter']['dateendto']); - unset($_SESSION['stormproject_list_filter']['assigned_to']); + _storm_set_filter_param('project', 'datebeginfrom'); + _storm_set_filter_param('project', 'datebeginto'); + _storm_set_filter_param('project', 'dateendfrom'); + _storm_set_filter_param('project', 'dateendto'); - $_SESSION['stormproject_list_filter']['billable'] = '-'; - $_SESSION['stormproject_list_filter']['billed'] = '-'; + _storm_set_filter_param('project', 'assigned_to'); + + _storm_set_filter_param('project', 'billable', '-'); + _storm_set_filter_param('project', 'billed', '-'); } } @@ -70,37 +73,35 @@ function stormproject_list() { ), ); - $s = "SELECT n.*, spr.*, nre.format FROM {node} AS n - INNER JOIN {stormproject} AS spr ON n.vid=spr.vid - INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid - WHERE n.status=1 AND n.type='stormproject'"; - $where = array(); $args = array(); $filterfields = array(); - if (isset($_SESSION['stormproject_list_filter']['organization_nid']) && ($_SESSION['stormproject_list_filter']['organization_nid'] != 0)) { + $s = "SELECT n.*, spr.*, nre.format FROM {node} AS n + INNER JOIN {stormproject} AS spr ON n.vid=spr.vid + INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid + WHERE n.status=1 AND n.type='stormproject'"; + + if (_storm_isset_filter_param('project', 'organization_nid', 0)) { $where[] = 'spr.organization_nid=%d'; $args[] = $_SESSION['stormproject_list_filter']['organization_nid']; $filterfields[] = t('Organization'); } - $category_list = storm_attributes_bydomain('project category search'); - $projectcategory = isset($_SESSION['stormproject_list_filter']['projectcategory']) ? $_SESSION['stormproject_list_filter']['projectcategory'] : $category_list['default']; - $_SESSION['stormproject_list_filter']['projectcategory'] = $projectcategory; - - if ($projectcategory != '-') { - $where[] = "spr.projectcategory='%s'"; - $args[] = $projectcategory; + $category_list = storm_attributes_bydomain('Project category search'); + if (_storm_isset_filter_param('project', 'projectcategory', $category_list['default'], '-')) { + $category = split(',', $_SESSION['stormproject_list_filter']['projectcategory']); + $v = array(); + foreach ($category as $item) $v[] = '%s'; + $where[] = "spr.projectcategory IN ('". implode("','", $v) ."')"; + foreach ($category as $key => $value) { + $args[] = $value; + } $filterfields[] = t('Category'); } - - $status_list = storm_attributes_bydomain('project status search'); - $projectstatus = isset($_SESSION['stormproject_list_filter']['projectstatus']) ? $_SESSION['stormproject_list_filter']['projectstatus'] : $status_list['default']; - $_SESSION['stormproject_list_filter']['projectstatus'] = $projectstatus; - - if ($projectstatus != '-') { - $status = split(',', $projectstatus); + $status_list = storm_attributes_bydomain('Project status search'); + if (_storm_isset_filter_param('project', 'projectstatus', $status_list['default'], '-')) { + $status = split(',', $_SESSION['stormproject_list_filter']['projectstatus']); $v = array(); foreach ($status as $item) $v[] = '%s'; $where[] = "spr.projectstatus IN ('". implode("','", $v) ."')"; @@ -109,18 +110,19 @@ function stormproject_list() { } $filterfields[] = t('Status'); } - - $priority_list = storm_attributes_bydomain('project priority search'); - $projectpriority = isset($_SESSION['stormproject_list_filter']['projectpriority']) ? $_SESSION['stormproject_list_filter']['projectpriority'] : $priority_list['default']; - $_SESSION['stormproject_list_filter']['projectpriority'] = $projectpriority; - - if ($projectpriority != '-') { - $where[] = "spr.projectpriority='%s'"; - $args[] = $projectpriority; + $priority_list = storm_attributes_bydomain('Project priority search'); + if (_storm_isset_filter_param('project', 'projectpriority', $priority_list['default'], '-')) { + $priority = split(',', $_SESSION['stormproject_list_filter']['projectpriority']); + $v = array(); + foreach ($priority as $item) $v[] = '%s'; + $where[] = "spr.projectpriority IN ('". implode("','", $v) ."')"; + foreach ($priority as $key => $value) { + $args[] = $value; + } $filterfields[] = t('Priority'); } - if (isset($_SESSION['stormproject_list_filter']['datebeginfrom'])) { + if (_storm_isset_filter_param('project', 'datebeginfrom')) { $datebeginfrom = $_SESSION['stormproject_list_filter']['datebeginfrom']; $datebeginfrom['hour'] = 0; $datebeginfrom['minute'] = 0; @@ -131,8 +133,7 @@ function stormproject_list() { $filterfields[] = t('Date'); } } - - if (isset($_SESSION['stormproject_list_filter']['datebeginto'])) { + if (_storm_isset_filter_param('project', 'datebeginto')) { $datebeginto = $_SESSION['stormproject_list_filter']['datebeginto']; $datebeginto['hour'] = 23; $datebeginto['minute'] = 59; @@ -143,8 +144,7 @@ function stormproject_list() { $filterfields[] = t('Date'); } } - - if (isset($_SESSION['stormproject_list_filter']['dateendfrom'])) { + if (_storm_isset_filter_param('project', 'dateendfrom')) { $dateendfrom = $_SESSION['stormproject_list_filter']['dateendfrom']; $dateendfrom['hour'] = 0; $dateendfrom['minute'] = 0; @@ -155,8 +155,7 @@ function stormproject_list() { $filterfields[] = t('Date'); } } - - if (isset($_SESSION['stormproject_list_filter']['dateendto'])) { + if (_storm_isset_filter_param('project', 'dateendto')) { $dateendto = $_SESSION['stormproject_list_filter']['dateendto']; $dateendto['hour'] = 23; $dateendto['minute'] = 59; @@ -168,21 +167,25 @@ function stormproject_list() { } } - if (isset($_SESSION['stormproject_list_filter']['assigned_to'])) { + if (_storm_isset_filter_param('project', 'assigned_to')) { if (!is_numeric($_SESSION['stormproject_list_filter']['assigned_to'])) { switch ($_SESSION['stormproject_list_filter']['assigned_to']) { + case 'all': // NO FILTER break; + case 'mine': // CURRENT USER if (!empty($user->stormperson_nid) && is_numeric($user->stormperson_nid)) { $assigned_to_nid = $user->stormperson_nid; } break; + case 'none': $where[] = '(spr.assigned_nid IS NULL OR spr.assigned_nid = 0) '; break; + } } else { @@ -195,19 +198,18 @@ function stormproject_list() { } } - if (isset($_SESSION['stormproject_list_filter']['billable']) && $_SESSION['stormproject_list_filter']['billable'] != '-') { + if (_storm_isset_filter_param('project', 'billable', '-')) { $where[] = 'spr.billable=%d'; $args[] = $_SESSION['stormproject_list_filter']['billable']; $filterfields[] = t('Billable'); } - - if (isset($_SESSION['stormproject_list_filter']['billed']) && $_SESSION['stormproject_list_filter']['billed'] != '-') { + if (_storm_isset_filter_param('project', 'billed', '-')) { $where[] = 'spr.billed=%d'; $args[] = $_SESSION['stormproject_list_filter']['billed']; $filterfields[] = t('Billed'); } - $itemsperpage = isset($_SESSION['stormproject_list_filter']['itemsperpage']) ? $_SESSION['stormproject_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); + $itemsperpage = _storm_get_filter_param('project', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); if (count($filterfields) == 0) { $filterdesc = t('Not filtered'); @@ -236,26 +238,29 @@ function stormproject_list() { } function stormproject_list_filter(&$form_state, $filterdesc = 'Filter') { - $organization_nid = isset($_SESSION['stormproject_list_filter']['organization_nid']) ? $_SESSION['stormproject_list_filter']['organization_nid'] : 0; + $organization_nid = _storm_get_filter_param('project', 'organization_nid', 0); - $category_list = storm_attributes_bydomain('project category search'); - $projectcategory = isset($_SESSION['stormproject_list_filter']['projectcategory']) ? $_SESSION['stormproject_list_filter']['projectcategory'] : $category_list['default']; + $category_list = storm_attributes_bydomain('Project category search'); + $projectcategory = _storm_get_filter_param('project', 'projectcategory', $category_list['default']); - $status_list = storm_attributes_bydomain('project status search'); - $projectstatus = isset($_SESSION['stormproject_list_filter']['projectstatus']) ? $_SESSION['stormproject_list_filter']['projectstatus'] : $status_list['default']; + $status_list = storm_attributes_bydomain('Project status search'); + $projectstatus = _storm_get_filter_param('project', 'projectstatus', $status_list['default']); - $priority_list = storm_attributes_bydomain('project priority search'); - $projectpriority = isset($_SESSION['stormproject_list_filter']['projectpriority']) ? $_SESSION['stormproject_list_filter']['projectpriority'] : $priority_list['default']; + $priority_list = storm_attributes_bydomain('Project priority search'); + $projectpriority = _storm_get_filter_param('project', 'projectpriority', $priority_list['default']); - $datebeginfrom = isset($_SESSION['stormproject_list_filter']['datebeginfrom']) ? $_SESSION['stormproject_list_filter']['datebeginfrom'] : NULL; - $datebeginto = isset($_SESSION['stormproject_list_filter']['datebeginto']) ? $_SESSION['stormproject_list_filter']['datebeginto'] : NULL; - $dateendfrom = isset($_SESSION['stormproject_list_filter']['dateendfrom']) ? $_SESSION['stormproject_list_filter']['dateendfrom'] : NULL; - $dateendto = isset($_SESSION['stormproject_list_filter']['dateendto']) ? $_SESSION['stormproject_list_filter']['dateendto'] : NULL; + $datebeginfrom = _storm_get_filter_param('project', 'datebeginfrom'); + $datebeginto = _storm_get_filter_param('project', 'datebeginto'); + $dateendfrom = _storm_get_filter_param('project', 'dateendfrom'); + $dateendto = _storm_get_filter_param('project', 'dateendto'); - $assigned_to = isset($_SESSION['stormproject_list_filter']['assigned_to']) ? $_SESSION['stormproject_list_filter']['assigned_to'] : NULL; + $assigned_to = _storm_get_filter_param('project', 'assigned_to'); + + $billable = _storm_get_filter_param('project', 'billable', '-'); + $billed = _storm_get_filter_param('project', 'billed', '-'); + + $itemsperpage = _storm_get_filter_param('project', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); - $itemsperpage = isset($_SESSION['stormproject_list_filter']['itemsperpage']) ? $_SESSION['stormproject_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); - $_SESSION['stormproject_list_filter']['itemsperpage'] = $itemsperpage; $form = array(); @@ -275,11 +280,12 @@ function stormproject_list_filter(&$form_state, $filterdesc = 'Filter') { while ($organization = db_fetch_object($r)) { $organizations[$organization->nid] = $organization->title; } + $organizations = array(0 => t('All')) + $organizations; $form['filter']['organization_nid'] = array( '#type' => 'select', '#title' => t('Organization'), '#default_value' => $organization_nid, - '#options' => array(0 => t('All')) + $organizations, + '#options' => $organizations, ); $form['filter']['group1'] = array( @@ -364,14 +370,14 @@ function stormproject_list_filter(&$form_state, $filterdesc = 'Filter') { '#type' => 'select', '#title' => t('Billable'), '#options' => array('-' => t('all'), '1' => t('billable'), '0' => t('not billable')), - '#default_value' => isset($_SESSION['stormproject_list_filter']['billable']) ? $_SESSION['stormproject_list_filter']['billable'] : '-', + '#default_value' => $billable, ); $form['filter']['group4']['billed'] = array( '#type' => 'select', '#title' => t('Billed'), '#options' => array('-' => t('all'), '1' => t('billed'), '0' => t('not billed')), - '#default_value' => isset($_SESSION['stormproject_list_filter']['billed']) ? $_SESSION['stormproject_list_filter']['billed'] : '-', + '#default_value' => $billed, ); $form['filter']['group5'] = array( diff --git a/modules/storm/stormtask/stormtask.admin.inc b/modules/storm/stormtask/stormtask.admin.inc index 02d0c8d..59a793d 100644 --- a/modules/storm/stormtask/stormtask.admin.inc +++ b/modules/storm/stormtask/stormtask.admin.inc @@ -511,7 +511,6 @@ function _stormtask_project_assignments_js($organization_nid, $project_nid) { } function stormtask_list() { - global $user; $breadcrumb = array(); @@ -520,30 +519,31 @@ function stormtask_list() { if (array_key_exists('organization_nid', $_GET)) { if ($_SESSION['stormtask_list_filter']['organization_nid'] != $_GET['organization_nid']) { - $_SESSION['stormtask_list_filter']['organization_nid'] = $_GET['organization_nid']; + _storm_set_filter_param('task', 'organization_nid', $_GET['organization_nid']); } - unset($_SESSION['stormtask_list_filter']['project_nid']); + _storm_set_filter_param('task', 'project_nid'); } if (array_key_exists('project_nid', $_GET)) { if ($_SESSION['stormtask_list_filter']['project_nid'] != $_GET['project_nid']) { - $_SESSION['stormtask_list_filter']['project_nid'] = $_GET['project_nid']; + _storm_set_filter_param('task', 'project_nid', $_GET['project_nid']); } $p = node_load($_GET['project_nid']); - $_SESSION['stormtask_list_filter']['organization_nid'] = $p->organization_nid; + _storm_set_filter_param('task', 'organization_nid', $p->organization_nid); } if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') { - $_SESSION['stormtask_list_filter']['taskcategory'] = '-'; - $_SESSION['stormtask_list_filter']['taskstatus'] = '-'; - $_SESSION['stormtask_list_filter']['taskpriority'] = '-'; + _storm_set_filter_param('task', 'taskcategory', '-'); + _storm_set_filter_param('task', 'taskstatus', '-'); + _storm_set_filter_param('task', 'taskpriority', '-'); - unset($_SESSION['stormtask_list_filter']['datebeginfrom']); - unset($_SESSION['stormtask_list_filter']['datebeginto']); - unset($_SESSION['stormtask_list_filter']['dateendfrom']); - unset($_SESSION['stormtask_list_filter']['dateendto']); - unset($_SESSION['stormtask_list_filter']['assigned_to']); + _storm_set_filter_param('task', 'datebeginfrom'); + _storm_set_filter_param('task', 'datebeginto'); + _storm_set_filter_param('task', 'dateendfrom'); + _storm_set_filter_param('task', 'dateendto'); - $_SESSION['stormtask_list_filter']['billable'] = '-'; - $_SESSION['stormtask_list_filter']['billed'] = '-'; + _storm_set_filter_param('task', 'assigned_to'); + + _storm_set_filter_param('task', 'billable', '-'); + _storm_set_filter_param('task', 'billed', '-'); } $i = new stdClass(); @@ -591,24 +591,26 @@ function stormtask_list() { $args = array(); $filterfields = array(); - $s = "SELECT n.*, sta.*, nre.format, fta.field_stormtask_attached_list AS clip, ncs.comment_count FROM {node} AS n + $s = "SELECT n.*, sta.*, nre.format, fta.field_stormtask_attached_list AS clip, ncs.comment_count FROM {node} AS n INNER JOIN {stormtask} AS sta ON n.vid=sta.vid INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid LEFT JOIN {content_field_stormtask_attached} AS fta ON n.vid = fta.vid AND fta.field_stormtask_attached_list = 1 AND fta.delta = 0 LEFT JOIN {node_comment_statistics} AS ncs ON n.nid = ncs.nid WHERE n.status=1 AND n.type='stormtask' "; - if (isset($_SESSION['stormtask_list_filter']['organization_nid']) && ($_SESSION['stormtask_list_filter']['organization_nid'] != 0)) { + if (_storm_isset_filter_param('task', 'organization_nid', 0)) { $where[] = 'sta.organization_nid=%d'; $args[] = $_SESSION['stormtask_list_filter']['organization_nid']; $filterfields[] = t('Organization'); } - if (isset($_SESSION['stormtask_list_filter']['project_nid']) && ($_SESSION['stormtask_list_filter']['project_nid'] != 0)) { + if (_storm_isset_filter_param('task', 'project_nid', 0)) { $where[] = 'sta.project_nid=%d'; $args[] = $_SESSION['stormtask_list_filter']['project_nid']; $filterfields[] = t('Project'); } - if (isset($_SESSION['stormtask_list_filter']['taskcategory']) && $_SESSION['stormtask_list_filter']['taskcategory'] != '-') { + + $category_list = storm_attributes_bydomain('Task category search'); + if (_storm_isset_filter_param('task', 'taskcategory', $category_list['default'], '-')) { $category = split(',', $_SESSION['stormtask_list_filter']['taskcategory']); $v = array(); foreach ($category as $item) $v[] = '%s'; @@ -618,7 +620,8 @@ function stormtask_list() { } $filterfields[] = t('Category'); } - if (isset($_SESSION['stormtask_list_filter']['taskstatus']) && $_SESSION['stormtask_list_filter']['taskstatus'] != '-') { + $status_list = storm_attributes_bydomain('Task status search'); + if (_storm_isset_filter_param('task', 'taskstatus', $status_list['default'], '-')) { $status = split(',', $_SESSION['stormtask_list_filter']['taskstatus']); $v = array(); foreach ($status as $item) $v[] = '%s'; @@ -628,7 +631,8 @@ function stormtask_list() { } $filterfields[] = t('Status'); } - if (isset($_SESSION['stormtask_list_filter']['taskpriority']) && $_SESSION['stormtask_list_filter']['taskpriority'] != '-') { + $priority_list = storm_attributes_bydomain('Task priority search'); + if (_storm_isset_filter_param('task', 'taskpriority', $priority_list['default'], '-')) { $priority = split(',', $_SESSION['stormtask_list_filter']['taskpriority']); $v = array(); foreach ($priority as $item) $v[] = '%s'; @@ -639,7 +643,7 @@ function stormtask_list() { $filterfields[] = t('Priority'); } - if (isset($_SESSION['stormtask_list_filter']['datebeginfrom'])) { + if (_storm_isset_filter_param('task', 'datebeginfrom')) { $datebeginfrom = $_SESSION['stormtask_list_filter']['datebeginfrom']; $datebeginfrom['hour'] = 0; $datebeginfrom['minute'] = 0; @@ -650,8 +654,7 @@ function stormtask_list() { $filterfields[] = t('Date'); } } - - if (isset($_SESSION['stormtask_list_filter']['datebeginto'])) { + if (_storm_isset_filter_param('task', 'datebeginto')) { $datebeginto = $_SESSION['stormtask_list_filter']['datebeginto']; $datebeginto['hour'] = 23; $datebeginto['minute'] = 59; @@ -662,8 +665,7 @@ function stormtask_list() { $filterfields[] = t('Date'); } } - - if (isset($_SESSION['stormtask_list_filter']['dateendfrom'])) { + if (_storm_isset_filter_param('task', 'dateendfrom')) { $dateendfrom = $_SESSION['stormtask_list_filter']['dateendfrom']; $dateendfrom['hour'] = 0; $dateendfrom['minute'] = 0; @@ -674,8 +676,7 @@ function stormtask_list() { $filterfields[] = t('Date'); } } - - if (isset($_SESSION['stormtask_list_filter']['dateendto'])) { + if (_storm_isset_filter_param('task', 'dateendto')) { $dateendto = $_SESSION['stormtask_list_filter']['dateendto']; $dateendto['hour'] = 23; $dateendto['minute'] = 59; @@ -687,7 +688,7 @@ function stormtask_list() { } } - if (isset($_SESSION['stormtask_list_filter']['assigned_to'])) { + if (_storm_isset_filter_param('task', 'assigned_to')) { if (!is_numeric($_SESSION['stormtask_list_filter']['assigned_to'])) { switch ($_SESSION['stormtask_list_filter']['assigned_to']) { @@ -718,19 +719,18 @@ function stormtask_list() { } } - if (isset($_SESSION['stormtask_list_filter']['billable']) && $_SESSION['stormtask_list_filter']['billable'] != '-') { + if (_storm_isset_filter_param('task', 'billable', '-')) { $where[] = 'sta.billable=%d'; $args[] = $_SESSION['stormtask_list_filter']['billable']; $filterfields[] = t('Billable'); } - - if (isset($_SESSION['stormtask_list_filter']['billed']) && $_SESSION['stormtask_list_filter']['billed'] != '-') { + if (_storm_isset_filter_param('task', 'billed', '-')) { $where[] = 'sta.billed=%d'; $args[] = $_SESSION['stormtask_list_filter']['billed']; $filterfields[] = t('Billed'); } - $itemsperpage = isset($_SESSION['stormtask_list_filter']['itemsperpage']) ? $_SESSION['stormtask_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); + $itemsperpage = _storm_get_filter_param('task', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); if (count($filterfields) == 0) { $filterdesc = t('Not filtered'); @@ -759,30 +759,30 @@ function stormtask_list() { } function stormtask_list_filter(&$form_state, $filterdesc = 'Filter') { + $organization_nid = _storm_get_filter_param('task', 'organization_nid', 0); + $project_nid = _storm_get_filter_param('task', 'project_nid', 0); + $category_list = storm_attributes_bydomain('Task category search'); - $taskcategory = isset($_SESSION['stormtask_list_filter']['taskcategory']) ? $_SESSION['stormtask_list_filter']['taskcategory'] : $taskcategory = $category_list['default']; - $_SESSION['stormtask_list_filter']['taskcategory'] = $taskcategory; + $taskcategory = _storm_get_filter_param('task', 'taskcategory', $category_list['default']); $status_list = storm_attributes_bydomain('Task status search'); - $taskstatus = isset($_SESSION['stormtask_list_filter']['taskstatus']) ? $_SESSION['stormtask_list_filter']['taskstatus'] : $status_list['default']; - $_SESSION['stormtask_list_filter']['taskstatus'] = $taskstatus; + $taskstatus = _storm_get_filter_param('task', 'taskstatus', $status_list['default']); $priority_list = storm_attributes_bydomain('Task priority search'); - $taskpriority = isset($_SESSION['stormtask_list_filter']['taskpriority']) ? $_SESSION['stormtask_list_filter']['taskpriority'] : $priority_list['default']; - $_SESSION['stormtask_list_filter']['taskpriority'] = $taskpriority; + $taskpriority = _storm_get_filter_param('task', 'taskpriority', $priority_list['default']); - $organization_nid = isset($_SESSION['stormtask_list_filter']['organization_nid']) ? $_SESSION['stormtask_list_filter']['organization_nid'] : 0; - $project_nid = isset($_SESSION['stormtask_list_filter']['project_nid']) ? $_SESSION['stormtask_list_filter']['project_nid'] : 0; + $datebeginfrom = _storm_get_filter_param('task', 'datebeginfrom'); + $datebeginto = _storm_get_filter_param('task', 'datebeginto'); + $dateendfrom = _storm_get_filter_param('task', 'dateendfrom'); + $dateendto = _storm_get_filter_param('task', 'dateendto'); - $datebeginfrom = isset($_SESSION['stormtask_list_filter']['datebeginfrom']) ? $_SESSION['stormtask_list_filter']['datebeginfrom'] : NULL; - $datebeginto = isset($_SESSION['stormtask_list_filter']['datebeginto']) ? $_SESSION['stormtask_list_filter']['datebeginto'] : NULL; - $dateendfrom = isset($_SESSION['stormtask_list_filter']['dateendfrom']) ? $_SESSION['stormtask_list_filter']['dateendfrom'] : NULL; - $dateendto = isset($_SESSION['stormtask_list_filter']['dateendto']) ? $_SESSION['stormtask_list_filter']['dateendfrom'] : NULL; + $assigned_to = _storm_get_filter_param('task', 'assigned_to'); - $assigned_to = isset($_SESSION['stormtask_list_filter']['assigned_to']) ? $_SESSION['stormtask_list_filter']['assigned_to'] : NULL; + $billable = _storm_get_filter_param('task', 'billable', '-'); + $billed = _storm_get_filter_param('task', 'billed', '-'); + + $itemsperpage = _storm_get_filter_param('task', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); - $itemsperpage = isset($_SESSION['stormtask_list_filter']['itemsperpage']) ? $_SESSION['stormtask_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); - $_SESSION['stormtask_list_filter']['itemsperpage'] = $itemsperpage; $form = array(); @@ -803,6 +803,7 @@ function stormtask_list_filter(&$form_state, $filterdesc = 'Filter') { $s = stormorganization_access_sql($s); $s = db_rewrite_sql($s); $r = db_query($s); + $organizations = array(); while ($organization = db_fetch_object($r)) { $organizations[$organization->nid] = $organization->title; @@ -916,14 +917,14 @@ function stormtask_list_filter(&$form_state, $filterdesc = 'Filter') { '#type' => 'select', '#title' => t('Billable'), '#options' => array('-' => t('all'), '1' => t('billable'), '0' => t('not billable')), - '#default_value' => isset($_SESSION['stormtask_list_filter']['billable']) ? $_SESSION['stormtask_list_filter']['billable'] : '-', + '#default_value' => $billable, ); $form['filter']['group4_1']['billed'] = array( '#type' => 'select', '#title' => t('Billed'), '#options' => array('-' => t('all'), '1' => t('billed'), '0' => t('not billed')), - '#default_value' => isset($_SESSION['stormtask_list_filter']['billed']) ? $_SESSION['stormtask_list_filter']['billed'] : '-', + '#default_value' => $billed, ); $form['filter']['group5'] = array( diff --git a/modules/storm/stormteam/stormteam.module b/modules/storm/stormteam/stormteam.module index 2f99d21..11286d2 100644 --- a/modules/storm/stormteam/stormteam.module +++ b/modules/storm/stormteam/stormteam.module @@ -493,16 +493,13 @@ function _stormteam_validate_predelete($node) { * Function to display list of SuiteDesk Teams, called from hook_menu */ function stormteam_list() { - // Add SuiteDesk generic CSS - drupal_add_css(drupal_get_path('module', 'storm') .'/storm.css', 'module'); - $breadcrumb = array(); $breadcrumb[] = l(t('Home'), ''); drupal_set_breadcrumb($breadcrumb); if (array_key_exists('name', $_GET)) { if ($_SESSION['stormteam_list_filter']['name'] != $_GET['name']) { - $_SESSION['stormteam_list_filter']['name'] = $_GET['name']; + _storm_set_filter_param('team', 'name', $_GET['name']); } } @@ -526,23 +523,23 @@ function stormteam_list() { ), ); + $where = array(); + $args = array(); + $filterfields = array(); + $s = "SELECT n.nid, n.title, n.type, nre.teaser, nre.format, n.uid FROM {node} AS n INNER JOIN {stormteam} AS ste ON n.vid = ste.vid INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid WHERE n.status=1 AND n.type='stormteam' GROUP BY n.nid"; - $where = array(); - $args = array(); - $filterfields = array(); - - if (isset($_SESSION['stormteam_list_filter']['name']) && $_SESSION['stormteam_list_filter']['name'] != '') { + if (_storm_isset_filter_param('team', 'name', '')) { $where[] = "LOWER(n.title) LIKE LOWER('%%%s%%')"; $args[] = $_SESSION['stormteam_list_filter']['name']; $filterfields[] = t('Team name'); } - $itemsperpage = isset($_SESSION['stormteam_list_filter']['itemsperpage']) ? $_SESSION['stormteam_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); + $itemsperpage = _storm_get_filter_param('team', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); if (count($filterfields) == 0) { $filterdesc = t('Not filtered'); @@ -581,10 +578,10 @@ function stormteam_list() { * Function to define form for setting SuiteDesk Team list filter. */ function stormteam_list_filter(&$form_state, $filterdesc = 'Filter') { - $name = isset($_SESSION['stormteam_list_filter']['name']) ? $_SESSION['stormteam_list_filter']['name'] : ''; + $name = _storm_get_filter_param('team', 'name', ''); + + $itemsperpage = _storm_get_filter_param('team', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); - $itemsperpage = isset($_SESSION['stormteam_list_filter']['itemsperpage']) ? $_SESSION['stormteam_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); - $_SESSION['stormteam_list_filter']['itemsperpage'] = $itemsperpage; $form = array(); diff --git a/modules/storm/stormticket/stormticket.admin.inc b/modules/storm/stormticket/stormticket.admin.inc index a340b73..235b6d0 100644 --- a/modules/storm/stormticket/stormticket.admin.inc +++ b/modules/storm/stormticket/stormticket.admin.inc @@ -5,7 +5,6 @@ */ function stormticket_list() { - global $user; $breadcrumb = array(); @@ -14,40 +13,41 @@ function stormticket_list() { if (array_key_exists('organization_nid', $_GET)) { if ($_SESSION['stormticket_list_filter']['organization_nid'] != $_GET['organization_nid']) { - $_SESSION['stormticket_list_filter']['organization_nid'] = $_GET['organization_nid']; + _storm_set_filter_param('ticket', 'organization_nid', $_GET['organization_nid']); } - unset($_SESSION['stormticket_list_filter']['project_nid']); - unset($_SESSION['stormticket_list_filter']['task_nid']); + _storm_set_filter_param('ticket', 'project_nid'); + _storm_set_filter_param('ticket', 'task_nid'); } if (array_key_exists('project_nid', $_GET)) { if ($_SESSION['stormticket_list_filter']['project_nid'] != $_GET['project_nid']) { - $_SESSION['stormticket_list_filter']['project_nid'] = $_GET['project_nid']; + _storm_set_filter_param('ticket', 'project_nid', $_GET['project_nid']); } $p = node_load($_GET['project_nid']); - $_SESSION['stormticket_list_filter']['organization_nid'] = $p->organization_nid; - unset($_SESSION['stormticket_list_filter']['task_nid']); + _storm_set_filter_param('ticket', 'organization_nid', $p->organization_nid); + _storm_set_filter_param('ticket', 'task_nid'); } if (array_key_exists('task_nid', $_GET)) { if ($_SESSION['stormticket_list_filter']['task_nid'] != $_GET['task_nid']) { - $_SESSION['stormticket_list_filter']['task_nid'] = $_GET['task_nid']; + _storm_set_filter_param('ticket', 'task_nid', $_GET['task_nid']); } $t = node_load($_GET['task_nid']); - $_SESSION['stormticket_list_filter']['organization_nid'] = $t->organization_nid; - $_SESSION['stormticket_list_filter']['project_nid'] = $t->project_nid; + _storm_set_filter_param('ticket', 'organization_nid', $t->organization_nid); + _storm_set_filter_param('ticket', 'project_nid', $t->project_nid); } if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') { - $_SESSION['stormticket_list_filter']['ticketcategory'] = '-'; - $_SESSION['stormticket_list_filter']['ticketstatus'] = '-'; - $_SESSION['stormticket_list_filter']['ticketpriority'] = '-'; + _storm_set_filter_param('ticket', 'ticketcategory', '-'); + _storm_set_filter_param('ticket', 'ticketstatus', '-'); + _storm_set_filter_param('ticket', 'ticketpriority', '-'); - unset($_SESSION['stormticket_list_filter']['datebeginfrom']); - unset($_SESSION['stormticket_list_filter']['datebeginto']); - unset($_SESSION['stormticket_list_filter']['dateendfrom']); - unset($_SESSION['stormticket_list_filter']['dateendto']); - unset($_SESSION['stormticket_list_filter']['assigned_to']); + _storm_set_filter_param('ticket', 'datebeginfrom'); + _storm_set_filter_param('ticket', 'datebeginto'); + _storm_set_filter_param('ticket', 'dateendfrom'); + _storm_set_filter_param('ticket', 'dateendto'); - $_SESSION['stormticket_list_filter']['billable'] = '-'; - $_SESSION['stormticket_list_filter']['billed'] = '-'; + _storm_set_filter_param('ticket', 'assigned_to'); + + _storm_set_filter_param('ticket', 'billable', '-'); + _storm_set_filter_param('ticket', 'billed', '-'); } $i = new stdClass(); @@ -99,28 +99,25 @@ function stormticket_list() { LEFT JOIN {node_comment_statistics} AS ncs ON n.nid = ncs.nid WHERE n.status=1 AND n.type='stormticket' "; - if (isset($_SESSION['stormticket_list_filter']['organization_nid']) && ($_SESSION['stormticket_list_filter']['organization_nid'] != 0)) { + if (_storm_isset_filter_param('ticket', 'organization_nid', 0)) { $where[] = 'sti.organization_nid=%d'; $args[] = $_SESSION['stormticket_list_filter']['organization_nid']; $filterfields[] = t('Organization'); } - if (isset($_SESSION['stormticket_list_filter']['project_nid']) && ($_SESSION['stormticket_list_filter']['project_nid'] != 0)) { + if (_storm_isset_filter_param('ticket', 'project_nid', 0)) { $where[] = 'sti.project_nid=%d'; $args[] = $_SESSION['stormticket_list_filter']['project_nid']; $filterfields[] = t('Project'); } - if (isset($_SESSION['stormticket_list_filter']['task_nid']) && ($_SESSION['stormticket_list_filter']['task_nid'] != 0)) { + if (_storm_isset_filter_param('ticket', 'task_nid', 0)) { $where[] = 'sti.task_nid=%d'; $args[] = $_SESSION['stormticket_list_filter']['task_nid']; $filterfields[] = t('Task'); } - $category_list = storm_attributes_bydomain('ticket category search'); - $ticketcategory = isset($_SESSION['stormticket_list_filter']['ticketcategory']) ? $_SESSION['stormticket_list_filter']['ticketcategory'] : $category_list['default']; - $_SESSION['stormticket_list_filter']['ticketcategory'] = $ticketcategory; - - if ($ticketcategory != '-') { - $category = split(',', $ticketcategory); + $category_list = storm_attributes_bydomain('Ticket category search'); + if (_storm_isset_filter_param('ticket', 'ticketcategory', $category_list['default'], '-')) { + $category = split(',', $_SESSION['stormticket_list_filter']['ticketcategory']); $v = array(); foreach ($category as $item) $v[] = '%s'; $where[] = "sti.ticketcategory IN ('". implode("','", $v) ."')"; @@ -129,13 +126,9 @@ function stormticket_list() { } $filterfields[] = t('Category'); } - - $status_list = storm_attributes_bydomain('ticket status search'); - $ticketstatus = isset($_SESSION['stormticket_list_filter']['ticketstatus']) ? $_SESSION['stormticket_list_filter']['ticketstatus'] : $status_list['default']; - $_SESSION['stormticket_list_filter']['ticketstatus'] = $ticketstatus; - - if ($ticketstatus != '-') { - $status = split(',', $ticketstatus); + $status_list = storm_attributes_bydomain('Ticket status search'); + if (_storm_isset_filter_param('ticket', 'ticketstatus', $status_list['default'], '-')) { + $status = split(',', $_SESSION['stormticket_list_filter']['ticketstatus']); $v = array(); foreach ($status as $item) $v[] = '%s'; $where[] = "sti.ticketstatus IN ('". implode("','", $v) ."')"; @@ -144,13 +137,9 @@ function stormticket_list() { } $filterfields[] = t('Status'); } - - $priority_list = storm_attributes_bydomain('ticket priority search'); - $ticketpriority = isset($_SESSION['stormticket_list_filter']['ticketpriority']) ? $_SESSION['stormticket_list_filter']['ticketpriority'] : $priority_list['default']; - $_SESSION['stormticket_list_filter']['ticketpriority'] = $ticketpriority; - - if ($ticketpriority != '-') { - $priority = split(',', $ticketpriority); + $priority_list = storm_attributes_bydomain('Ticket priority search'); + if (_storm_isset_filter_param('ticket', 'ticketpriority', $priority_list['default'], '-')) { + $priority = split(',', $_SESSION['stormticket_list_filter']['ticketpriority']); $v = array(); foreach ($priority as $item) $v[] = '%s'; $where[] = "sti.ticketpriority IN ('". implode("','", $v) ."')"; @@ -160,7 +149,7 @@ function stormticket_list() { $filterfields[] = t('Priority'); } - if (isset($_SESSION['stormticket_list_filter']['datebeginfrom'])) { + if (_storm_isset_filter_param('ticket', 'datebeginfrom')) { $datebeginfrom = $_SESSION['stormticket_list_filter']['datebeginfrom']; $datebeginfrom['hour'] = 0; $datebeginfrom['minute'] = 0; @@ -171,8 +160,7 @@ function stormticket_list() { $filterfields[] = t('Date'); } } - - if (isset($_SESSION['stormticket_list_filter']['datebeginto'])) { + if (_storm_isset_filter_param('ticket', 'datebeginto')) { $datebeginto = $_SESSION['stormticket_list_filter']['datebeginto']; $datebeginto['hour'] = 23; $datebeginto['minute'] = 59; @@ -183,8 +171,7 @@ function stormticket_list() { $filterfields[] = t('Date'); } } - - if (isset($_SESSION['stormticket_list_filter']['dateendfrom'])) { + if (_storm_isset_filter_param('ticket', 'dateendfrom')) { $dateendfrom = $_SESSION['stormticket_list_filter']['dateendfrom']; $dateendfrom['hour'] = 0; $dateendfrom['minute'] = 0; @@ -195,8 +182,7 @@ function stormticket_list() { $filterfields[] = t('Date'); } } - - if (isset($_SESSION['stormticket_list_filter']['dateendto'])) { + if (_storm_isset_filter_param('ticket', 'dateendto')) { $dateendto = $_SESSION['stormticket_list_filter']['dateendto']; $dateendto['hour'] = 23; $dateendto['minute'] = 59; @@ -208,21 +194,25 @@ function stormticket_list() { } } - if (isset($_SESSION['stormticket_list_filter']['assigned_to'])) { + if (_storm_isset_filter_param('ticket', 'assigned_to')) { if (!is_numeric($_SESSION['stormticket_list_filter']['assigned_to'])) { switch ($_SESSION['stormticket_list_filter']['assigned_to']) { + case 'all': // NO FILTER break; + case 'mine': // CURRENT USER if (!empty($user->stormperson_nid) && is_numeric($user->stormperson_nid)) { $assigned_to_nid = $user->stormperson_nid; } break; + case 'none': $where[] = '(sti.assigned_nid IS NULL OR sti.assigned_nid = 0) '; break; + } } else { @@ -235,20 +225,18 @@ function stormticket_list() { } } - if (isset($_SESSION['stormticket_list_filter']['billable']) && $_SESSION['stormticket_list_filter']['billable'] != '-') { + if (_storm_isset_filter_param('ticket', 'billable', '-')) { $where[] = 'sti.billable=%d'; $args[] = $_SESSION['stormticket_list_filter']['billable']; $filterfields[] = t('Billable'); } - - if (isset($_SESSION['stormticket_list_filter']['billed']) && $_SESSION['stormticket_list_filter']['billed'] != '-') { + if (_storm_isset_filter_param('ticket', 'billed', '-')) { $where[] = 'sti.billed=%d'; $args[] = $_SESSION['stormticket_list_filter']['billed']; $filterfields[] = t('Billed'); } - $itemsperpage = isset($_SESSION['stormticket_list_filter']['itemsperpage']) ? $_SESSION['stormticket_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); - $_SESSION['stormticket_list_filter']['itemsperpage'] = $itemsperpage; + $itemsperpage = _storm_get_filter_param('ticket', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); if (count($filterfields)==0) { $filterdesc = t('Not filtered'); @@ -277,28 +265,31 @@ function stormticket_list() { } function stormticket_list_filter(&$form_state, $filterdesc='Filter') { - $organization_nid = isset($_SESSION['stormticket_list_filter']['organization_nid']) ? $_SESSION['stormticket_list_filter']['organization_nid'] : 0; - $project_nid = isset($_SESSION['stormticket_list_filter']['project_nid']) ? $_SESSION['stormticket_list_filter']['project_nid'] : 0; - $task_nid = isset($_SESSION['stormticket_list_filter']['task_nid']) ? $_SESSION['stormticket_list_filter']['task_nid'] : 0; + $organization_nid = _storm_get_filter_param('ticket', 'organization_nid', 0); + $project_nid = _storm_get_filter_param('ticket', 'project_nid', 0); + $task_nid = _storm_get_filter_param('ticket', 'task_nid', 0); - $category_list = storm_attributes_bydomain('ticket category search'); - $ticketcategory = isset($_SESSION['stormticket_list_filter']['ticketcategory']) ? $_SESSION['stormticket_list_filter']['ticketcategory'] : $category_list['default']; + $category_list = storm_attributes_bydomain('Ticket category search'); + $ticketcategory = _storm_get_filter_param('ticket', 'ticketcategory', $category_list['default']); - $status_list = storm_attributes_bydomain('ticket status search'); - $ticketstatus = isset($_SESSION['stormticket_list_filter']['ticketstatus']) ? $_SESSION['stormticket_list_filter']['ticketstatus'] : $status_list['default']; + $status_list = storm_attributes_bydomain('Ticket status search'); + $ticketstatus = _storm_get_filter_param('ticket', 'ticketstatus', $status_list['default']); - $priority_list = storm_attributes_bydomain('ticket priority search'); - $ticketpriority = isset($_SESSION['stormticket_list_filter']['ticketpriority']) ? $_SESSION['stormticket_list_filter']['ticketpriority'] : $priority_list['default']; + $priority_list = storm_attributes_bydomain('Ticket priority search'); + $ticketpriority = _storm_get_filter_param('ticket', 'ticketpriority', $priority_list['default']); - $itemsperpage = isset($_SESSION['stormticket_list_filter']['itemsperpage']) ? $_SESSION['stormticket_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); - $_SESSION['stormticket_list_filter']['itemsperpage'] = $itemsperpage; + $datebeginfrom = _storm_get_filter_param('ticket', 'datebeginfrom'); + $datebeginto = _storm_get_filter_param('ticket', 'datebeginto'); + $dateendfrom = _storm_get_filter_param('ticket', 'dateendfrom'); + $dateendto = _storm_get_filter_param('ticket', 'dateendto'); - $datebeginfrom = isset($_SESSION['stormticket_list_filter']['datebeginfrom']) ? $_SESSION['stormticket_list_filter']['datebeginfrom'] : NULL; - $datebeginto = isset($_SESSION['stormticket_list_filter']['datebeginto']) ? $_SESSION['stormticket_list_filter']['datebeginto'] : NULL; - $dateendfrom = isset($_SESSION['stormticket_list_filter']['dateendfrom']) ? $_SESSION['stormticket_list_filter']['dateendfrom'] : NULL; - $dateendto = isset($_SESSION['stormticket_list_filter']['dateendto']) ? $_SESSION['stormticket_list_filter']['dateendto'] : NULL; + $assigned_to = _storm_get_filter_param('ticket', 'assigned_to'); + + $billable = _storm_get_filter_param('ticket', 'billable', '-'); + $billed = _storm_get_filter_param('ticket', 'billed', '-'); + + $itemsperpage = _storm_get_filter_param('ticket', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); - $assigned_to = isset($_SESSION['stormticket_list_filter']['assigned_to']) ? $_SESSION['stormticket_list_filter']['assigned_to'] : NULL; $form = array(); @@ -450,14 +441,14 @@ function stormticket_list_filter(&$form_state, $filterdesc='Filter') { '#type' => 'select', '#title' => t('Billable'), '#options' => array('-' => t('all'), '1' => t('billable'), '0' => t('not billable')), - '#default_value' => isset($_SESSION['stormticket_list_filter']['billable']) ? $_SESSION['stormticket_list_filter']['billable'] : '-', + '#default_value' => $billable, ); $form['filter']['group4_1']['billed'] = array( '#type' => 'select', '#title' => t('Billed'), '#options' => array('-' => t('all'), '1' => t('billed'), '0' => t('not billed')), - '#default_value' => isset($_SESSION['stormticket_list_filter']['billed']) ? $_SESSION['stormticket_list_filter']['billed'] : '-', + '#default_value' => $billed, ); $form['filter']['group5'] = array( diff --git a/modules/storm/stormtimetracking/stormtimetracking.admin.inc b/modules/storm/stormtimetracking/stormtimetracking.admin.inc index 2baacca..c4ceeff 100644 --- a/modules/storm/stormtimetracking/stormtimetracking.admin.inc +++ b/modules/storm/stormtimetracking/stormtimetracking.admin.inc @@ -11,46 +11,47 @@ function stormtimetracking_list() { if (array_key_exists('organization_nid', $_GET)) { if ($_SESSION['stormtimetracking_list_filter']['organization_nid'] != $_GET['organization_nid']) { - $_SESSION['stormtimetracking_list_filter']['organization_nid'] = $_GET['organization_nid']; + _storm_set_filter_param('timetracking', 'organization_nid', $_GET['organization_nid']); } - unset($_SESSION['stormtimetracking_list_filter']['project_nid']); - unset($_SESSION['stormtimetracking_list_filter']['task_nid']); - unset($_SESSION['stormtimetracking_list_filter']['ticket_nid']); + _storm_set_filter_param('timetracking', 'project_nid'); + _storm_set_filter_param('timetracking', 'task_nid'); + _storm_set_filter_param('timetracking', 'ticket_nid'); } if (array_key_exists('project_nid', $_GET)) { if ($_SESSION['stormtimetracking_list_filter']['project_nid'] != $_GET['project_nid']) { - $_SESSION['stormtimetracking_list_filter']['project_nid'] = $_GET['project_nid']; + _storm_set_filter_param('timetracking', 'project_nid', $_GET['project_nid']); } $p = node_load($_GET['project_nid']); - $_SESSION['stormtimetracking_list_filter']['organization_nid'] = $p->organization_nid; - unset($_SESSION['stormtimetracking_list_filter']['task_nid']); - unset($_SESSION['stormtimetracking_list_filter']['ticket_nid']); + _storm_set_filter_param('timetracking', 'organization_nid', $p->organization_nid); + _storm_set_filter_param('timetracking', 'task_nid'); + _storm_set_filter_param('timetracking', 'ticket_nid'); } if (array_key_exists('task_nid', $_GET)) { if ($_SESSION['stormtimetracking_list_filter']['task_nid'] != $_GET['task_nid']) { - $_SESSION['stormtimetracking_list_filter']['task_nid'] = $_GET['task_nid']; + _storm_set_filter_param('timetracking', 'task_nid', $_GET['task_nid']); } $t = node_load($_GET['task_nid']); - $_SESSION['stormtimetracking_list_filter']['organization_nid'] = $t->organization_nid; - $_SESSION['stormtimetracking_list_filter']['project_nid'] = $t->project_nid; - unset($_SESSION['stormtimetracking_list_filter']['ticket_nid']); + _storm_set_filter_param('timetracking', 'organization_nid', $t->organization_nid); + _storm_set_filter_param('timetracking', 'project_nid', $t->project_nid); + _storm_set_filter_param('timetracking', 'ticket_nid'); } if (array_key_exists('ticket_nid', $_GET)) { if ($_SESSION['stormtimetracking_list_filter']['ticket_nid'] != $_GET['ticket_nid']) { - $_SESSION['stormtimetracking_list_filter']['ticket_nid'] = $_GET['ticket_nid']; + _storm_set_filter_param('timetracking', 'ticket_nid', $_GET['ticket_nid']); } $ti = node_load($_GET['ticket_nid']); - $_SESSION['stormtimetracking_list_filter']['organization_nid'] = $ti->organization_nid; - $_SESSION['stormtimetracking_list_filter']['project_nid'] = $ti->project_nid; - $_SESSION['stormtimetracking_list_filter']['task_nid'] = $ti->task_nid; + _storm_set_filter_param('timetracking', 'organization_nid', $ti->organization_nid); + _storm_set_filter_param('timetracking', 'project_nid', $ti->project_nid); + _storm_set_filter_param('timetracking', 'task_nid', $ti->task_nid); } if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') { - unset($_SESSION['stormtimetracking_list_filter']['datefrom']); - unset($_SESSION['stormtimetracking_list_filter']['dateto']); + _storm_set_filter_param('timetracking', 'datefrom'); + _storm_set_filter_param('timetracking', 'dateto'); - $_SESSION['stormtimetracking_list_filter']['user'] = ''; - $_SESSION['stormtimetracking_list_filter']['billable'] = '-'; - $_SESSION['stormtimetracking_list_filter']['billed'] = '-'; + _storm_set_filter_param('timetracking', 'user', ''); + + _storm_set_filter_param('timetracking', 'billable', '-'); + _storm_set_filter_param('timetracking', 'billed', '-'); } $i = new stdClass(); @@ -80,6 +81,10 @@ function stormtimetracking_list() { ), ); + $where = array(); + $args = array(); + $filterfields = array(); + $s = "SELECT n.*, stt.*, nre.format FROM {node} n INNER JOIN {stormtimetracking} stt ON n.vid=stt.vid INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid @@ -87,31 +92,28 @@ function stormtimetracking_list() { $s_duration = "SELECT SUM(billing_duration) FROM {stormtimetracking} stt INNER JOIN {node} n ON n.vid=stt.vid WHERE n.status=1 AND n.type='stormtimetracking' "; - $where = array(); - $args = array(); - $filterfields = array(); - - if (isset($_SESSION['stormtimetracking_list_filter']['organization_nid']) && $_SESSION['stormtimetracking_list_filter']['organization_nid'] != 0) { + if (_storm_isset_filter_param('timetracking', 'organization_nid', 0)) { $where[] = 'stt.organization_nid=%d'; $args[] = $_SESSION['stormtimetracking_list_filter']['organization_nid']; $filterfields[] = t('Organization'); } - if (isset($_SESSION['stormtimetracking_list_filter']['project_nid']) && $_SESSION['stormtimetracking_list_filter']['project_nid'] != 0) { + if (_storm_isset_filter_param('timetracking', 'project_nid', 0)) { $where[] = 'stt.project_nid=%d'; $args[] = $_SESSION['stormtimetracking_list_filter']['project_nid']; $filterfields[] = t('Project'); } - if (isset($_SESSION['stormtimetracking_list_filter']['task_nid']) && $_SESSION['stormtimetracking_list_filter']['task_nid'] != 0) { + if (_storm_isset_filter_param('timetracking', 'task_nid', 0)) { $where[] = 'stt.task_nid=%d'; $args[] = $_SESSION['stormtimetracking_list_filter']['task_nid']; $filterfields[] = t('Task'); } - if (isset($_SESSION['stormtimetracking_list_filter']['ticket_nid']) && $_SESSION['stormtimetracking_list_filter']['ticket_nid'] != 0) { + if (_storm_isset_filter_param('timetracking', 'ticket_nid', 0)) { $where[] = 'stt.ticket_nid=%d'; $args[] = $_SESSION['stormtimetracking_list_filter']['ticket_nid']; $filterfields[] = t('Ticket'); } - if (isset($_SESSION['stormtimetracking_list_filter']['datefrom']) && $_SESSION['stormtimetracking_list_filter']['datefrom']['day'] != -1) { + + if (_storm_isset_filter_param('timetracking', 'datefrom', NULL, -1)) { $datefrom = $_SESSION['stormtimetracking_list_filter']['datefrom']; $datefrom['hour'] = 0; $datefrom['minute'] = 0; @@ -119,7 +121,7 @@ function stormtimetracking_list() { $args[] = _storm_datetime_to_gmtimestamp($datefrom); $filterfields[] = t('Date'); } - if (isset($_SESSION['stormtimetracking_list_filter']['dateto']) && $_SESSION['stormtimetracking_list_filter']['dateto']['day'] != -1) { + if (_storm_isset_filter_param('timetracking', 'dateto', NULL, -1)) { $dateto = $_SESSION['stormtimetracking_list_filter']['dateto']; $dateto['hour'] = 23; $dateto['minute'] = 59; @@ -127,20 +129,8 @@ function stormtimetracking_list() { $args[] = _storm_datetime_to_gmtimestamp($dateto); $filterfields[] = t('Date'); } - if (isset($_SESSION['stormtimetracking_list_filter']['billable']) && $_SESSION['stormtimetracking_list_filter']['billable'] != '-') { - $where[] = 'stt.billable=%d'; - $args[] = $_SESSION['stormtimetracking_list_filter']['billable']; - $filterfields[] = t('Billable'); - } - if (isset($_SESSION['stormtimetracking_list_filter']['billed']) && $_SESSION['stormtimetracking_list_filter']['billed'] != '-') { - $where[] = 'stt.billed=%d'; - $args[] = $_SESSION['stormtimetracking_list_filter']['billed']; - $filterfields[] = t('Billed'); - } - $itemsperpage = isset($_SESSION['stormtimetracking_list_filter']['itemsperpage']) ? $_SESSION['stormtimetracking_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); - - if (isset($_SESSION['stormtimetracking_list_filter']['user']) && $_SESSION['stormtimetracking_list_filter']['user'] != '') { + if (_storm_isset_filter_param('timetracking', 'user', '')) { $trackinguser = user_load(array('name' => $_SESSION['stormtimetracking_list_filter']['user'])); if ($trackinguser === FALSE) $trackinguser->uid = -1; $where[] = 'n.uid=%d'; @@ -148,6 +138,19 @@ function stormtimetracking_list() { $filterfields[] = t('User'); } + if (_storm_isset_filter_param('timetracking', 'billable', '-')) { + $where[] = 'stt.billable=%d'; + $args[] = $_SESSION['stormtimetracking_list_filter']['billable']; + $filterfields[] = t('Billable'); + } + if (_storm_isset_filter_param('timetracking', 'billed', '-')) { + $where[] = 'stt.billed=%d'; + $args[] = $_SESSION['stormtimetracking_list_filter']['billed']; + $filterfields[] = t('Billed'); + } + + $itemsperpage = _storm_get_filter_param('timetracking', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); + if (count($filterfields) == 0) { $filterdesc = t('Not filtered'); } @@ -183,18 +186,21 @@ function stormtimetracking_list() { } function stormtimetracking_list_filter(&$form_state, $filterdesc = 'Filter') { - $organization_nid = isset($_SESSION['stormtimetracking_list_filter']['organization_nid']) ? $_SESSION['stormtimetracking_list_filter']['organization_nid'] : 0; - $project_nid = isset($_SESSION['stormtimetracking_list_filter']['project_nid']) ? $_SESSION['stormtimetracking_list_filter']['project_nid'] : 0 ; - $task_nid = isset($_SESSION['stormtimetracking_list_filter']['task_nid']) ? $_SESSION['stormtimetracking_list_filter']['task_nid'] : 0; - $ticket_nid = isset($_SESSION['stormtimetracking_list_filter']['ticket_nid']) ? $_SESSION['stormtimetracking_list_filter']['ticket_nid'] : 0; - $itemsperpage = isset($_SESSION['stormtimetracking_list_filter']['itemsperpage']) ? $_SESSION['stormtimetracking_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); + $organization_nid = _storm_get_filter_param('timetracking', 'organization_nid', 0); + $project_nid = _storm_get_filter_param('timetracking', 'project_nid', 0); + $task_nid = _storm_get_filter_param('timetracking', 'task_nid', 0); + $ticket_nid = _storm_get_filter_param('timetracking', 'ticket_nid', 0); - $datefrom = isset($_SESSION['stormtimetracking_list_filter']['datefrom']) ? $_SESSION['stormtimetracking_list_filter']['datefrom'] : NULL; - $dateto = isset($_SESSION['stormtimetracking_list_filter']['dateto']) ? $_SESSION['stormtimetracking_list_filter']['dateto'] : NULL ; + $datefrom = _storm_get_filter_param('timetracking', 'datefrom'); + $dateto = _storm_get_filter_param('timetracking', 'dateto'); + + $trackinguser = _storm_get_filter_param('timetracking', 'user', ''); + + $billable = _storm_get_filter_param('timetracking', 'billable', '-'); + $billed = _storm_get_filter_param('timetracking', 'billed', '-'); + + $itemsperpage = _storm_get_filter_param('timetracking', 'itemsperpage', variable_get('storm_default_items_per_page', 10)); - $trackinguser = isset($_SESSION['stormtimetracking_list_filter']['user']) ? $_SESSION['stormtimetracking_list_filter']['user'] : ''; - $billable = isset($_SESSION['stormtimetracking_list_filter']['billable']) ? $_SESSION['stormtimetracking_list_filter']['billable'] : '-'; - $billed = isset($_SESSION['stormtimetracking_list_filter']['billed']) ? $_SESSION['stormtimetracking_list_filter']['billed'] : '-'; $form = array();