Moved and renamed 'storm_quicktt' module to storm directory as 'stormquicktt'

This commit is contained in:
Manuel Cillero 2017-08-29 12:43:51 +02:00
parent e7e66a9245
commit a39c010e06
8 changed files with 187 additions and 187 deletions

View file

@ -1,37 +1,37 @@
<?php <?php
function storm_quicktt_settings() { function stormquicktt_settings() {
$form = array(); $form = array();
$form['storm_quicktt_mintime2record'] = array( $form['stormquicktt_mintime2record'] = array(
'#type' => 'textfield', '#type' => 'textfield',
'#title' => t('Minimum time to be recorded (minutes)'), '#title' => t('Minimum time to be recorded (minutes)'),
'#default_value' => variable_get('storm_quicktt_mintime2record', 5), '#default_value' => variable_get('stormquicktt_mintime2record', 5),
); );
$form['storm_quicktt_default_title'] = array( $form['stormquicktt_default_title'] = array(
'#type' => 'textfield', '#type' => 'textfield',
'#title' => t('Default title'), '#title' => t('Default title'),
'#default_value' => variable_get('storm_quicktt_default_title', 'Auto-created by QuickTT'), '#default_value' => variable_get('stormquicktt_default_title', 'Auto-created by QuickTT'),
); );
$status_option_prj = array('none' => '-none-'); $status_option_prj = array('none' => '-none-');
$project_status = storm_attributes_bydomain('Project status'); $project_status = storm_attributes_bydomain('Project status');
$status_option_prj = array_merge($status_option_prj, $project_status['values']); $status_option_prj = array_merge($status_option_prj, $project_status['values']);
$form['storm_quicktt_project_stati'] = array( $form['stormquicktt_project_stati'] = array(
'#type' => 'select', '#type' => 'select',
'#title' => t('Display projects with following status'), '#title' => t('Display projects with following status'),
'#options' => $status_option_prj, '#options' => $status_option_prj,
'#multiple' => TRUE, '#multiple' => TRUE,
'#size' => 5, '#size' => 5,
'#default_value' => variable_get('storm_quicktt_project_stati', array('in progress')), '#default_value' => variable_get('stormquicktt_project_stati', array('in progress')),
'#description' => t('Select multiple values by pressing the ctrl-key while selecting with the mouse.'), '#description' => t('Select multiple values by pressing the ctrl-key while selecting with the mouse.'),
); );
$form['storm_quicktt_pause_split'] = array( $form['stormquicktt_pause_split'] = array(
'#type' => 'checkbox', '#type' => 'checkbox',
'#title' => t('Split timetrackings on pause.'), '#title' => t('Split timetrackings on pause.'),
'#description' => t('If selected there are multiple timetrackings for before and after each break. '. '#description' => t('If selected there are multiple timetrackings for before and after each break. '.
'If unset there is one timetracking for the whole time, but the pause time will be subtracted from the billing duration.'), 'If unset there is one timetracking for the whole time, but the pause time will be subtracted from the billing duration.'),
'#default_value' => variable_get('storm_quicktt_pause_split', FALSE), '#default_value' => variable_get('stormquicktt_pause_split', FALSE),
); );
return system_settings_form($form); return system_settings_form($form);

View file

@ -10,6 +10,6 @@ dependencies[] = stormtimetracking
; Information added by drupal.org packaging script on 2012-03-25 ; Information added by drupal.org packaging script on 2012-03-25
version = "6.x-2.x-dev" version = "6.x-2.x-dev"
core = "6.x" core = "6.x"
project = "storm_quicktt" project = "stormquicktt"
datestamp = "1332637511" datestamp = "1332637511"

View file

@ -59,7 +59,7 @@ Drupal.admin.stormquickttInitTimer = function () {
Drupal.admin.stormquickttInteract = function (_op, _nid, _mode, _context) { Drupal.admin.stormquickttInteract = function (_op, _nid, _mode, _context) {
$.ajax({ $.ajax({
url: Drupal.settings.storm_quicktt_url, url: Drupal.settings.stormquicktt_url,
async: false, async: false,
global: false, global: false,
type: "POST", type: "POST",

View file

@ -2,7 +2,7 @@
/** /**
* @file * @file
* The main file for the storm_quicktt module. * The main file for the stormquicktt module.
* *
* eKomi is a web service that provides real customer feedback to e-comerce website * eKomi is a web service that provides real customer feedback to e-comerce website
* and displays a certificate on that very same website. * and displays a certificate on that very same website.
@ -11,11 +11,11 @@
/** /**
* Implementation of hook_help(). * Implementation of hook_help().
*/ */
function storm_quicktt_help($path, $arg) { function stormquicktt_help($path, $arg) {
switch ($path) { switch ($path) {
case 'admin/suitedesk/quicktt': case 'admin/suitedesk/quicktt':
return '<p>'. t('Here you can set up parameters for SuiteDesk-Quick-TimeTracker.') .'</p>'; return '<p>'. t('Here you can set up parameters for SuiteDesk-Quick-TimeTracker.') .'</p>';
case 'admin/help#storm_quicktt': case 'admin/help#stormquicktt':
return filter_filter('process', 2, NULL, file_get_contents(dirname(__FILE__) ."/README.txt")); return filter_filter('process', 2, NULL, file_get_contents(dirname(__FILE__) ."/README.txt"));
} }
} }
@ -23,33 +23,33 @@ function storm_quicktt_help($path, $arg) {
/** /**
* Implementation of hook_menu(). * Implementation of hook_menu().
*/ */
function storm_quicktt_menu() { function stormquicktt_menu() {
$items = array(); $items = array();
$access_config = array('administer site configuration'); $access_config = array('administer site configuration');
$items['admin/settings/suitedesk/quicktt'] = array( $items['admin/settings/suitedesk/quicktt'] = array(
'title' => 'SuiteDesk Quick TimeTracker', 'title' => 'SuiteDesk Quick TimeTracker',
'description' => 'Configure SuiteDesk Quick TimeTracker', 'description' => 'Configure SuiteDesk Quick TimeTracker',
'page callback' => 'drupal_get_form', 'page callback' => 'drupal_get_form',
'page arguments' => array('storm_quicktt_settings'), 'page arguments' => array('stormquicktt_settings'),
'access arguments' => $access_config, 'access arguments' => $access_config,
'type' => MENU_LOCAL_TASK, 'type' => MENU_LOCAL_TASK,
'file' => 'storm_quicktt.admin.inc', 'file' => 'stormquicktt.admin.inc',
); );
$items['stormquicktt/interact'] = array( $items['stormquicktt/interact'] = array(
'page callback' => 'storm_quicktt_interact', 'page callback' => 'stormquicktt_interact',
'access arguments' => array('access content'), 'access arguments' => array('access content'),
'type' => MENU_CALLBACK, 'type' => MENU_CALLBACK,
); );
return $items; return $items;
} }
function storm_quicktt_add_resources() { function stormquicktt_add_resources() {
static $loaded = FALSE; static $loaded = FALSE;
if (!$loaded) { if (!$loaded) {
drupal_add_css(drupal_get_path('module', 'storm_quicktt') .'/storm_quicktt.css'); drupal_add_css(drupal_get_path('module', 'stormquicktt') .'/stormquicktt.css');
drupal_add_js(drupal_get_path('module', 'storm_quicktt') .'/storm_quicktt.js'); drupal_add_js(drupal_get_path('module', 'stormquicktt') .'/stormquicktt.js');
drupal_add_js(drupal_get_path('module', 'storm_quicktt') .'/jquery.timers.js'); drupal_add_js(drupal_get_path('module', 'stormquicktt') .'/jquery.timers.js');
drupal_add_js(array('storm_quicktt_url' => url('stormquicktt/interact', array('absolute' => TRUE,))), 'setting'); drupal_add_js(array('stormquicktt_url' => url('stormquicktt/interact', array('absolute' => TRUE,))), 'setting');
$loaded = TRUE; $loaded = TRUE;
} }
} }
@ -57,7 +57,7 @@ function storm_quicktt_add_resources() {
/** /**
* Implementation of hook_block(). * Implementation of hook_block().
*/ */
function storm_quicktt_block($op = 'list', $delta = 0, $edit = array()) { function stormquicktt_block($op = 'list', $delta = 0, $edit = array()) {
switch ($op) { switch ($op) {
case 'list': case 'list':
$blocks[0]['info'] = t('SuiteDesk Quick TimeTracker'); $blocks[0]['info'] = t('SuiteDesk Quick TimeTracker');
@ -71,8 +71,8 @@ function storm_quicktt_block($op = 'list', $delta = 0, $edit = array()) {
if (!user_access('Storm timetracking: add')) { if (!user_access('Storm timetracking: add')) {
return; return;
} }
storm_quicktt_add_resources(); stormquicktt_add_resources();
$v = variable_get('storm_quicktt_project_stati', array('in progress')); $v = variable_get('stormquicktt_project_stati', array('in progress'));
$sql = "SELECT n.*, spr.* FROM {node} AS n $sql = "SELECT n.*, spr.* FROM {node} AS n
INNER JOIN {stormproject} AS spr INNER JOIN {stormproject} AS spr
ON n.vid=spr.vid WHERE n.status=1 AND n.type='stormproject' AND (spr.projectstatus IN ('". implode("','", $v) ."')) ON n.vid=spr.vid WHERE n.status=1 AND n.type='stormproject' AND (spr.projectstatus IN ('". implode("','", $v) ."'))
@ -86,7 +86,7 @@ function storm_quicktt_block($op = 'list', $delta = 0, $edit = array()) {
} }
$options[$node->organization_title][$node->nid] = $node->title; $options[$node->organization_title][$node->nid] = $node->title;
} }
$form = drupal_get_form('storm_quicktt_blockform', $options); $form = drupal_get_form('stormquicktt_blockform', $options);
$blocks['subject'] = t('Quick Timetracking'); $blocks['subject'] = t('Quick Timetracking');
$blocks['content'] = <<<EOT $blocks['content'] = <<<EOT
@ -98,11 +98,11 @@ EOT;
} }
} }
function storm_quicktt_blockform($form_state, $options) { function stormquicktt_blockform($form_state, $options) {
$nid = storm_quicktt_tracking_active_nid(); $nid = stormquicktt_tracking_active_nid();
$pid = isset($_SESSION['storm_quicktt_pid']) ? $_SESSION['storm_quicktt_pid'] : 0; $pid = isset($_SESSION['stormquicktt_pid']) ? $_SESSION['stormquicktt_pid'] : 0;
if (!empty($nid) && empty($pid)) { if (!empty($nid) && empty($pid)) {
switch(storm_quicktt_tracking_active_type()) { switch(stormquicktt_tracking_active_type()) {
case 'prj': case 'prj':
$pid = $nid; $pid = $nid;
break; break;
@ -111,13 +111,13 @@ function storm_quicktt_blockform($form_state, $options) {
$node = node_load($nid); $node = node_load($nid);
if (!empty($node) && !empty($node->project_nid)) { if (!empty($node) && !empty($node->project_nid)) {
$pid = $node->project_nid; $pid = $node->project_nid;
$_SESSION['storm_quicktt_pid'] = $pid; $_SESSION['stormquicktt_pid'] = $pid;
} }
break; break;
} }
} }
$mode = isset($_SESSION['storm_quicktt_mode']) ? $_SESSION['storm_quicktt_mode'] : TRUE; $mode = isset($_SESSION['stormquicktt_mode']) ? $_SESSION['stormquicktt_mode'] : TRUE;
$form = array(); $form = array();
$form['#cache'] = TRUE; $form['#cache'] = TRUE;
$form['selects'] = array( $form['selects'] = array(
@ -145,41 +145,41 @@ function storm_quicktt_blockform($form_state, $options) {
); );
$form['selects']['info']['time'] = array( $form['selects']['info']['time'] = array(
'#type' => 'markup', '#type' => 'markup',
'#value' => storm_quicktt_tracking_info(), '#value' => stormquicktt_tracking_info(),
); );
} }
return $form; return $form;
} }
function storm_quicktt_interact() { function stormquicktt_interact() {
if (!isset($_POST['op'])) { if (!isset($_POST['op'])) {
exit; exit;
} }
$_GET['q'] = $_SERVER['HTTP_REFERER']; $_GET['q'] = $_SERVER['HTTP_REFERER'];
$op = $_POST['op']; $op = $_POST['op'];
$nid = $_POST['nid']; $nid = $_POST['nid'];
$_SESSION['storm_quicktt_mode'] = ($_POST['mode'] == 'true'); $_SESSION['stormquicktt_mode'] = ($_POST['mode'] == 'true');
switch ($op) { switch ($op) {
case 'pause': case 'pause':
storm_quicktt_pause_time(); stormquicktt_pause_time();
print 'OK'; print 'OK';
break; break;
case 'resume': case 'resume':
storm_quicktt_resume_time(); stormquicktt_resume_time();
print 'OK'; print 'OK';
break; break;
case 'update': case 'update':
if (!$_SESSION['storm_quicktt_update_active']) { if (!$_SESSION['stormquicktt_update_active']) {
$_SESSION['storm_quicktt_update_active'] = TRUE; $_SESSION['stormquicktt_update_active'] = TRUE;
print storm_quicktt_elapsed_time(); print stormquicktt_elapsed_time();
$_SESSION['storm_quicktt_update_active'] = FALSE; $_SESSION['stormquicktt_update_active'] = FALSE;
} }
else { else {
print 'OK'; print 'OK';
} }
break; break;
case 'note': case 'note':
storm_quicktt_note_for_time($nid); stormquicktt_note_for_time($nid);
print 'OK'; print 'OK';
break; break;
case 'triggerTimetracking': case 'triggerTimetracking':
@ -189,7 +189,7 @@ function storm_quicktt_interact() {
$kid = 0; $kid = 0;
$y = explode('-', $nid); $y = explode('-', $nid);
$nid = $y[2]; $nid = $y[2];
if (!storm_quicktt_tracking_active() || storm_quicktt_tracking_active_nid() != $nid) { if (!stormquicktt_tracking_active() || stormquicktt_tracking_active_nid() != $nid) {
$node = node_load($nid); $node = node_load($nid);
switch ($node->type) { switch ($node->type) {
case 'stormticket': case 'stormticket':
@ -208,38 +208,38 @@ function storm_quicktt_interact() {
break; break;
} }
} }
$msg = storm_quicktt_start($oid, $pid, $tid, $kid, FALSE); $msg = stormquicktt_start($oid, $pid, $tid, $kid, FALSE);
$trigger = storm_quicktt_timetracking_trigger($nid); $trigger = stormquicktt_timetracking_trigger($nid);
$msg .= storm_quicktt_tracking_info(); $msg .= stormquicktt_tracking_info();
print drupal_json(array('msg' => $msg, 'pid' => $pid, 'trigger' => $trigger)); print drupal_json(array('msg' => $msg, 'pid' => $pid, 'trigger' => $trigger));
break; break;
default: default:
$msg = ""; $msg = "";
if ($_SESSION['storm_quicktt_mode']) { if ($_SESSION['stormquicktt_mode']) {
$msg = storm_quicktt_start(0, $nid, 0, 0, FALSE); $msg = stormquicktt_start(0, $nid, 0, 0, FALSE);
print $msg . storm_quicktt_tracking_info(); print $msg . stormquicktt_tracking_info();
} }
elseif ($nid) { elseif ($nid) {
$pid = isset($_SESSION['storm_quicktt_pid']) ? $_SESSION['storm_quicktt_pid'] : 0; $pid = isset($_SESSION['stormquicktt_pid']) ? $_SESSION['stormquicktt_pid'] : 0;
if ($pid == $nid) { if ($pid == $nid) {
print $msg . storm_quicktt_tracking_info(); print $msg . stormquicktt_tracking_info();
} }
else { else {
$title = t('Action'); $title = t('Action');
$link = l(t('Goto Project'), 'node/'. $nid); $link = l(t('Goto Project'), 'node/'. $nid);
$msg .= '<div class="info"><label>'. $title .':</label> '. $link . '</div>'; $msg .= '<div class="info"><label>'. $title .':</label> '. $link . '</div>';
$msg .= storm_quicktt_timetracking_trigger($nid); $msg .= stormquicktt_timetracking_trigger($nid);
$active_nid = storm_quicktt_tracking_active_nid(); $active_nid = stormquicktt_tracking_active_nid();
if ($active_nid) { if ($active_nid) {
$msg .= storm_quicktt_tracking_info(); $msg .= stormquicktt_tracking_info();
} }
print $msg; print $msg;
} }
} }
else { else {
$active_nid = storm_quicktt_tracking_active_nid(); $active_nid = stormquicktt_tracking_active_nid();
if ($active_nid) { if ($active_nid) {
$msg .= storm_quicktt_tracking_info(); $msg .= stormquicktt_tracking_info();
} }
print $msg; print $msg;
} }
@ -249,13 +249,13 @@ function storm_quicktt_interact() {
exit; exit;
} }
function storm_quicktt_start($oid = 0, $pid = 0, $tid = 0, $kid = 0, $show_msg = TRUE) { function stormquicktt_start($oid = 0, $pid = 0, $tid = 0, $kid = 0, $show_msg = TRUE) {
$start = time(); $start = time();
$msg = ""; $msg = "";
if ($_SESSION['storm_quicktt_oid']) { if ($_SESSION['stormquicktt_oid']) {
$msg = storm_quicktt_store_time($start, $show_msg); $msg = stormquicktt_store_time($start, $show_msg);
} }
$_SESSION['storm_quicktt_note_for_time'] = ''; $_SESSION['stormquicktt_note_for_time'] = '';
if ($kid) { //Ticket-ID is set and we get the other IDs from the node if ($kid) { //Ticket-ID is set and we get the other IDs from the node
$node = node_load($kid); $node = node_load($kid);
$node->ticket_nid = $node->nid; $node->ticket_nid = $node->nid;
@ -275,100 +275,100 @@ function storm_quicktt_start($oid = 0, $pid = 0, $tid = 0, $kid = 0, $show_msg =
else { //No ID is set and we do only store time if a timetracking was active else { //No ID is set and we do only store time if a timetracking was active
$node = new stdClass(); $node = new stdClass();
} }
$_SESSION['storm_quicktt_oid'] = (isset($node->organization_nid)) ? $node->organization_nid : 0; $_SESSION['stormquicktt_oid'] = (isset($node->organization_nid)) ? $node->organization_nid : 0;
$_SESSION['storm_quicktt_pid'] = (isset($node->project_nid)) ? $node->project_nid : 0; $_SESSION['stormquicktt_pid'] = (isset($node->project_nid)) ? $node->project_nid : 0;
$_SESSION['storm_quicktt_tid'] = (isset($node->task_nid)) ? $node->task_nid : 0; $_SESSION['stormquicktt_tid'] = (isset($node->task_nid)) ? $node->task_nid : 0;
$_SESSION['storm_quicktt_kid'] = (isset($node->ticket_nid)) ? $node->ticket_nid : 0; $_SESSION['stormquicktt_kid'] = (isset($node->ticket_nid)) ? $node->ticket_nid : 0;
$_SESSION['storm_quicktt_start'] = (isset($node->organization_nid)) ? $start : 0; $_SESSION['stormquicktt_start'] = (isset($node->organization_nid)) ? $start : 0;
$_SESSION['storm_quicktt_pause_start'] = 0; $_SESSION['stormquicktt_pause_start'] = 0;
$_SESSION['storm_quicktt_pause_collect'] = 0; $_SESSION['stormquicktt_pause_collect'] = 0;
return $msg; return $msg;
} }
function storm_quicktt_pause_time() { function stormquicktt_pause_time() {
if (!storm_quicktt_tracking_active()) { if (!stormquicktt_tracking_active()) {
return; return;
} }
if (!empty($_SESSION['storm_quicktt_pause_start'])) { if (!empty($_SESSION['stormquicktt_pause_start'])) {
return; return;
} }
if (variable_get('storm_quicktt_pause_split', FALSE)) { if (variable_get('stormquicktt_pause_split', FALSE)) {
$oid = $_SESSION['storm_quicktt_oid']; $oid = $_SESSION['stormquicktt_oid'];
$pid = $_SESSION['storm_quicktt_pid']; $pid = $_SESSION['stormquicktt_pid'];
$tid = $_SESSION['storm_quicktt_tid']; $tid = $_SESSION['stormquicktt_tid'];
$kid = $_SESSION['storm_quicktt_kid']; $kid = $_SESSION['stormquicktt_kid'];
$start = $_SESSION['storm_quicktt_start']; $start = $_SESSION['stormquicktt_start'];
storm_quicktt_store_time(time(), FALSE); stormquicktt_store_time(time(), FALSE);
$_SESSION['storm_quicktt_oid'] = $oid; $_SESSION['stormquicktt_oid'] = $oid;
$_SESSION['storm_quicktt_pid'] = $pid; $_SESSION['stormquicktt_pid'] = $pid;
$_SESSION['storm_quicktt_tid'] = $tid; $_SESSION['stormquicktt_tid'] = $tid;
$_SESSION['storm_quicktt_kid'] = $kid; $_SESSION['stormquicktt_kid'] = $kid;
$_SESSION['storm_quicktt_start'] = $start; $_SESSION['stormquicktt_start'] = $start;
} }
$_SESSION['storm_quicktt_pause_start'] = time(); $_SESSION['stormquicktt_pause_start'] = time();
} }
function storm_quicktt_resume_time() { function stormquicktt_resume_time() {
if (empty($_SESSION['storm_quicktt_pause_start'])) { if (empty($_SESSION['stormquicktt_pause_start'])) {
return; return;
} }
if (variable_get('storm_quicktt_pause_split', FALSE)) { if (variable_get('stormquicktt_pause_split', FALSE)) {
$_SESSION['storm_quicktt_pause_collect'] += ($_SESSION['storm_quicktt_pause_start'] - $_SESSION['storm_quicktt_start']); $_SESSION['stormquicktt_pause_collect'] += ($_SESSION['stormquicktt_pause_start'] - $_SESSION['stormquicktt_start']);
$_SESSION['storm_quicktt_start'] = time(); $_SESSION['stormquicktt_start'] = time();
} }
else { else {
$_SESSION['storm_quicktt_pause_collect'] += (time() - $_SESSION['storm_quicktt_pause_start']); $_SESSION['stormquicktt_pause_collect'] += (time() - $_SESSION['stormquicktt_pause_start']);
} }
$_SESSION['storm_quicktt_pause_start'] = 0; $_SESSION['stormquicktt_pause_start'] = 0;
} }
function storm_quicktt_elapsed_time() { function stormquicktt_elapsed_time() {
if (!empty($_SESSION['storm_quicktt_pause_start']) && variable_get('storm_quicktt_pause_split', FALSE)) { if (!empty($_SESSION['stormquicktt_pause_start']) && variable_get('stormquicktt_pause_split', FALSE)) {
if (!empty($_SESSION['storm_quicktt_start'])) { if (!empty($_SESSION['stormquicktt_start'])) {
return '<div>'. t('Elapsed time: !time min', array('!time' => floor(($_SESSION['storm_quicktt_pause_start'] - $_SESSION['storm_quicktt_start']) / 60))) .'</div>'; return '<div>'. t('Elapsed time: !time min', array('!time' => floor(($_SESSION['stormquicktt_pause_start'] - $_SESSION['stormquicktt_start']) / 60))) .'</div>';
} }
return ''; return '';
} }
storm_quicktt_store_time(); stormquicktt_store_time();
if (!empty($_SESSION['storm_quicktt_ttid'])) { if (!empty($_SESSION['stormquicktt_ttid'])) {
$now = time(); $now = time();
if (variable_get('storm_quicktt_pause_split', FALSE) && !empty($_SESSION['storm_quicktt_pause_collect'])) { if (variable_get('stormquicktt_pause_split', FALSE) && !empty($_SESSION['stormquicktt_pause_collect'])) {
$now += $_SESSION['storm_quicktt_pause_collect']; $now += $_SESSION['stormquicktt_pause_collect'];
} }
return '<div>'. t('Elapsed time: !time min', array('!time' => floor(($now - $_SESSION['storm_quicktt_start']) / 60))) .'</div>'; return '<div>'. t('Elapsed time: !time min', array('!time' => floor(($now - $_SESSION['stormquicktt_start']) / 60))) .'</div>';
} }
else { else {
return ''; return '';
} }
} }
function storm_quicktt_store_time($stop = 0, $show_msg = TRUE) { function stormquicktt_store_time($stop = 0, $show_msg = TRUE) {
if (!user_access('Storm timetracking: add')) { if (!user_access('Storm timetracking: add')) {
return t('You have no permission to add timetracking.'); return t('You have no permission to add timetracking.');
} }
global $user; global $user;
$oid = $_SESSION['storm_quicktt_oid']; $oid = $_SESSION['stormquicktt_oid'];
$pid = $_SESSION['storm_quicktt_pid']; $pid = $_SESSION['stormquicktt_pid'];
$tid = $_SESSION['storm_quicktt_tid']; $tid = $_SESSION['stormquicktt_tid'];
$kid = $_SESSION['storm_quicktt_kid']; $kid = $_SESSION['stormquicktt_kid'];
$start = $_SESSION['storm_quicktt_start']; $start = $_SESSION['stormquicktt_start'];
$pause = 0; $pause = 0;
if ($stop) { if ($stop) {
storm_quicktt_resume_time(); stormquicktt_resume_time();
$pause = $_SESSION['storm_quicktt_pause_collect']; $pause = $_SESSION['stormquicktt_pause_collect'];
if (variable_get('storm_quicktt_pause_split', FALSE)) { if (variable_get('stormquicktt_pause_split', FALSE)) {
$pause = 0; $pause = 0;
} }
unset($_SESSION['storm_quicktt_oid']); unset($_SESSION['stormquicktt_oid']);
unset($_SESSION['storm_quicktt_pid']); unset($_SESSION['stormquicktt_pid']);
unset($_SESSION['storm_quicktt_tid']); unset($_SESSION['stormquicktt_tid']);
unset($_SESSION['storm_quicktt_kid']); unset($_SESSION['stormquicktt_kid']);
unset($_SESSION['storm_quicktt_start']); unset($_SESSION['stormquicktt_start']);
} }
if ($oid) { if ($oid) {
$finish = ($stop) ? $stop : time(); $finish = ($stop) ? $stop : time();
$minutes = ceil(($finish-$start) / 60); $minutes = ceil(($finish-$start) / 60);
if ($minutes >= variable_get('storm_quicktt_mintime2record', 5)) { if ($minutes >= variable_get('stormquicktt_mintime2record', 5)) {
if ($kid) { if ($kid) {
$type = t('Ticket'); $type = t('Ticket');
$node = node_load($kid); $node = node_load($kid);
@ -389,11 +389,11 @@ function storm_quicktt_store_time($stop = 0, $show_msg = TRUE) {
$node = node_load($oid); $node = node_load($oid);
$name = $node->title; $name = $node->title;
} }
if (!isset($_SESSION['storm_quicktt_ttid'])) { if (!isset($_SESSION['stormquicktt_ttid'])) {
$node = new stdClass(); $node = new stdClass();
$node->uid = $user->uid; $node->uid = $user->uid;
$node->type = 'stormtimetracking'; $node->type = 'stormtimetracking';
$node->title = $name .' ('. variable_get('storm_quicktt_default_title', 'Auto-created by QuickTT') .')'; $node->title = $name .' ('. variable_get('stormquicktt_default_title', 'Auto-created by QuickTT') .')';
$node->organization_nid = $oid; $node->organization_nid = $oid;
$node->project_nid = $pid; $node->project_nid = $pid;
$node->task_nid = $tid; $node->task_nid = $tid;
@ -404,7 +404,7 @@ function storm_quicktt_store_time($stop = 0, $show_msg = TRUE) {
$node->billed = FALSE; $node->billed = FALSE;
} }
else { else {
$node = node_load($_SESSION['storm_quicktt_ttid']); $node = node_load($_SESSION['stormquicktt_ttid']);
} }
$node->revision = FALSE; $node->revision = FALSE;
$node->timeend = format_date($finish, 'custom', 'H:i'); $node->timeend = format_date($finish, 'custom', 'H:i');
@ -412,26 +412,26 @@ function storm_quicktt_store_time($stop = 0, $show_msg = TRUE) {
$old_stormtimetracking_auto_duration = variable_get('stormtimetracking_auto_duration', TRUE); $old_stormtimetracking_auto_duration = variable_get('stormtimetracking_auto_duration', TRUE);
variable_set('stormtimetracking_auto_duration', FALSE); variable_set('stormtimetracking_auto_duration', FALSE);
$node->billing_duration = $node->duration - ($pause / 3600); $node->billing_duration = $node->duration - ($pause / 3600);
if (empty($_SESSION['storm_quicktt_note_for_time']) OR empty($node->body)) { if (empty($_SESSION['stormquicktt_note_for_time']) OR empty($node->body)) {
$pos = FALSE; $pos = FALSE;
} }
else { else {
$pos = strpos($_SESSION['storm_quicktt_note_for_time'], $node->body); $pos = strpos($_SESSION['stormquicktt_note_for_time'], $node->body);
} }
if ($pos === FALSE) { if ($pos === FALSE) {
$node->body .= $_SESSION['storm_quicktt_note_for_time']; $node->body .= $_SESSION['stormquicktt_note_for_time'];
} }
else { else {
$node->body = $_SESSION['storm_quicktt_note_for_time']; $node->body = $_SESSION['stormquicktt_note_for_time'];
} }
$_SESSION['storm_quicktt_note_for_time'] = $node->body; $_SESSION['stormquicktt_note_for_time'] = $node->body;
node_save($node); node_save($node);
variable_set('stormtimetracking_auto_duration', $old_stormtimetracking_auto_duration); variable_set('stormtimetracking_auto_duration', $old_stormtimetracking_auto_duration);
if ($stop) { if ($stop) {
unset($_SESSION['storm_quicktt_ttid']); unset($_SESSION['stormquicktt_ttid']);
} }
else { else {
$_SESSION['storm_quicktt_ttid'] = $node->nid; $_SESSION['stormquicktt_ttid'] = $node->nid;
return ''; return '';
} }
$destination = ($_GET['q'] == 'stormdashboard/interact') ? 'stormdashboard' : $_GET['q']; $destination = ($_GET['q'] == 'stormdashboard/interact') ? 'stormdashboard' : $_GET['q'];
@ -449,23 +449,23 @@ function storm_quicktt_store_time($stop = 0, $show_msg = TRUE) {
if ($show_msg) { if ($show_msg) {
drupal_set_message($msg); drupal_set_message($msg);
} }
$_SESSION['storm_quicktt_pause_start'] = 0; $_SESSION['stormquicktt_pause_start'] = 0;
$_SESSION['storm_quicktt_pause_collect'] = 0; $_SESSION['stormquicktt_pause_collect'] = 0;
return '<div class="stormquicktt-message">'. $msg .'</div>'; return '<div class="stormquicktt-message">'. $msg .'</div>';
} }
function storm_quicktt_note_for_time($text) { function stormquicktt_note_for_time($text) {
$_SESSION['storm_quicktt_note_for_time'] .= "<p>". $text ."</p>\n"; $_SESSION['stormquicktt_note_for_time'] .= "<p>". $text ."</p>\n";
} }
function storm_quicktt_tracking_active_nid() { function stormquicktt_tracking_active_nid() {
if (!storm_quicktt_tracking_active()) { if (!stormquicktt_tracking_active()) {
return 0; return 0;
} }
$oid = $_SESSION['storm_quicktt_oid']; $oid = $_SESSION['stormquicktt_oid'];
$pid = $_SESSION['storm_quicktt_pid']; $pid = $_SESSION['stormquicktt_pid'];
$tid = $_SESSION['storm_quicktt_tid']; $tid = $_SESSION['stormquicktt_tid'];
$kid = $_SESSION['storm_quicktt_kid']; $kid = $_SESSION['stormquicktt_kid'];
if ($kid) { //Ticket-ID is set and we get the other IDs from the node if ($kid) { //Ticket-ID is set and we get the other IDs from the node
return $kid; return $kid;
} }
@ -483,14 +483,14 @@ function storm_quicktt_tracking_active_nid() {
} }
} }
function storm_quicktt_tracking_active_type() { function stormquicktt_tracking_active_type() {
if (!storm_quicktt_tracking_active()) { if (!stormquicktt_tracking_active()) {
return NULL; return NULL;
} }
$oid = $_SESSION['storm_quicktt_oid']; $oid = $_SESSION['stormquicktt_oid'];
$pid = $_SESSION['storm_quicktt_pid']; $pid = $_SESSION['stormquicktt_pid'];
$tid = $_SESSION['storm_quicktt_tid']; $tid = $_SESSION['stormquicktt_tid'];
$kid = $_SESSION['storm_quicktt_kid']; $kid = $_SESSION['stormquicktt_kid'];
if ($kid) { //Ticket-ID is set and we get the other IDs from the node if ($kid) { //Ticket-ID is set and we get the other IDs from the node
return 'tkt'; return 'tkt';
} }
@ -508,22 +508,22 @@ function storm_quicktt_tracking_active_type() {
} }
} }
function storm_quicktt_tracking_active() { function stormquicktt_tracking_active() {
return !empty($_SESSION['storm_quicktt_oid']); return !empty($_SESSION['stormquicktt_oid']);
} }
function storm_quicktt_tracking_start() { function stormquicktt_tracking_start() {
return storm_quicktt_tracking_active() ? $_SESSION['storm_quicktt_start'] : 0; return stormquicktt_tracking_active() ? $_SESSION['stormquicktt_start'] : 0;
} }
function storm_quicktt_tracking_info() { function stormquicktt_tracking_info() {
$output = ''; $output = '';
if (storm_quicktt_tracking_active()) { if (stormquicktt_tracking_active()) {
$oid = $_SESSION['storm_quicktt_oid']; $oid = $_SESSION['stormquicktt_oid'];
$pid = $_SESSION['storm_quicktt_pid']; $pid = $_SESSION['stormquicktt_pid'];
$tid = $_SESSION['storm_quicktt_tid']; $tid = $_SESSION['stormquicktt_tid'];
$kid = $_SESSION['storm_quicktt_kid']; $kid = $_SESSION['stormquicktt_kid'];
$start = $_SESSION['storm_quicktt_start']; $start = $_SESSION['stormquicktt_start'];
if ($kid) { //Ticket-ID is set and we get the other IDs from the node if ($kid) { //Ticket-ID is set and we get the other IDs from the node
$node = node_load($kid); $node = node_load($kid);
$type = t('Ticket'); $type = t('Ticket');
@ -543,9 +543,9 @@ function storm_quicktt_tracking_info() {
else { //No ID is set which shouldn't be possible else { //No ID is set which shouldn't be possible
return '<div class="info">'. t('An error occured.') .'</div>'; return '<div class="info">'. t('An error occured.') .'</div>';
} }
$output .= '<div class="time">'. t('Started !time', array('!time' => storm_quicktt_start_link())) .'</div>'; $output .= '<div class="time">'. t('Started !time', array('!time' => stormquicktt_start_link())) .'</div>';
$output .= '<div class="info">'. t('Timetracking is active for %type !title.', array('%type' => $type, '!title' => l($node->title, 'node/'.$node->nid))) .'</div>'; $output .= '<div class="info">'. t('Timetracking is active for %type !title.', array('%type' => $type, '!title' => l($node->title, 'node/'.$node->nid))) .'</div>';
$output .= '<div class="note">'. t('Take a note: !noteform', array('!noteform' => storm_quicktt_noteform())) .'</div>'; $output .= '<div class="note">'. t('Take a note: !noteform', array('!noteform' => stormquicktt_noteform())) .'</div>';
} }
else { else {
$output .= '<div class="info">'. t('Currently not tracking any time.') .'</div>'; $output .= '<div class="info">'. t('Currently not tracking any time.') .'</div>';
@ -554,21 +554,21 @@ function storm_quicktt_tracking_info() {
return $output; return $output;
} }
function storm_quicktt_start_link() { function stormquicktt_start_link() {
if (!empty($_SESSION['storm_quicktt_kid'])) { if (!empty($_SESSION['stormquicktt_kid'])) {
$nid = $_SESSION['storm_quicktt_kid']; $nid = $_SESSION['stormquicktt_kid'];
} }
elseif (!empty($_SESSION['storm_quicktt_tid'])) { elseif (!empty($_SESSION['stormquicktt_tid'])) {
$nid = $_SESSION['storm_quicktt_tid']; $nid = $_SESSION['stormquicktt_tid'];
} }
elseif (!empty($_SESSION['storm_quicktt_pid'])) { elseif (!empty($_SESSION['stormquicktt_pid'])) {
$nid = $_SESSION['storm_quicktt_pid']; $nid = $_SESSION['stormquicktt_pid'];
} }
elseif (!empty($_SESSION['storm_quicktt_oid'])) { elseif (!empty($_SESSION['stormquicktt_oid'])) {
$nid = $_SESSION['storm_quicktt_oid']; $nid = $_SESSION['stormquicktt_oid'];
} }
if (!empty($nid)) { if (!empty($nid)) {
if (!empty($_SESSION['storm_quicktt_pause_start'])) { if (!empty($_SESSION['stormquicktt_pause_start'])) {
$style_pause = ' style="display:none"'; $style_pause = ' style="display:none"';
$style_resume = ''; $style_resume = '';
} }
@ -583,30 +583,30 @@ function storm_quicktt_start_link() {
$title_pause = t('Pause'); $title_pause = t('Pause');
$title_resume = t('Resume'); $title_resume = t('Resume');
$text = '<div class="storm-quicktt-time">'. format_date($_SESSION['storm_quicktt_start']) .'</div>'; $text = '<div class="storm-quicktt-time">'. format_date($_SESSION['stormquicktt_start']) .'</div>';
$text .= '<div class="storm-quicktt-timer-box"><span class="storm-quicktt-timer">'. storm_quicktt_elapsed_time() .'</span>'. $text_paused .'</div>'; $text .= '<div class="storm-quicktt-timer-box"><span class="storm-quicktt-timer">'. stormquicktt_elapsed_time() .'</span>'. $text_paused .'</div>';
$text .= '<span class="storm-quicktt-pause"'. $style_pause .'><img src="'. $path .'/status_on_hold.png" title="'. $title_pause .'" alt="'. $title_pause .'"/></span>'; $text .= '<span class="storm-quicktt-pause"'. $style_pause .'><img src="'. $path .'/status_on_hold.png" title="'. $title_pause .'" alt="'. $title_pause .'"/></span>';
$text .= '<span class="storm-quicktt-resume"'. $style_resume .'><img src="'. $path .'/status_in_progress.png" title="'. $title_resume .'" alt="'. $title_resume .'"/></span>'; $text .= '<span class="storm-quicktt-resume"'. $style_resume .'><img src="'. $path .'/status_in_progress.png" title="'. $title_resume .'" alt="'. $title_resume .'"/></span>';
$text .= storm_quicktt_timetracking_trigger($nid, FALSE); $text .= stormquicktt_timetracking_trigger($nid, FALSE);
return $text; return $text;
} }
return format_date(time()); return format_date(time());
} }
function storm_quicktt_noteform() { function stormquicktt_noteform() {
return '<div><form><input id="edit-storm-quicktt-note" type="text" size="40"/></form></div>'; return '<div><form><input id="edit-storm-quicktt-note" type="text" size="40"/></form></div>';
} }
/** /**
* Returns the sanitized clickable icon to start/stop time tracking * Returns the sanitized clickable icon to start/stop time tracking
*/ */
function storm_quicktt_timetracking_trigger($nid = 0, $info = TRUE) { function stormquicktt_timetracking_trigger($nid = 0, $info = TRUE) {
if (!user_access('Storm timetracking: add')) { if (!user_access('Storm timetracking: add')) {
return ''; return '';
} }
storm_quicktt_add_resources(); stormquicktt_add_resources();
$active = FALSE; $active = FALSE;
if (!empty($nid) && storm_quicktt_tracking_active() && storm_quicktt_tracking_active_nid() == $nid) { if (!empty($nid) && stormquicktt_tracking_active() && stormquicktt_tracking_active_nid() == $nid) {
$active = TRUE; $active = TRUE;
} }
@ -630,15 +630,15 @@ function storm_quicktt_timetracking_trigger($nid = 0, $info = TRUE) {
'</span>' . $info_txt . '</span>'; '</span>' . $info_txt . '</span>';
} }
function storm_quicktt_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) { function stormquicktt_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
if (!in_array($node->type, array('stormproject', 'stormorganization', 'stormtask', 'stormticket')) || !user_access('Storm timetracking: add')) { if (!in_array($node->type, array('stormproject', 'stormorganization', 'stormtask', 'stormticket')) || !user_access('Storm timetracking: add')) {
return; return;
} }
if ($op == 'view') { if ($op == 'view') {
$node->content['links']['storm_quicktt_timetracking_trigger'] = array( $node->content['links']['stormquicktt_timetracking_trigger'] = array(
'#value' => storm_quicktt_timetracking_trigger($node->nid), '#value' => stormquicktt_timetracking_trigger($node->nid),
'#weight' => 12, '#weight' => 12,
); );
} }

View file

@ -90,14 +90,14 @@
/* /*
* "Quick Timetracking" block. * "Quick Timetracking" block.
*/ */
#block-storm_quicktt-0 { #block-stormquicktt-0 {
margin: 0 3px; margin: 0 3px;
} }
#block-storm_quicktt-0 .content { #block-stormquicktt-0 .content {
margin: 0; margin: 0;
} }
@media (max-width: 899px) { @media (max-width: 899px) {
#block-storm_quicktt-0 { #block-stormquicktt-0 {
margin: 2em 0 0 !important; margin: 2em 0 0 !important;
} }
} }
@ -114,31 +114,31 @@
#stormquicktt #edit-selects-projects { #stormquicktt #edit-selects-projects {
width: 100%; width: 100%;
} }
#block-storm_quicktt-0 .info, #block-stormquicktt-0 .info,
#block-storm_quicktt-0 .storm-quicktt-time { #block-stormquicktt-0 .storm-quicktt-time {
display: inline; display: inline;
} }
#block-storm_quicktt-0 .storm-quicktt-timer-box span { #block-stormquicktt-0 .storm-quicktt-timer-box span {
float: left; float: left;
margin-right: 1em; margin-right: 1em;
} }
.storm-quicktt-info .note input { .storm-quicktt-info .note input {
width: 100%; width: 100%;
} }
#block-storm_quicktt-0 .sqtt-timetracking-trigger img { #block-stormquicktt-0 .sqtt-timetracking-trigger img {
margin: -10px 10px 0; margin: -10px 10px 0;
} }
#block-storm_quicktt-0 .timetracking-loading img { #block-stormquicktt-0 .timetracking-loading img {
margin-top: 0; margin-top: 0;
} }
#block-storm_quicktt-0 .timetracking-loading span { #block-stormquicktt-0 .timetracking-loading span {
line-height: 16px; line-height: 16px;
} }
#block-storm_quicktt-0 .timetracking-loading span:before { #block-stormquicktt-0 .timetracking-loading span:before {
content: ' ('; content: ' (';
} }
#block-storm_quicktt-0 .timetracking-loading span:before, #block-stormquicktt-0 .timetracking-loading span:before,
#block-storm_quicktt-0 .timetracking-loading span:after { #block-stormquicktt-0 .timetracking-loading span:after {
font-size: .7em; font-size: .7em;
} }
.stormlinks .timetracking-loading span { .stormlinks .timetracking-loading span {

View file

@ -1,6 +1,6 @@
name = SuiteDesk Theme name = SuiteDesk Theme
description = SuiteDesk Theme Zen. description = SuiteDesk Theme Zen.
version = 0.2.42 version = 0.2.43
screenshot = screenshot.png screenshot = screenshot.png