tutos-commits Mailing List for TUTOS (Page 9)
Projects / CRM / PLM / Calendar / Tasks / SCRUM / Test / Inventory
Brought to you by:
gokohnert
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(13) |
Aug
(214) |
Sep
(144) |
Oct
(22) |
Nov
(22) |
Dec
(93) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(25) |
Feb
(31) |
Mar
(92) |
Apr
(70) |
May
(103) |
Jun
(130) |
Jul
(265) |
Aug
(325) |
Sep
(233) |
Oct
(244) |
Nov
(261) |
Dec
(157) |
2003 |
Jan
(101) |
Feb
(135) |
Mar
(148) |
Apr
(164) |
May
(53) |
Jun
(116) |
Jul
(149) |
Aug
(126) |
Sep
(45) |
Oct
(109) |
Nov
(36) |
Dec
(61) |
2004 |
Jan
(131) |
Feb
(236) |
Mar
(278) |
Apr
(259) |
May
(92) |
Jun
(110) |
Jul
(150) |
Aug
(64) |
Sep
(141) |
Oct
(141) |
Nov
(146) |
Dec
(65) |
2005 |
Jan
(70) |
Feb
(77) |
Mar
(129) |
Apr
(153) |
May
(161) |
Jun
(63) |
Jul
(42) |
Aug
(16) |
Sep
(30) |
Oct
(3) |
Nov
(8) |
Dec
(40) |
2006 |
Jan
(114) |
Feb
(16) |
Mar
(12) |
Apr
(15) |
May
(4) |
Jun
(9) |
Jul
(69) |
Aug
(27) |
Sep
(12) |
Oct
(80) |
Nov
(62) |
Dec
(41) |
2007 |
Jan
(34) |
Feb
(2) |
Mar
(38) |
Apr
(82) |
May
(61) |
Jun
(37) |
Jul
(16) |
Aug
(64) |
Sep
(7) |
Oct
(52) |
Nov
(18) |
Dec
(28) |
2008 |
Jan
(168) |
Feb
(26) |
Mar
(27) |
Apr
(19) |
May
(10) |
Jun
(58) |
Jul
(58) |
Aug
(91) |
Sep
(14) |
Oct
(23) |
Nov
(56) |
Dec
(38) |
2009 |
Jan
(58) |
Feb
(90) |
Mar
(204) |
Apr
(90) |
May
(27) |
Jun
(177) |
Jul
(116) |
Aug
(53) |
Sep
(42) |
Oct
(120) |
Nov
(51) |
Dec
(58) |
2010 |
Jan
(117) |
Feb
(231) |
Mar
(163) |
Apr
(90) |
May
(40) |
Jun
(139) |
Jul
(49) |
Aug
(118) |
Sep
(25) |
Oct
(80) |
Nov
(102) |
Dec
(99) |
2011 |
Jan
(176) |
Feb
(42) |
Mar
(60) |
Apr
(52) |
May
(30) |
Jun
(29) |
Jul
(27) |
Aug
(16) |
Sep
(51) |
Oct
(70) |
Nov
(63) |
Dec
(58) |
2012 |
Jan
(28) |
Feb
(26) |
Mar
(7) |
Apr
(12) |
May
(41) |
Jun
(61) |
Jul
(59) |
Aug
(38) |
Sep
(30) |
Oct
(28) |
Nov
(14) |
Dec
(31) |
2013 |
Jan
(24) |
Feb
(54) |
Mar
(45) |
Apr
(22) |
May
(35) |
Jun
(8) |
Jul
(18) |
Aug
(38) |
Sep
(11) |
Oct
(8) |
Nov
(19) |
Dec
(20) |
2014 |
Jan
(20) |
Feb
(22) |
Mar
(4) |
Apr
(6) |
May
(13) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(6) |
2015 |
Jan
|
Feb
(1) |
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(1) |
2016 |
Jan
(4) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
(2) |
Aug
(4) |
Sep
(1) |
Oct
(1) |
Nov
(1) |
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(3) |
Jul
(8) |
Aug
(13) |
Sep
(12) |
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
2021 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <gok...@us...> - 2013-08-19 05:51:13
|
Revision: 1142 http://sourceforge.net/p/tutos/code/1142 Author: gokohnert Date: 2013-08-19 05:51:11 +0000 (Mon, 19 Aug 2013) Log Message: ----------- use also max post to evaluate maximum file transfer Modified Paths: -------------- trunk/.htaccess trunk/php/file/file_new.php trunk/php/webelements.p3 Modified: trunk/.htaccess =================================================================== --- trunk/.htaccess 2013-08-19 05:49:41 UTC (rev 1141) +++ trunk/.htaccess 2013-08-19 05:51:11 UTC (rev 1142) @@ -56,13 +56,14 @@ # If Options are allowed you can enable the php_value <IfModule mod_php5.c> -#php_value mbstring.func_overload "1" -#php_value upload_max_filesize "20M" -#php_value memory_limit "256M" -#php_value ignore_repeated_errors "1" -#php_value magic_quotes_gpc "0" -#php_value arg_separator.output "&" -#php_value max_input_vars "2048" +# php_value mbstring.func_overload "1" +# php_value upload_max_filesize "20M" +# php_value post_max_size "20M" +# php_value memory_limit "256M" +# php_value ignore_repeated_errors "1" +# php_value magic_quotes_gpc "0" +# php_value arg_separator.output "&" +# php_value max_input_vars "2048" # php_value eaccelerator.enable "0" # php_value apc.enabled "0" </IfModule> Modified: trunk/php/file/file_new.php =================================================================== --- trunk/php/file/file_new.php 2013-08-19 05:49:41 UTC (rev 1141) +++ trunk/php/file/file_new.php 2013-08-19 05:51:11 UTC (rev 1142) @@ -47,23 +47,21 @@ $r .= $this->Headline(); $r .= $this->acl_line(true); - $r .= "<tr>\n"; + $r .= $this->EditRowStart(); $r .= $this->showfieldc($lang['FileNameDoc'],0,"name"); $r .= ' <td><input id="name" maxlength="'.$table['file']['name'][size]."\" name=\"name\" value=\"". $this->obj->name ."\" /></td>\n"; $r .= $this->showfieldc($lang['FileVersion'],0,"version"); $r .= ' <td><input id="version" size="10" maxlength="'.$table['file']['version'][size].'" name="version" value="'. $this->obj->version ."\" /></td>\n"; - $r .= "</tr>\n"; + $r .= $this->EditRowEnd(); - $r .= "<tr>\n"; + $r .= $this->EditRowStart(); $r .= $this->showfieldc($lang['FileAuthor'],0,"a"); - $r .= " <td colspan=\"3\">\n"; - $r .= select_from_array_or_input($this->obj,"a",$this->obj->author,0,array(useaddressbook,useteams,usecompany,usedepartment)); - $r .= " </td>\n"; - $r .= "</tr>\n"; + $r .= $this->showdata(select_from_array_or_input($this->obj,"a",$this->obj->author,0,array(useaddressbook,useteams,usecompany,usedepartment)),$this->width-1); + $r .= $this->EditRowEnd(); $cnt = 0; foreach ($this->obj->links as $i => $f) { - $r .= "<tr>\n"; + $r .= $this->EditRowStart(); if ($cnt == 0) { $r .= $this->showfield($lang['FileReference'],0,"link_id_".$cnt); } else { @@ -83,10 +81,10 @@ } $r .= " </td>\n"; - $r .= "</tr>\n"; + $r .= $this->EditRowEnd(); } // Allow new References - $r .= "<tr>\n"; + $r .= $this->EditRowStart(); if ($cnt == 0) { $r .= $this->showfield($lang['FileReference'],0,"link_id_".$cnt); } else { @@ -123,44 +121,42 @@ $r .= " <input name=\"refname\" size=\"30\" value=\"". myentities($this->refname)."\" />\n"; $r .= " </td>\n"; } - $r .= "</tr>\n"; + $r .= $this->EditRowEnd(); - $r .= "<tr>\n"; + $r .= $this->EditRowStart(); $r .= $this->showfield($lang['FileName'],0,"file"); $r .= ' <td colspan="3"><input id="file1" size="40" name="file1" type="file" value="'. $this->obj->filename ."\" />\n"; if ( $this->obj->id != -1 ) { $r .= '<br /><span class="small">'. $this->obj->filename .'</span>'; } - $r .= '<br /><span class="small">(max. allowed size = '. ini_get('upload_max_filesize') .' Bytes)</span>'; + $r .= '<br /><span class="small">(max. allowed size = '. min(ini_get_number('upload_max_filesize'),ini_get_number('post_max_size'))/(1024*1024) .' Megabytes)</span>'; $r .= " </td>\n"; - $r .= "</tr>\n"; + $r .= $this->EditRowEnd(); if ($tutos['file_local_allow'] == 1 && is_dir($tutos['file_local_searchpath']) ) { - $r .= "<tr>\n"; + $r .= $this->EditRowStart(); $r .= $this->showfield($lang['FileName'],0,"file2"); - $r .= ' <td colspan="4"><i>'. sprintf($lang['FileLocalInfo'],$tutos['file_local_searchpath'])."</i></td>\n"; - $r .= "</tr>\n"; - $r .= "<tr>\n"; - $r .= " <td></td>\n"; - $r .= " <td id=\"file\" colspan=\"3\">\n"; + $r .= $this->showdata('<i>'. sprintf($lang['FileLocalInfo'],$tutos['file_local_searchpath']).'</i>',$this->width-1); + $r .= $this->EditRowEnd(); - $r .= tutos_file::get_local_selection(); - $r .= " </td>\n"; - $r .= "</tr>\n"; + $r .= $this->EditRowStart(); + $r .= $this->showfield(''); + $r .= $this->showdata(tutos_file::get_local_selection(),$this->width-1); + $r .= $this->EditRowEnd(); } if ( ($this->obj->id != -1) && ($this->obj->vsys != 0) ) { - $r .= "<tr>\n"; + $r .= $this->EditRowStart(); $r .= $this->showfield($lang['FileVersioning'],0,"save"); $r .= " <td id=\"save\" colspan=\"3\">\n"; $r .= ' <span class="small"><i>'. $lang['FileVersioningI'] ."</i></span><br />\n"; $r .= ' <input type="radio" name="save" value="0" /> '. sprintf($lang['FileOverwrite'],$this->obj->getFullname()) ."<br />\n"; $r .= ' <input type="radio" name="save" value="1" checked="checked" /> '. sprintf($lang['FileSave'],$this->obj->name,$this->obj->version) ."\n"; $r .= " </td>\n"; - $r .= "</tr>\n"; + $r .= $this->EditRowEnd(); } if ( $this->obj->id == -1 ) { - $r .= "<tr>\n"; + $r .= $this->EditRowStart(); $r .= $this->showfield($lang['FileVersionType'],0,"vsys"); $r .= " <td id=\"vsys\" colspan=\"3\"> \n"; $r .= ' <span class="small"><i>'. $lang['FileVersionTypeI'] ."</i></span><br />\n"; @@ -170,16 +166,16 @@ $r .= " <input type=\"radio\" name=\"vsys\" value=\"2\"". ( $this->obj->vsys == 2 ? ' checked="checked"':'') ." /> RCS \n"; } $r .= " </td>\n"; - $r .= "</tr>\n"; + $r .= $this->EditRowEnd(); } - $r .= "<tr>\n"; + $r .= $this->EditRowStart(); $r .= $this->showfield($lang['FileLocking'],0,"locked"); $r .= " <td id=\"locked\" colspan=\"3\"> \n"; $r .= " <input type=\"radio\" name=\"locked\" value=\"0\" ". ( $this->obj->locked == 0 ? ' checked="checked"':'') ." /> ". $lang['FileUnlocked'] ."\n"; $r .= " <input type=\"radio\" name=\"locked\" value=\"". $this->user->id ."\"". ( $this->obj->locked == $this->user->id ? ' checked="checked"':'') ." /> ". sprintf ($lang['FileLocked'], $this->user->getLink()) ."\n" ; $r .= " </td>\n"; - $r .= "</tr>\n"; + $r .= $this->EditRowEnd(); // Edit additional custom fields $r .= edit_custom_fields($this,$this->obj->gettype(),$this->obj,$this->width); @@ -213,21 +209,19 @@ $r .= $this->Headline($lang['FileConnect']); - $r .= "<tr>\n"; + $r .= $this->EditRowStart(); $r .= $this->showfield($lang['FileReference'],0,"link_id_".$cnt); foreach($this->obj->links as $a) { break; } $r .= $this->showdata($lang[$a->getType()].': '.$a->getLink(),5); $this->addHidden("link_id",$a->id); - $r .= "</tr>\n"; + $r .= $this->EditRowEnd(); - $r .= "<tr>\n"; + $r .= $this->EditRowStart(); $r .= $this->showfield($lang['FileNameDoc'],1,'file3'); - $r .= " <td colspan=\"5\">\n"; - $r .= select_from_array_or_input($this->obj,'file3',$this->target,1,array(usedocmanagement)); - $r .= " </td>\n"; - $r .= "</tr>\n"; + $r .= $this->showdata(select_from_array_or_input($this->obj,'file3',$this->target,1,array(usedocmanagement)),$this->width-1); + $r .= $this->EditRowEnd(); if ( isset($this->obj->id) && ($this->obj->id != -1) ) { $r .= $this->submit_reset_row(0,1,1,1,1,0); @@ -346,4 +340,4 @@ <!-- SVN Info $Id$ $Author$ ---> +--> \ No newline at end of file Modified: trunk/php/webelements.p3 =================================================================== --- trunk/php/webelements.p3 2013-08-19 05:49:41 UTC (rev 1141) +++ trunk/php/webelements.p3 2013-08-19 05:51:11 UTC (rev 1142) @@ -31,6 +31,20 @@ define('EMPTY','#'); /** + * get a ini value that is possibly noted as M or K + */ +function ini_get_number($key) { + $x = ini_get($key); + $regs = array(); + if (preg_match('/^([0-9].*)M$/',$x,$regs)) { + $x = $regs[1] * 1024 * 1024; + } else if (preg_match('/^([0-9].*)K$/',$x,$regs)) { + $x = $regs[1] * 1024; + } + return $x; +} + +/** * format a given byte count in a human readable form */ function format_size($s) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-19 05:49:45
|
Revision: 1141 http://sourceforge.net/p/tutos/code/1141 Author: gokohnert Date: 2013-08-19 05:49:41 +0000 (Mon, 19 Aug 2013) Log Message: ----------- new activity icon Added Paths: ----------- trunk/html/brick.png Added: trunk/html/brick.png =================================================================== (Binary files differ) Index: trunk/html/brick.png =================================================================== --- trunk/html/brick.png 2013-08-15 17:35:39 UTC (rev 1140) +++ trunk/html/brick.png 2013-08-19 05:49:41 UTC (rev 1141) Property changes on: trunk/html/brick.png ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +image/png \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-15 17:35:42
|
Revision: 1140 http://sourceforge.net/p/tutos/code/1140 Author: gokohnert Date: 2013-08-15 17:35:39 +0000 (Thu, 15 Aug 2013) Log Message: ----------- scrum log in calendar (not yet final) Modified Paths: -------------- trunk/php/scrum/log_ajax.php trunk/php/scrum/scrum.pinc Modified: trunk/php/scrum/log_ajax.php =================================================================== --- trunk/php/scrum/log_ajax.php 2013-08-15 17:35:16 UTC (rev 1139) +++ trunk/php/scrum/log_ajax.php 2013-08-15 17:35:39 UTC (rev 1140) @@ -78,6 +78,7 @@ $v1->setDateTimeTS($_REQUEST['startts']); # error_log("Fixed Start : ". $v1->getDateTime() ."\r\n",3,$tutos[errlog]); $item->setStart($v1); + $item->setState(SCRUMLOGSTATE_TIME); $diff -= 1; unset($v1); // extend later Modified: trunk/php/scrum/scrum.pinc =================================================================== --- trunk/php/scrum/scrum.pinc 2013-08-15 17:35:16 UTC (rev 1139) +++ trunk/php/scrum/scrum.pinc 2013-08-15 17:35:39 UTC (rev 1140) @@ -192,6 +192,26 @@ } /** + * output the formatted reminder for a calendar + */ + function formatted () { + global $lang,$tutos,$current_user; + + $r = ''; + if ($this->mod_ok()) { + $class2 = 'dragable'; + } else { + $class2 = 'undragable'; + } + $r .= '<span class="left">LOG '.$this->getLink('#').' </span>'; + $r .= '<span class="right"> '.(is_object($this->p_ref) ? $this->p_ref->getLink():'??').'</span>'; + $class = 'note'; + + $r = '<li class="'.$class2.'"><div class="formatted '.$class.'" xid="'.$this->id.'">'.$r.'</div></li>'; + return $r; + } + + /** * get the name of activity object */ function getFullName() { @@ -368,11 +388,18 @@ if ( ($value <= -1) && ($this->sprint_id != -1) && $r ) { // we removed the worker but have a sprint $this->setState(SCRUMLOGSTATE_SPRINT); + $d = new TUTOS_Date_Time(); + $d->setNotime(); + $this->setStart($d); $this->worker = null; } if ( ($value > -1) && ($this->sprint_id != -1) && $r ) { // we have the worker and have a sprint - $this->setState(SCRUMLOGSTATE_WORKER); + if ($this->start_dt->notime) { + $this->setState(SCRUMLOGSTATE_WORKER); + } else { + $this->setState(SCRUMLOGSTATE_TIME); + } $this->worker = getObject($this->dbconn,$this->w_id); } return $r; @@ -844,6 +871,58 @@ return $r; } + /** + * checks if the log is planned that day + * Date d true if log is planned that date + */ + function inside (TUTOS_Date_Time $d) { + return ( $d->getYYYYMMDD() == $this->start_dt->getYYYYMMDD() ); + } + + /** + * Reading log entries for the calendar + */ + static function readCal(tutos_base $obj,TUTOS_Date_Time $from,TUTOS_Date_Time $to) { + global $current_user,$table; + + if ( ! $current_user->feature_ok(USESCRUMLOG,PERM_SEE) ) { + return; + } + + $from->setDateTime($from->getYYYYMMDD() . "000000"); + $to->setDateTime($to->getYYYYMMDD() . "000000"); + + $x1 = $obj->dbconn->DateTime($from); + $x2 = $obj->dbconn->DateTime($to); + // + // First query + // + $q = 'SELECT * FROM '. $obj->dbconn->prefix .$table['scrumlog'][name]; + $q .= ' WHERE state in ('.SCRUMLOGSTATE_WORKER.','. SCRUMLOGSTATE_TIME.','. SCRUMLOGSTATE_RUN.','.SCRUMLOGSTATE_DONE.','.SCRUMLOGSTATE_TEST.')'; + $q .= ' AND (start_dt < '. $x2 .' AND start_dt >= '. $x1 .')'; + $q .= ' AND w_id in ('. $obj->id; + foreach ( $obj->teamlist as $i => $f ) { + $q .= ','.$i; + } + $q .= ')'; + + $q .= ' ORDER by start_dt'; + $r = $obj->dbconn->Exec($q); + + $n = $r->NumRows($r); + $a = 0; + while ( $a < $n ) { + $o = new ScrumLog($obj->dbconn); + $o->read_result($r,$a); + $a++; + if ( $o->see_ok() ) { + $obj->callist[$o->id] = &$o; + } + unset($o); + } + $r->free(); + + } } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-15 17:35:19
|
Revision: 1139 http://sourceforge.net/p/tutos/code/1139 Author: gokohnert Date: 2013-08-15 17:35:16 +0000 (Thu, 15 Aug 2013) Log Message: ----------- fix Modified Paths: -------------- trunk/php/graphs.pinc trunk/php/layout/layout_base.pinc Modified: trunk/php/graphs.pinc =================================================================== --- trunk/php/graphs.pinc 2013-08-15 17:34:24 UTC (rev 1138) +++ trunk/php/graphs.pinc 2013-08-15 17:35:16 UTC (rev 1139) @@ -198,9 +198,10 @@ ".$options.", seriesDefaults: { renderer: $.jqplot.BarRenderer, - barPadding: 6, - barMargin: 40, - varyBarColor: true, + rendererOptions: { + barMargin: 3, + varyBarColor: true + }, pointLabels: { show: true, formatString: '%.2f' } }, grid: { @@ -295,7 +296,7 @@ $tutos['js_to_load'][] = '/html/js/plugins/jqplot.DateAxisRenderer.min.js'; $tutos['js_to_load'][] = '/html/js/plugins/jqplot.barRenderer.min.js'; $tutos['css_to_load'][] = '/html/css/jquery.jqplot.min.css'; - $r .= '<div id="bar'.$id.'" style="height:'.(GB_HEIGHT*1.5).'px;width:'.GB_WIDTH.'px; "></div>'; + $r .= '<div id="bar'.$id.'" style="height:'.(GB_HEIGHT*1.5).'px;width:'.(GB_WIDTH*1).'px; "></div>'; $data = '[['; $tick = '['; $options = " title:'".$a['title']."'"; @@ -322,10 +323,10 @@ ".$options.", seriesDefaults: { renderer: $.jqplot.BarRenderer, - barPadding: 1, - barMargin: 1, - barWidth: 15, - varyBarColor: true, + rendererOptions: { + barMargin: 1, + varyBarColor: false + }, pointLabels: { show: true, formatString: '%d' } }, grid: { Modified: trunk/php/layout/layout_base.pinc =================================================================== --- trunk/php/layout/layout_base.pinc 2013-08-15 17:34:24 UTC (rev 1138) +++ trunk/php/layout/layout_base.pinc 2013-08-15 17:35:16 UTC (rev 1139) @@ -1025,7 +1025,7 @@ global $lang; $r = $this->ContentRowStart(); - $r .= ' <th colspan="'. ($this->width -1) .'">'; + $r .= ' <th colspan="'. (is_object($this->obj) ? ($this->width -1):$this->width) .'">'; if ($text != -1) { $r .= $text; } else if (is_object($this->obj)) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-15 17:34:27
|
Revision: 1138 http://sourceforge.net/p/tutos/code/1138 Author: gokohnert Date: 2013-08-15 17:34:24 +0000 (Thu, 15 Aug 2013) Log Message: ----------- add file info Modified Paths: -------------- trunk/php/delobject.php Modified: trunk/php/delobject.php =================================================================== --- trunk/php/delobject.php 2013-08-15 17:33:21 UTC (rev 1137) +++ trunk/php/delobject.php 2013-08-15 17:34:24 UTC (rev 1138) @@ -1,6 +1,6 @@ <?php /** - * Copyright 1999 - 2012 by Gero Kohnert + * Copyright 1999 - 2013 by Gero Kohnert * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -9,6 +9,7 @@ * delte a object from the database * */ +$tutos['files'][__FILE__] = '$Rev$'; $tutos['base'] = ".."; require_once 'webelements.p3'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-15 17:33:24
|
Revision: 1137 http://sourceforge.net/p/tutos/code/1137 Author: gokohnert Date: 2013-08-15 17:33:21 +0000 (Thu, 15 Aug 2013) Log Message: ----------- fix handling of not moveable calendar entries Modified Paths: -------------- trunk/html/default.css trunk/php/appointment.pinc Modified: trunk/html/default.css =================================================================== --- trunk/html/default.css 2013-08-15 17:32:12 UTC (rev 1136) +++ trunk/html/default.css 2013-08-15 17:33:21 UTC (rev 1137) @@ -121,7 +121,6 @@ } li.undragable div.formatted, li.dragable div.formatted { - border-top: 1px solid black; margin-top: 1px; margin-left: 2px; padding: 0px 2px 0px 2px; @@ -130,6 +129,14 @@ float: left; } +li.undragable div.formatted { + border-top: 1px solid black; +} + +li.dragable div.formatted { + border-top: 1px solid darkgreen; +} + .dropable li { border: 0px; } Modified: trunk/php/appointment.pinc =================================================================== --- trunk/php/appointment.pinc 2013-08-15 17:32:12 UTC (rev 1136) +++ trunk/php/appointment.pinc 2013-08-15 17:33:21 UTC (rev 1137) @@ -154,6 +154,9 @@ if ( $obj->gettype() == 'reminder' ) { return true; } + if ( $obj->gettype() == 'scrumlog' ) { + return true; + } return false; } @@ -839,6 +842,23 @@ $q = 'DELETE FROM '. $this->tablename2 .' WHERE app_id = '. $this->id; $r = $this->dbconn->Exec($q); $r->free(); + + // Manage the permissions + if ( $this->mod_allow == CAL_MODPRIV ) { + $this->acl_raise($this->creator->id,$tutos[delok]); + $this->acl_set($this->getObjectGroupId(2),0); + } else if ( $this->mod_allow == CAL_MODUSER ) { + $this->acl_raise($current_user->id,$tutos[delok]); + $this->acl_set($this->getObjectGroupId(2),0); + } else if ( $this->mod_allow == CAL_MODPART ) { + $this->acl_raise($this->getObjectGroupId(2),$tutos[delok]); + } else if ( $this->mod_allow == CAL_MODALL ) { + $this->acl_raise($this->getObjectGroupId(2),0); + $this->acl_raise(EVERYBODY,$tutos[delok]); + } + // Participants can (at least) SEE + $this->acl_raise($this->getObjectGroupId(2),$tutos[seeok]); + } else { $new = 1; $this->modified = array(); @@ -860,26 +880,27 @@ $r = $this->dbconn->Exec($q->getInsert()); $r->free(); - } - // Manage the permissions - $this->acl = array(); - if ( $this->mod_allow == CAL_MODPRIV ) { - $this->acl_raise($this->creator->id,$tutos[delok]); - $this->acl_raise($this->getObjectGroupId(2),$tutos[delok]); - } else if ( $this->mod_allow == CAL_MODUSER ) { - $this->acl_default(); - $this->acl_raise($current_user->id,$tutos[delok]); - } else if ( $this->mod_allow == CAL_MODPART ) { - $this->acl_default(); - $this->acl_raise($this->getObjectGroupId(2),$tutos[delok]); - } else if ( $this->mod_allow == CAL_MODALL ) { - $this->acl_default(); - $this->acl_raise($this->getObjectGroupId(2),$tutos[delok]); - $this->acl_raise(EVERYBODY,$tutos[delok]); + // Manage the permissions + $this->acl = array(); + if ( $this->mod_allow == CAL_MODPRIV ) { + $this->acl_raise($this->creator->id,$tutos[delok]); + $this->acl_set($this->getObjectGroupId(2),0); + } else if ( $this->mod_allow == CAL_MODUSER ) { + $this->acl_default(); + $this->acl_raise($current_user->id,$tutos[delok]); + $this->acl_set($this->getObjectGroupId(2),0); + } else if ( $this->mod_allow == CAL_MODPART ) { + $this->acl_default(); + $this->acl_raise($this->getObjectGroupId(2),$tutos[delok]); + } else if ( $this->mod_allow == CAL_MODALL ) { + $this->acl_raise($this->getObjectGroupId(2),0); + $this->acl_raise(EVERYBODY,$tutos[delok]); + } + + // Participants can (at least) SEE + $this->acl_raise($this->getObjectGroupId(2),$tutos[seeok]); } - // Participants can (at least) SEE - $this->acl_raise($this->getObjectGroupId(2),$tutos[seeok]); /* Now we add all references to the participants */ @@ -1978,7 +1999,7 @@ * from and to are TUTOS DateTime objects * farray a array with locations (ids) to show defaults to show all */ - function readCal(&$obj, &$from, &$to, $farray = -1) { + static function readCal(tutos_base $obj,TUTOS_Date_Time $from,TUTOS_Date_Time $to, $farray = -1) { global $msg,$current_user,$table; if ( ! $current_user->feature_ok(usecalendar,PERM_SEE) ) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-15 17:32:14
|
Revision: 1136 http://sourceforge.net/p/tutos/code/1136 Author: gokohnert Date: 2013-08-15 17:32:12 +0000 (Thu, 15 Aug 2013) Log Message: ----------- scrum log in calendar (not yet final) Modified Paths: -------------- trunk/php/note/note.pinc Modified: trunk/php/note/note.pinc =================================================================== --- trunk/php/note/note.pinc 2013-08-15 17:31:02 UTC (rev 1135) +++ trunk/php/note/note.pinc 2013-08-15 17:32:12 UTC (rev 1136) @@ -758,7 +758,7 @@ * Reading Notes for the calendar * author J.Baten */ - function readCal(&$obj, &$from, &$to) { + static function readCal(tutos_base $obj,TUTOS_Date_Time $from,TUTOS_Date_Time $to) { global $current_user,$table; // read notes to display in calendar. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-15 17:31:05
|
Revision: 1135 http://sourceforge.net/p/tutos/code/1135 Author: gokohnert Date: 2013-08-15 17:31:02 +0000 (Thu, 15 Aug 2013) Log Message: ----------- scrum log in calendar (not yet final) Modified Paths: -------------- trunk/php/module_base.pinc trunk/php/reminder/reminder.pinc trunk/php/scrum/mconfig.pinc trunk/php/task.pinc Modified: trunk/php/module_base.pinc =================================================================== --- trunk/php/module_base.pinc 2013-08-15 07:53:58 UTC (rev 1134) +++ trunk/php/module_base.pinc 2013-08-15 17:31:02 UTC (rev 1135) @@ -558,7 +558,7 @@ * given object (used mainly for calendars * from and to are TUTOS DateTime objects */ - function readCal(&$obj, &$from, &$to) { + static function readCal(tutos_base $obj,TUTOS_Date_Time $from,TUTOS_Date_Time $to) { return; } Modified: trunk/php/reminder/reminder.pinc =================================================================== --- trunk/php/reminder/reminder.pinc 2013-08-15 07:53:58 UTC (rev 1134) +++ trunk/php/reminder/reminder.pinc 2013-08-15 17:31:02 UTC (rev 1135) @@ -890,10 +890,9 @@ /** * Reading reminders for the calendar */ - function readCal(&$obj, &$from, &$to) { + static function readCal(tutos_base $obj,TUTOS_Date_Time $from,TUTOS_Date_Time $to) { global $current_user,$table; - // read notes to display in calendar. if ( ! $current_user->feature_ok(usereminder,PERM_SEE) ) { return; } @@ -906,7 +905,7 @@ // // First query // - $q = "SELECT * FROM ". $obj->dbconn->prefix .$table['reminder'][name] ." WHERE "; + $q = 'SELECT * FROM '. $obj->dbconn->prefix .$table['reminder'][name] .' WHERE '; $q .= " (remind_date < ". $x2 ." AND remind_date >= ". $x1 .")"; $q .= " AND adr_id in (". $obj->id; foreach ( $obj->teamlist as $i => $f ) { Modified: trunk/php/scrum/mconfig.pinc =================================================================== --- trunk/php/scrum/mconfig.pinc 2013-08-15 07:53:58 UTC (rev 1134) +++ trunk/php/scrum/mconfig.pinc 2013-08-15 17:31:02 UTC (rev 1135) @@ -1,6 +1,6 @@ <?php /** - * Copyright 2003 - 2010 by Gero Kohnert + * Copyright 2003 - 2013 by Gero Kohnert * * Module specific configuration * @@ -8,10 +8,10 @@ * $Author$ */ $tutos['files'][__FILE__] = '$Rev$'; -# -# Every module must have an individual ID ( < 0 > -100 ). -# this is module 43 / 44 -# +// +// Every module must have an individual ID ( < 0 > -100 ). +// this is module 43 / 44 +// define('USESCRUMLOG',-44); define('USESCRUMSPRINT',-43); @@ -39,10 +39,10 @@ $tutos['defaultperm'][USESCRUMLOG] = 0; $tutos['defaultperm'][USESCRUMSPRINT] = 0; -# -# List of objects/modules where we do something with this module -# and need to include this module -# +// +// List of objects/modules where we do something with this module +// and need to include this module +// $tutos[modulesinc]['scrumsprint'][] = 'product'; $tutos[modulesinc]['scrumsprint'][] = 'scheme'; $tutos[modulesinc]['scrumsprint'][] = 'address'; @@ -51,15 +51,16 @@ $tutos[modulesinc]['scrumsprint'][] = 'menu'; // always appear in menus $tutos[modulesinc]['scrumlog'][] = 'product'; +$tutos[modulesinc]['scrumlog'][] = 'appointment'; $tutos[modulesinc]['scrumlog'][] = 'scrumsprint'; $tutos[modulesinc]['scrumlog'][] = 'task'; $tutos[modulesinc]['scrumlog'][] = 'bugtracking'; $tutos[modulesinc]['scrumlog'][] = 'scheme'; #$tutos[modulesinc]['scrumlog'][] = 'address'; -# -# modules that we use -# +// +// modules that we use +// $tutos[modulesinc]['timetrack'][] = 'scrumlog'; $tutos[modulesinc]['timetrack'][] = 'scrumsprint'; $tutos[modulesinc]['file'][] = 'scrumlog'; @@ -69,13 +70,13 @@ $tutos[modulesinc]['testsuite'][] = 'scrumlog'; $tutos[modulesinc]['testrun'][] = 'scrumlog'; -# -# modify those values using scrum_config -# here are only defaults -# +// +// modify those values using scrum_config +// here are only defaults +// $tutos['scrum_max_hours'] = 15; $tutos['scrum_allow_weekend'] = 0; $tutos['appref'][] = USESCRUMSPRINT; -?> +?> \ No newline at end of file Modified: trunk/php/task.pinc =================================================================== --- trunk/php/task.pinc 2013-08-15 07:53:58 UTC (rev 1134) +++ trunk/php/task.pinc 2013-08-15 17:31:02 UTC (rev 1135) @@ -2304,7 +2304,7 @@ * given object (compare readAppsCal in appointment.pinc) * start is a TUTOS DateTime object */ - function readCal(&$obj, &$from, &$to) { + static function readCal(tutos_base $obj,TUTOS_Date_Time $from,TUTOS_Date_Time $to) { global $current_user,$table; if ( ! $current_user->feature_ok(usetaskmanagement,PERM_SEE) ) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-15 07:54:03
|
Revision: 1134 http://sourceforge.net/p/tutos/code/1134 Author: gokohnert Date: 2013-08-15 07:53:58 +0000 (Thu, 15 Aug 2013) Log Message: ----------- introduce login method / ldap could fallback now to db Modified Paths: -------------- trunk/php/auth/auth.pinc trunk/php/auth/auth_cmdline.pinc trunk/php/auth/auth_db.pinc trunk/php/auth/auth_external.pinc trunk/php/auth/auth_google.pinc trunk/php/auth/auth_http.pinc trunk/php/auth/auth_ldap.pinc trunk/php/auth/auth_pam.pinc trunk/php/auth/auth_pwauth_db.pinc trunk/php/auth/auth_remoteuser.pinc trunk/php/auth/auth_typo3.pinc trunk/php/auth/auth_x509.pinc trunk/php/db.p3 trunk/php/module_template/AAA_select.php trunk/php/permission.p3 trunk/php/webelements.p3 Modified: trunk/php/auth/auth.pinc =================================================================== --- trunk/php/auth/auth.pinc 2013-08-14 12:54:58 UTC (rev 1133) +++ trunk/php/auth/auth.pinc 2013-08-15 07:53:58 UTC (rev 1134) @@ -41,6 +41,11 @@ } /** + * the method we use + */ + abstract function loginmethod() ; + + /** * initialize the standard variables * * @param Object $dbconn database connection Modified: trunk/php/auth/auth_cmdline.pinc =================================================================== --- trunk/php/auth/auth_cmdline.pinc 2013-08-14 12:54:58 UTC (rev 1133) +++ trunk/php/auth/auth_cmdline.pinc 2013-08-15 07:53:58 UTC (rev 1134) @@ -31,6 +31,13 @@ $this->dbnr = $this->getParameter("d"); } + /** + * the method we use + */ + function loginmethod() { + return 'CMD'; + } + function getParameter($x) { if (!isset($_SERVER['argc'])) { return ''; Modified: trunk/php/auth/auth_db.pinc =================================================================== --- trunk/php/auth/auth_db.pinc 2013-08-14 12:54:58 UTC (rev 1133) +++ trunk/php/auth/auth_db.pinc 2013-08-15 07:53:58 UTC (rev 1134) @@ -23,6 +23,13 @@ */ class auth_db extends auth{ /** + * the method we use + */ + function loginmethod() { + return 'DB'; + } + + /** * get the password */ function getpw() { Modified: trunk/php/auth/auth_external.pinc =================================================================== --- trunk/php/auth/auth_external.pinc 2013-08-14 12:54:58 UTC (rev 1133) +++ trunk/php/auth/auth_external.pinc 2013-08-15 07:53:58 UTC (rev 1134) @@ -68,6 +68,13 @@ } /** + * the method we use + */ + function loginmethod() { + return 'EXTERNAL'; + } + + /** * logout * return the next page for the redirect */ Modified: trunk/php/auth/auth_google.pinc =================================================================== --- trunk/php/auth/auth_google.pinc 2013-08-14 12:54:58 UTC (rev 1133) +++ trunk/php/auth/auth_google.pinc 2013-08-15 07:53:58 UTC (rev 1134) @@ -77,6 +77,13 @@ } /** + * the method we use + */ + function loginmethod() { + return 'GOOGLE'; + } + + /** * get the headline for login form */ function getHeadLine() { Modified: trunk/php/auth/auth_http.pinc =================================================================== --- trunk/php/auth/auth_http.pinc 2013-08-14 12:54:58 UTC (rev 1133) +++ trunk/php/auth/auth_http.pinc 2013-08-15 07:53:58 UTC (rev 1134) @@ -65,6 +65,13 @@ } /** + * the method we use + */ + function loginmethod() { + return 'HTTP'; + } + + /** * logout * return the next page for the redirect */ Modified: trunk/php/auth/auth_ldap.pinc =================================================================== --- trunk/php/auth/auth_ldap.pinc 2013-08-14 12:54:58 UTC (rev 1133) +++ trunk/php/auth/auth_ldap.pinc 2013-08-15 07:53:58 UTC (rev 1134) @@ -43,11 +43,18 @@ } /** + * the method we use + */ + function loginmethod() { + return 'LDAP'; + } + + /** * get the password */ function getpw() { - if ( isset($_REQUEST['lpw']) ) { - return $_REQUEST['lpw']; + if ( isset($_REQUEST['pw']) ) { + return $_REQUEST['pw']; } return ''; } @@ -56,8 +63,8 @@ * get the username */ function getuname() { - if ( isset($_REQUEST['luname']) ) { - return trim($_REQUEST['luname']); + if ( isset($_REQUEST['uname']) ) { + return trim($_REQUEST['uname']); } return ''; } @@ -76,7 +83,7 @@ function getUnameInput() { global $tutos, $table, $lang; - $xx = ' <input class="required_fld" id="luname" type="text" size="'. min($table['people']['login'][size],20) .'" maxlength="'. $table['people']['login'][size] .'" name="luname" value="" '; + $xx = ' <input class="required_fld" id="uname" type="text" size="'. min($table['people']['login'][size],20) .'" maxlength="'. $table['people']['login'][size] .'" name="uname" value="" '; if ( ($tutos[debug] == 0) && ($tutos['autocomplete'] == 0) ) { $xx .= ' autocomplete="off"'; } @@ -90,10 +97,10 @@ function getPwInput() { global $tutos, $table,$lang; - $xx = ' <input class="required_fld" id="lpw" type="password" size="'. min($table['people']['pw'][size],20) .'" maxlength="'. $table['people']['pw'][size] .'" name="lpw"'; + $xx = ' <input class="required_fld" id="pw" type="password" size="'. min($table['people']['pw'][size],20) .'" maxlength="'. $table['people']['pw'][size] .'" name="pw"'; $xx .= ' />'; - return array($lang['Password'],$xx,'lpw'); + return array($lang['Password'],$xx,'pw'); } /** @@ -126,13 +133,14 @@ dterror_log('check ldap '.$this->getuname()."\n", 3, $tutos[errlog]); - $q = 'SELECT a.*, p.*,p.id as u_id ,p.creator as cr_a, p.creation as cr_t FROM '. $this->dbconn->prefix .$table['people'][name].' p, '. $this->dbconn->prefix.$table['address'][name].' a WHERE'; + $q = 'SELECT a.*, p.*,p.id as u_id ,p.creator as cr_a, p.creation as cr_t FROM '. $this->dbconn->prefix .$table['people'][name].' p, '. $this->dbconn->prefix.$table['address'][name].' a'; + $q .= ' WHERE p.adr_id = a.id AND'; if ($this->dbconn->prep) { - $q .= ' login = $1 AND p.adr_id = a.id'; + $q .= ' p. login = $1'; $this->dbconn->addPStatement($q,'LOGINLDAP'); $result = $this->dbconn->execPStatement('LOGINLDAP',0,$this->dbconn->String($this->getuname())); } else { - $q .= ' login = '.$this->dbconn->String($this->getuname()).' AND p.adr_id = a.id'; + $q .= ' p.login = '.$this->dbconn->String($this->getuname()); $result = $this->dbconn->Exec($q); } Modified: trunk/php/auth/auth_pam.pinc =================================================================== --- trunk/php/auth/auth_pam.pinc 2013-08-14 12:54:58 UTC (rev 1133) +++ trunk/php/auth/auth_pam.pinc 2013-08-15 07:53:58 UTC (rev 1134) @@ -37,6 +37,13 @@ } /** + * the method we use + */ + function loginmethod() { + return 'PAM'; + } + + /** * get the password */ function getpw() { Modified: trunk/php/auth/auth_pwauth_db.pinc =================================================================== --- trunk/php/auth/auth_pwauth_db.pinc 2013-08-14 12:54:58 UTC (rev 1133) +++ trunk/php/auth/auth_pwauth_db.pinc 2013-08-15 07:53:58 UTC (rev 1134) @@ -33,6 +33,13 @@ } /** + * the method we use + */ + function loginmethod() { + return 'PWAUTH'; + } + + /** * get the username */ function getuname() { Modified: trunk/php/auth/auth_remoteuser.pinc =================================================================== --- trunk/php/auth/auth_remoteuser.pinc 2013-08-14 12:54:58 UTC (rev 1133) +++ trunk/php/auth/auth_remoteuser.pinc 2013-08-15 07:53:58 UTC (rev 1134) @@ -34,6 +34,13 @@ } /** + * the method we use + */ + function loginmethod() { + return 'REMOTEUSER'; + } + + /** * fake pw -> ready for check */ function getpw() { Modified: trunk/php/auth/auth_typo3.pinc =================================================================== --- trunk/php/auth/auth_typo3.pinc 2013-08-14 12:54:58 UTC (rev 1133) +++ trunk/php/auth/auth_typo3.pinc 2013-08-15 07:53:58 UTC (rev 1134) @@ -28,6 +28,13 @@ } /** + * the method we use + */ + function loginmethod() { + return 'TYPO'; + } + + /** * get the password */ function getpw() { Modified: trunk/php/auth/auth_x509.pinc =================================================================== --- trunk/php/auth/auth_x509.pinc 2013-08-14 12:54:58 UTC (rev 1133) +++ trunk/php/auth/auth_x509.pinc 2013-08-15 07:53:58 UTC (rev 1134) @@ -37,6 +37,13 @@ } /** + * the method we use + */ + function loginmethod() { + return 'X509'; + } + + /** * logout */ function mylogout() { Modified: trunk/php/db.p3 =================================================================== --- trunk/php/db.p3 2013-08-14 12:54:58 UTC (rev 1133) +++ trunk/php/db.p3 2013-08-15 07:53:58 UTC (rev 1134) @@ -337,13 +337,12 @@ if ( $tutos[debug] != 0 ) { $tutos['error_reporting'] = -1; - $r = Date("d.m.Y H:i:s T") ."\t"; if (isset($argv)) { - $r .= sprintf("%-45s",'via_cmdline').implode($argv,' '); + $r = sprintf("%-45s",'via_cmdline').implode($argv,' '); } else { - $r .= sprintf("%-40s%-5s ",$_SERVER['REMOTE_ADDR'],$_SERVER['REQUEST_METHOD']).$_SERVER['REQUEST_URI']; + $r = sprintf("%-40s%-5s ",$_SERVER['REMOTE_ADDR'],$_SERVER['REQUEST_METHOD']).$_SERVER['REQUEST_URI']; } - @error_log( trim($r) ."\n" ,3,$tutos[errlog].'.log'); + @dterror_log( trim($r) ."\n" ,3,$tutos[errlog].'.log'); ini_set('display_startup_errors','On'); ini_set('display_errors','On'); ini_set('xdebug.profiler_enable',1); Modified: trunk/php/module_template/AAA_select.php =================================================================== --- trunk/php/module_template/AAA_select.php 2013-08-14 12:54:58 UTC (rev 1133) +++ trunk/php/module_template/AAA_select.php 2013-08-15 07:53:58 UTC (rev 1134) @@ -48,9 +48,10 @@ $r .= $this->showdata('<input type="submit" value="'. $lang['Search'] .'" />',1); $r .= $this->ContentRowEnd(); + $this->help_popup('name',$lang['SearchForAAAHelp'],$lang['AAAName']); + $r .= $this->ContentRowStart(); $r .= $this->extend_select(); - $this->help_popup('name',$lang['SearchForAAAHelp'],$lang['AAAName']); $r .= $this->ContentRowEnd(); $r .= $this->ContentRowStart('ext'); @@ -111,4 +112,4 @@ <!-- SVN Info $Id$ $Author$ ---> +--> \ No newline at end of file Modified: trunk/php/permission.p3 =================================================================== --- trunk/php/permission.p3 2013-08-14 12:54:58 UTC (rev 1133) +++ trunk/php/permission.p3 2013-08-15 07:53:58 UTC (rev 1134) @@ -542,10 +542,10 @@ $_SESSION['userid'] = $current_user->id; $_SESSION['dbnr'] = $dbnr; ReadLang($lang); - $info .= sprintf($lang['Welcome_1'],$current_user->getFullname())."\n"; - $info .= '<br />'.sprintf($lang['Welcome_2'], $current_user->last_seen->getDateTime(),$current_user->last_host) ."<br />\n"; + $info = addLine($info,sprintf($lang['Welcome_1'],$current_user->getFullname())); + $info = addline($info,sprintf($lang['Welcome_2'],$current_user->last_seen->getDateTime(),$current_user->last_host).' ('.$a->loginMethod().')'); - logmessage("check_user: Logged in ". $current_user->id .":". $current_user->login .":". $current_user->getFullname()); + logmessage("check_user: Logged in ". $current_user->id .":". $current_user->login .":". $current_user->getFullname().' ('.$a->loginMethod().')'); $initial_auth = true; // store session id Modified: trunk/php/webelements.p3 =================================================================== --- trunk/php/webelements.p3 2013-08-14 12:54:58 UTC (rev 1133) +++ trunk/php/webelements.p3 2013-08-15 07:53:58 UTC (rev 1134) @@ -2922,7 +2922,7 @@ $r = $dbconn->Exec($q); $r->free(); - if ( ($obj != null) && isset($obj->def_tutos) && $obj->def_tutos[$name]) { + if ( ($obj != null) && isset($obj->def_tutos) && isset($obj->def_tutos[$name])) { return; // use default -> no object specific handling } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-14 12:55:00
|
Revision: 1133 http://sourceforge.net/p/tutos/code/1133 Author: gokohnert Date: 2013-08-14 12:54:58 +0000 (Wed, 14 Aug 2013) Log Message: ----------- fix layout Modified Paths: -------------- trunk/html/default.css Modified: trunk/html/default.css =================================================================== --- trunk/html/default.css 2013-08-09 16:37:16 UTC (rev 1132) +++ trunk/html/default.css 2013-08-14 12:54:58 UTC (rev 1133) @@ -108,7 +108,7 @@ border-top: 1px solid lightgrey; } -.dropable, .dragable { +.undragable, .dropable, .dragable { list-style-type: none; padding: 0; margin: 0; @@ -120,7 +120,7 @@ margin-top: 0px; } -li.dragable div.formatted { +li.undragable div.formatted, li.dragable div.formatted { border-top: 1px solid black; margin-top: 1px; margin-left: 2px; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-09 16:37:20
|
Revision: 1132 http://sourceforge.net/p/tutos/code/1132 Author: gokohnert Date: 2013-08-09 16:37:16 +0000 (Fri, 09 Aug 2013) Log Message: ----------- company code field enhanced to 16 Modified Paths: -------------- trunk/php/db/table.pinc Modified: trunk/php/db/table.pinc =================================================================== --- trunk/php/db/table.pinc 2013-08-09 16:13:22 UTC (rev 1131) +++ trunk/php/db/table.pinc 2013-08-09 16:37:16 UTC (rev 1132) @@ -618,7 +618,7 @@ 'field' => 'legal_name', 'lang' => 'CompanyLegalName', ), - 'company_code' => array(type => 'VARCHAR', size => 10, constraints => '', Desc => 'company code / xrms support', + 'company_code' => array(type => 'VARCHAR', size => 16, constraints => '', Desc => 'company code / xrms support', 'hideempty' => true, 'field' => 'company_code', 'lang' => 'CompanyCode', This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-09 16:13:25
|
Revision: 1131 http://sourceforge.net/p/tutos/code/1131 Author: gokohnert Date: 2013-08-09 16:13:22 +0000 (Fri, 09 Aug 2013) Log Message: ----------- fix Modified Paths: -------------- trunk/php/rss/rss.pinc Modified: trunk/php/rss/rss.pinc =================================================================== --- trunk/php/rss/rss.pinc 2013-08-09 13:50:20 UTC (rev 1130) +++ trunk/php/rss/rss.pinc 2013-08-09 16:13:22 UTC (rev 1131) @@ -293,6 +293,7 @@ $b = dirname(getBaseUrl()).'/'; $iconurl = $c->getHtmlIcon(); + $icon = ''; if ($iconurl != '') { $iconurl = normalize_url($b.'../html/'.$iconurl.'.gif'); $icon = '<img src="'.$iconurl.'" />'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-09 13:50:23
|
Revision: 1130 http://sourceforge.net/p/tutos/code/1130 Author: gokohnert Date: 2013-08-09 13:50:20 +0000 (Fri, 09 Aug 2013) Log Message: ----------- some rss fixes and extended text info Modified Paths: -------------- trunk/php/file/file.pinc trunk/php/installation/installation.pinc trunk/php/rss/news.php trunk/php/rss/rss.pinc Modified: trunk/php/file/file.pinc =================================================================== --- trunk/php/file/file.pinc 2013-08-09 12:21:39 UTC (rev 1129) +++ trunk/php/file/file.pinc 2013-08-09 13:50:20 UTC (rev 1130) @@ -546,6 +546,21 @@ } /** + * get the info as text + */ + function getAsText (&$lang) { + global $current_user; + + $r = parent::getAsText($lang); + + $r .= format_asText($lang['FileName'],$this->filename); + $r .= format_asText($lang['FileAuthor'],$this->author->getFullName()); + $r .= format_asText($lang['FileSize'],$this->filesize); + + return $r; + } + + /** * Shows more info on files */ function moreinfo($ly) { Modified: trunk/php/installation/installation.pinc =================================================================== --- trunk/php/installation/installation.pinc 2013-08-09 12:21:39 UTC (rev 1129) +++ trunk/php/installation/installation.pinc 2013-08-09 13:50:20 UTC (rev 1130) @@ -259,6 +259,27 @@ } /** + * get the info as text + */ + function getAsText (&$lang) { + global $current_user; + + $r = parent::getAsText($lang); + + if ( is_object($this->customer) && $this->customer->id != -1 ) { + $r .= format_asText($lang['Customer'],$this->customer->getFullName()); + } + if ( is_object($this->installer) && $this->installer->id != -1 ) { + $r .= format_asText($lang['InstalledBy'],$this->installer->getFullName()); + } + if ( is_object($this->seller) && $this->seller->id != -1 ) { + $r .= format_asText($lang['SoldBy'],$this->seller->getFullName()); + } + + return $r; + } + + /** * search for a installation * fill a array with possible installations * mode 1 fill objects @@ -827,4 +848,4 @@ return $r; } } -?> +?> \ No newline at end of file Modified: trunk/php/rss/news.php =================================================================== --- trunk/php/rss/news.php 2013-08-09 12:21:39 UTC (rev 1129) +++ trunk/php/rss/news.php 2013-08-09 13:50:20 UTC (rev 1130) @@ -73,11 +73,12 @@ $current_user->read_permissions(); read_config_values_by_tag($dbconn,array('product','task','main','timetrack')); - -# Time Format Sat, 07 Mar 2009 11:20:44 +0100 $r = ''; +// Time Format Sat, 07 Mar 2009 11:20:44 +0100 $r .= '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'."\n"; -$r .= ' <rss version="2.0" xmlns:atom="'."" rel="nofollow">http://www.w3.org/2005/Atom">'."\n"; +//$r .= ' <rss version="2.0" xmlns:atom="'."" rel="nofollow">http://www.w3.org/2005/Atom">'."\n"; +// +$r .= '<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">'."\n"; $r .= ' <channel>'."\n"; if ($msg == '') { $r .= $obj->create_header(); Modified: trunk/php/rss/rss.pinc =================================================================== --- trunk/php/rss/rss.pinc 2013-08-09 12:21:39 UTC (rev 1129) +++ trunk/php/rss/rss.pinc 2013-08-09 13:50:20 UTC (rev 1130) @@ -72,7 +72,7 @@ global $msg,$current_user,$lang; // open the database and lookup the key - $q = 'select * from '. $this->tablename.' where feed_key="'.$key .'"'; + $q = 'select * from '. $this->tablename.' where feed_key='.$this->dbconn->String($key) ; $result = $this->dbconn->Exec($q); if ($result->numrows() != 1) { $msg .= 'unknown key'; @@ -269,9 +269,9 @@ } $x = new TUTOS_Date_Time(); $r = ''; - $r .= '<atom:link href="'. getBaseUrl(). preg_replace("#&#","&",basename($_SERVER['REQUEST_URI'])) .'" rel="self" type="'.$this->type.'" />'."\n"; + // $r .= ' <atom:link href="'. getBaseUrl(). preg_replace("#&#","&",basename($_SERVER['REQUEST_URI'])) .'" rel="self" type="'.$this->type.'" />'."\n"; $r .= ' <title>'.myentities($name).'</title>'."\n"; - $r .= ' <link>'.getBaseUrl(false).'../</link>'."\n"; + $r .= ' <link>'.normalize_url(getBaseUrl(false).'../').'</link>'."\n"; $r .= ' <description>TUTOS RSS Feed</description>'."\n"; $r .= ' <language>en</language>'."\n"; $r .= ' <pubDate>'. Date('r',$x->ts) .'</pubDate>'."\n"; @@ -279,8 +279,7 @@ $r .= ' <lastBuildDate>'. Date('r',$x->ts) .'</lastBuildDate>'."\n"; $r .= ' <image>'."\n"; $r .= ' <title>'.myentities($name).'</title>'."\n"; - $r .= ' <link>'. getBaseUrl(false) .'../</link>'."\n"; - //$r .= ' <link>'.$current_user->dbconn->db->logolink .'</link>'."\n"; + $r .= ' <link>'. normalize_url(getBaseUrl(false) .'../').'</link>'."\n"; $r .= ' <url>'.dirname(dirname(getBaseUrl(false))).'/'.preg_replace("#&#","&",$this->dbconn->db->logo).'</url>'."\n"; $r .= ' </image>'."\n"; return $r; @@ -293,22 +292,27 @@ global $lang; $b = dirname(getBaseUrl()).'/'; - $icon = $c->getHtmlIcon(); - if ($icon != '') { - $icon = '<img src="'.$b.'../html/'.$icon.'.gif" />'; + $iconurl = $c->getHtmlIcon(); + if ($iconurl != '') { + $iconurl = normalize_url($b.'../html/'.$iconurl.'.gif'); + $icon = '<img src="'.$iconurl.'" />'; } $m = getObject($this->dbconn,$moduser); $r = ''; $r .= ' <item>'."\n"; - $r .= ' <title>'. myentities($lang[$c->getType()].': '. $c->getFullName()) .'</title>'."\n"; + $r .= ' <title>'. myentities(myentities($lang[$c->getType()].': '. $c->getFullName())) .'</title>'."\n"; $r .= ' <link>'. $b.$c->getUrl() .'</link>'."\n"; + $r .= ' <pubDate>'. Date('r',$c->creation->ts) .'</pubDate>'."\n"; $r .= ' <guid>'. $b.$c->getUrl() .'&gx='. $c->creation->ts.'</guid>'."\n"; $r .= ' <description>'; - $r .= (is_object($m) ? $m->getFullName():'').' '.$lang['created'].' '. $lang[$c->getType()].': '.myentities( $icon.'<a href="'.$b.$c->getUrl().'">'.$c->getFullName().'</a><br /><pre>'.$c->getAsText($lang).'</pre>')."\n"; - $r .= ' </description>'."\n"; + $r .= myentities(myentities((is_object($m) ? $m->getFullName().' ':'').$lang['created'].' '. $lang[$c->getType()].': '.$c->getFullName())); + $r .= '</description>'."\n"; $r .= ' <category>creation</category>'."\n"; //$r .= ' <content:encoded><![CDATA[Someone created a new TUTOS Object:'. $c->getFullName().']]></content:encoded>'."\n"; - $r .= ' <pubDate>'. Date('r',$c->creation->ts) .'</pubDate>'."\n"; + $r .= ' <content:encoded><![CDATA['; + $r .= (is_object($m) ? $m->getFullName().' ':'').$lang['created']."<br />\n". $lang[$c->getType()].': '.$icon.'<a href="'.normalize_url($b.$c->getUrl()).'">'.$c->getFullName()."</a><br />\n<pre>".$c->getAsText($lang).'</pre>'; + $r .= ']]></content:encoded>'."\n"; + //$r .= ' <enclosure url="'.$iconurl.'">'."\n"; // $r .= ' <dc:creator>'.$c->creator->getFullName().'</dc:creator>'; $r .= ' </item>'."\n"; return $r; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-09 12:21:42
|
Revision: 1129 http://sourceforge.net/p/tutos/code/1129 Author: gokohnert Date: 2013-08-09 12:21:39 +0000 (Fri, 09 Aug 2013) Log Message: ----------- fix Modified Paths: -------------- trunk/php/rss/rss.pinc Modified: trunk/php/rss/rss.pinc =================================================================== --- trunk/php/rss/rss.pinc 2013-08-06 09:41:15 UTC (rev 1128) +++ trunk/php/rss/rss.pinc 2013-08-09 12:21:39 UTC (rev 1129) @@ -72,7 +72,7 @@ global $msg,$current_user,$lang; // open the database and lookup the key - $q = 'select * from '. $this->tablename.' where feed_key="'.$key ."'"; + $q = 'select * from '. $this->tablename.' where feed_key="'.$key .'"'; $result = $this->dbconn->Exec($q); if ($result->numrows() != 1) { $msg .= 'unknown key'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-06 09:41:19
|
Revision: 1128 http://sourceforge.net/p/tutos/code/1128 Author: gokohnert Date: 2013-08-06 09:41:15 +0000 (Tue, 06 Aug 2013) Log Message: ----------- update jquery and jquery UI Modified Paths: -------------- trunk/html/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png trunk/html/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png trunk/html/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png trunk/html/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png trunk/html/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png trunk/html/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png trunk/html/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png trunk/html/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png trunk/html/css/smoothness/images/ui-icons_222222_256x240.png trunk/html/css/smoothness/images/ui-icons_2e83ff_256x240.png trunk/html/css/smoothness/images/ui-icons_454545_256x240.png trunk/html/css/smoothness/images/ui-icons_888888_256x240.png trunk/html/css/smoothness/images/ui-icons_cd0a0a_256x240.png trunk/html/css/smoothness/jquery-ui.custom.css trunk/html/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png trunk/html/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png trunk/html/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png trunk/html/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png trunk/html/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png trunk/html/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png trunk/html/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png trunk/html/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png trunk/html/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png trunk/html/css/ui-lightness/jquery-ui.custom.css trunk/html/js/jquery-ui-i18n.js trunk/html/js/jquery-ui.custom.min.js trunk/html/js/jquery.min.js Modified: trunk/html/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png =================================================================== (Binary files differ) Modified: trunk/html/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png =================================================================== (Binary files differ) Modified: trunk/html/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png =================================================================== (Binary files differ) Modified: trunk/html/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png =================================================================== (Binary files differ) Modified: trunk/html/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png =================================================================== (Binary files differ) Modified: trunk/html/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png =================================================================== (Binary files differ) Modified: trunk/html/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png =================================================================== (Binary files differ) Modified: trunk/html/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png =================================================================== (Binary files differ) Modified: trunk/html/css/smoothness/images/ui-icons_222222_256x240.png =================================================================== (Binary files differ) Modified: trunk/html/css/smoothness/images/ui-icons_2e83ff_256x240.png =================================================================== (Binary files differ) Modified: trunk/html/css/smoothness/images/ui-icons_454545_256x240.png =================================================================== (Binary files differ) Modified: trunk/html/css/smoothness/images/ui-icons_888888_256x240.png =================================================================== (Binary files differ) Modified: trunk/html/css/smoothness/images/ui-icons_cd0a0a_256x240.png =================================================================== (Binary files differ) Modified: trunk/html/css/smoothness/jquery-ui.custom.css =================================================================== --- trunk/html/css/smoothness/jquery-ui.custom.css 2013-08-06 08:57:23 UTC (rev 1127) +++ trunk/html/css/smoothness/jquery-ui.custom.css 2013-08-06 09:41:15 UTC (rev 1128) @@ -1,5 +1,5 @@ -/*! jQuery UI - v1.10.1 - 2013-02-15 +/*! jQuery UI - v1.10.3 - 2013-08-06 * http://jqueryui.com -* Includes: jquery.ui.core.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css -* To view and modify this theme, visit http://jqueryui.com/themeroller/ -* Copyright (c) 2013 jQuery Foundation and other contributors Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin-top:2px;padding:.5em .5em .5em .7em;min-height:0}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-noicons{padding-left:.7em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:21px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:none}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:normal}.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{font-weight:normal;margin:-1px}.ui-menu .ui-state-disabled{font-weight:normal;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("images/animated-overlay.gif");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav li a{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active a,.ui-tabs .ui-tabs-nav li.ui-state-disabled a,.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text}.ui-tabs .ui-tabs-nav li a,.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #aaa;background:#fff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:#e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #999;background:#dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#212121;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px;background-position:16px 16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-state-default .ui-icon{background-image:url(images/ui-icons_888888_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-active .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_2e83ff_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_cd0a0a_256x240.png)}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px} \ No newline at end of file +* Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px +* Copyright 2013 jQuery Foundation and other contributors Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted #000}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin-top:2px;padding:.5em .5em .5em .7em;min-height:0}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-noicons{padding-left:.7em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:700;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:21px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:0}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%;list-style-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:400}.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{font-weight:400;margin:-1px}.ui-menu .ui-state-disabled{font-weight:400;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url(images/animated-overlay.gif);height:100%;filter:alpha(opacity=25);opacity:.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:0;background:0;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:0;border-bottom:0;border-right:0}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav li a{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active a,.ui-tabs .ui-tabs-nav li.ui-state-disabled a,.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text}.ui-tabs .ui-tabs-nav li a,.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:0}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #aaa;background:#fff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:#e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #999;background:#dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#212121;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-state-default .ui-icon{background-image:url(images/ui-icons_888888_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-active .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_2e83ff_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_cd0a0a_256x240.png)}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px} \ No newline at end of file Modified: trunk/html/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png =================================================================== (Binary files differ) Modified: trunk/html/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png =================================================================== (Binary files differ) Modified: trunk/html/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png =================================================================== (Binary files differ) Modified: trunk/html/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png =================================================================== (Binary files differ) Modified: trunk/html/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png =================================================================== (Binary files differ) Modified: trunk/html/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png =================================================================== (Binary files differ) Modified: trunk/html/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png =================================================================== (Binary files differ) Modified: trunk/html/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png =================================================================== (Binary files differ) Modified: trunk/html/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png =================================================================== (Binary files differ) Modified: trunk/html/css/ui-lightness/jquery-ui.custom.css =================================================================== --- trunk/html/css/ui-lightness/jquery-ui.custom.css 2013-08-06 08:57:23 UTC (rev 1127) +++ trunk/html/css/ui-lightness/jquery-ui.custom.css 2013-08-06 09:41:15 UTC (rev 1128) @@ -1,5 +1,5 @@ -/*! jQuery UI - v1.10.1 - 2013-02-23 +/*! jQuery UI - v1.10.3 - 2013-08-06 * http://jqueryui.com * Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=gloss_wave&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=highlight_soft&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=glass&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=glass&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=diagonals_thick&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=diagonals_thick&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=flat&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&o... [truncated message content] |
From: <gok...@us...> - 2013-08-06 08:57:26
|
Revision: 1127 http://sourceforge.net/p/tutos/code/1127 Author: gokohnert Date: 2013-08-06 08:57:23 +0000 (Tue, 06 Aug 2013) Log Message: ----------- mobile updated Modified Paths: -------------- trunk/html/js/jquery.mobile.min.js Modified: trunk/html/js/jquery.mobile.min.js =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-06 06:12:37
|
Revision: 1126 http://sourceforge.net/p/tutos/code/1126 Author: gokohnert Date: 2013-08-06 06:12:34 +0000 (Tue, 06 Aug 2013) Log Message: ----------- update jqplot Modified Paths: -------------- trunk/html/css/jquery.jqplot.min.css Modified: trunk/html/css/jquery.jqplot.min.css =================================================================== --- trunk/html/css/jquery.jqplot.min.css 2013-08-06 06:12:12 UTC (rev 1125) +++ trunk/html/css/jquery.jqplot.min.css 2013-08-06 06:12:34 UTC (rev 1126) @@ -1 +1 @@ -.jqplot-target{position:relative;color:#666;font-family:"Trebuchet MS",Arial,Helvetica,sans-serif;font-size:1em;}.jqplot-axis{font-size:.75em;}.jqplot-xaxis{margin-top:10px;}.jqplot-x2axis{margin-bottom:10px;}.jqplot-yaxis{margin-right:10px;}.jqplot-y2axis,.jqplot-y3axis,.jqplot-y4axis,.jqplot-y5axis,.jqplot-y6axis,.jqplot-y7axis,.jqplot-y8axis,.jqplot-y9axis,.jqplot-yMidAxis{margin-left:10px;margin-right:10px;}.jqplot-axis-tick,.jqplot-xaxis-tick,.jqplot-yaxis-tick,.jqplot-x2axis-tick,.jqplot-y2axis-tick,.jqplot-y3axis-tick,.jqplot-y4axis-tick,.jqplot-y5axis-tick,.jqplot-y6axis-tick,.jqplot-y7axis-tick,.jqplot-y8axis-tick,.jqplot-y9axis-tick,.jqplot-yMidAxis-tick{position:absolute;white-space:pre;}.jqplot-xaxis-tick{top:0;left:15px;vertical-align:top;}.jqplot-x2axis-tick{bottom:0;left:15px;vertical-align:bottom;}.jqplot-yaxis-tick{right:0;top:15px;text-align:right;}.jqplot-yaxis-tick.jqplot-breakTick{right:-20px;margin-right:0;padding:1px 5px 1px 5px;z-index:2;font-size:1.5em;}.jqplot-y2axis-tick,.jqplot-y3axis-tick,.jqplot-y4axis-tick,.jqplot-y5axis-tick,.jqplot-y6axis-tick,.jqplot-y7axis-tick,.jqplot-y8axis-tick,.jqplot-y9axis-tick{left:0;top:15px;text-align:left;}.jqplot-yMidAxis-tick{text-align:center;white-space:nowrap;}.jqplot-xaxis-label{margin-top:10px;font-size:11pt;position:absolute;}.jqplot-x2axis-label{margin-bottom:10px;font-size:11pt;position:absolute;}.jqplot-yaxis-label{margin-right:10px;font-size:11pt;position:absolute;}.jqplot-yMidAxis-label{font-size:11pt;position:absolute;}.jqplot-y2axis-label,.jqplot-y3axis-label,.jqplot-y4axis-label,.jqplot-y5axis-label,.jqplot-y6axis-label,.jqplot-y7axis-label,.jqplot-y8axis-label,.jqplot-y9axis-label{font-size:11pt;margin-left:10px;position:absolute;}.jqplot-meterGauge-tick{font-size:.75em;color:#999;}.jqplot-meterGauge-label{font-size:1em;color:#999;}table.jqplot-table-legend{margin-top:12px;margin-bottom:12px;margin-left:12px;margin-right:12px;}table.jqplot-table-legend,table.jqplot-cursor-legend{background-color:rgba(255,255,255,0.6);border:1px solid #ccc;position:absolute;font-size:.75em;}td.jqplot-table-legend{vertical-align:middle;}td.jqplot-seriesToggle:hover,td.jqplot-seriesToggle:active{cursor:pointer;}.jqplot-table-legend .jqplot-series-hidden{text-decoration:line-through;}div.jqplot-table-legend-swatch-outline{border:1px solid #ccc;padding:1px;}div.jqplot-table-legend-swatch{width:0;height:0;border-top-width:5px;border-bottom-width:5px;border-left-width:6px;border-right-width:6px;border-top-style:solid;border-bottom-style:solid;border-left-style:solid;border-right-style:solid;}.jqplot-title{top:0;left:0;padding-bottom:.5em;font-size:1.2em;}table.jqplot-cursor-tooltip{border:1px solid #ccc;font-size:.75em;}.jqplot-cursor-tooltip{border:1px solid #ccc;font-size:.75em;white-space:nowrap;background:rgba(208,208,208,0.5);padding:1px;}.jqplot-highlighter-tooltip,.jqplot-canvasOverlay-tooltip{border:1px solid #ccc;font-size:.75em;white-space:nowrap;background:rgba(208,208,208,0.5);padding:1px;}.jqplot-point-label{font-size:.75em;z-index:2;}td.jqplot-cursor-legend-swatch{vertical-align:middle;text-align:center;}div.jqplot-cursor-legend-swatch{width:1.2em;height:.7em;}.jqplot-error{text-align:center;}.jqplot-error-message{position:relative;top:46%;display:inline-block;}div.jqplot-bubble-label{font-size:.8em;padding-left:2px;padding-right:2px;color:rgb(20%,20%,20%);}div.jqplot-bubble-label.jqplot-bubble-label-highlight{background:rgba(90%,90%,90%,0.7);}div.jqplot-noData-container{text-align:center;background-color:rgba(96%,96%,96%,0.3);} \ No newline at end of file +.jqplot-target{position:relative;color:#666;font-family:"Trebuchet MS",Arial,Helvetica,sans-serif;font-size:1em}.jqplot-axis{font-size:.75em}.jqplot-xaxis{margin-top:10px}.jqplot-x2axis{margin-bottom:10px}.jqplot-yaxis{margin-right:10px}.jqplot-y2axis,.jqplot-y3axis,.jqplot-y4axis,.jqplot-y5axis,.jqplot-y6axis,.jqplot-y7axis,.jqplot-y8axis,.jqplot-y9axis,.jqplot-yMidAxis{margin-left:10px;margin-right:10px}.jqplot-axis-tick,.jqplot-xaxis-tick,.jqplot-yaxis-tick,.jqplot-x2axis-tick,.jqplot-y2axis-tick,.jqplot-y3axis-tick,.jqplot-y4axis-tick,.jqplot-y5axis-tick,.jqplot-y6axis-tick,.jqplot-y7axis-tick,.jqplot-y8axis-tick,.jqplot-y9axis-tick,.jqplot-yMidAxis-tick{position:absolute;white-space:pre}.jqplot-xaxis-tick{top:0;left:15px;vertical-align:top}.jqplot-x2axis-tick{bottom:0;left:15px;vertical-align:bottom}.jqplot-yaxis-tick{right:0;top:15px;text-align:right}.jqplot-yaxis-tick.jqplot-breakTick{right:-20px;margin-right:0;padding:1px 5px 1px 5px;z-index:2;font-size:1.5em}.jqplot-y2axis-tick,.jqplot-y3axis-tick,.jqplot-y4axis-tick,.jqplot-y5axis-tick,.jqplot-y6axis-tick,.jqplot-y7axis-tick,.jqplot-y8axis-tick,.jqplot-y9axis-tick{left:0;top:15px;text-align:left}.jqplot-yMidAxis-tick{text-align:center;white-space:nowrap}.jqplot-xaxis-label{margin-top:10px;font-size:11pt;position:absolute}.jqplot-x2axis-label{margin-bottom:10px;font-size:11pt;position:absolute}.jqplot-yaxis-label{margin-right:10px;font-size:11pt;position:absolute}.jqplot-yMidAxis-label{font-size:11pt;position:absolute}.jqplot-y2axis-label,.jqplot-y3axis-label,.jqplot-y4axis-label,.jqplot-y5axis-label,.jqplot-y6axis-label,.jqplot-y7axis-label,.jqplot-y8axis-label,.jqplot-y9axis-label{font-size:11pt;margin-left:10px;position:absolute}.jqplot-meterGauge-tick{font-size:.75em;color:#999}.jqplot-meterGauge-label{font-size:1em;color:#999}table.jqplot-table-legend{margin-top:12px;margin-bottom:12px;margin-left:12px;margin-right:12px}table.jqplot-table-legend,table.jqplot-cursor-legend{background-color:rgba(255,255,255,0.6);border:1px solid #ccc;position:absolute;font-size:.75em}td.jqplot-table-legend{vertical-align:middle}td.jqplot-seriesToggle:hover,td.jqplot-seriesToggle:active{cursor:pointer}.jqplot-table-legend .jqplot-series-hidden{text-decoration:line-through}div.jqplot-table-legend-swatch-outline{border:1px solid #ccc;padding:1px}div.jqplot-table-legend-swatch{width:0;height:0;border-top-width:5px;border-bottom-width:5px;border-left-width:6px;border-right-width:6px;border-top-style:solid;border-bottom-style:solid;border-left-style:solid;border-right-style:solid}.jqplot-title{top:0;left:0;padding-bottom:.5em;font-size:1.2em}table.jqplot-cursor-tooltip{border:1px solid #ccc;font-size:.75em}.jqplot-cursor-tooltip{border:1px solid #ccc;font-size:.75em;white-space:nowrap;background:rgba(208,208,208,0.5);padding:1px}.jqplot-highlighter-tooltip,.jqplot-canvasOverlay-tooltip{border:1px solid #ccc;font-size:.75em;white-space:nowrap;background:rgba(208,208,208,0.5);padding:1px}.jqplot-point-label{font-size:.75em;z-index:2}td.jqplot-cursor-legend-swatch{vertical-align:middle;text-align:center}div.jqplot-cursor-legend-swatch{width:1.2em;height:.7em}.jqplot-error{text-align:center}.jqplot-error-message{position:relative;top:46%;display:inline-block}div.jqplot-bubble-label{font-size:.8em;padding-left:2px;padding-right:2px;color:rgb(20%,20%,20%)}div.jqplot-bubble-label.jqplot-bubble-label-highlight{background:rgba(90%,90%,90%,0.7)}div.jqplot-noData-container{text-align:center;background-color:rgba(96%,96%,96%,0.3)} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-06 06:12:16
|
Revision: 1125 http://sourceforge.net/p/tutos/code/1125 Author: gokohnert Date: 2013-08-06 06:12:12 +0000 (Tue, 06 Aug 2013) Log Message: ----------- update jqplot Modified Paths: -------------- trunk/html/js/jquery.jqplot.min.js trunk/html/js/plugins/jqplot.barRenderer.min.js trunk/html/js/plugins/jqplot.canvasAxisLabelRenderer.min.js trunk/html/js/plugins/jqplot.canvasAxisTickRenderer.min.js trunk/html/js/plugins/jqplot.canvasTextRenderer.min.js trunk/html/js/plugins/jqplot.categoryAxisRenderer.min.js trunk/html/js/plugins/jqplot.cursor.min.js trunk/html/js/plugins/jqplot.dateAxisRenderer.min.js trunk/html/js/plugins/jqplot.donutRenderer.min.js trunk/html/js/plugins/jqplot.enhancedLegendRenderer.min.js trunk/html/js/plugins/jqplot.highlighter.min.js trunk/html/js/plugins/jqplot.pieRenderer.min.js trunk/html/js/plugins/jqplot.pointLabels.min.js Modified: trunk/html/js/jquery.jqplot.min.js =================================================================== --- trunk/html/js/jquery.jqplot.min.js 2013-08-06 06:11:46 UTC (rev 1124) +++ trunk/html/js/jquery.jqplot.min.js 2013-08-06 06:12:12 UTC (rev 1125) @@ -1,3 +1,3 @@ -/* jqPlot 1.0.6r1138 | (c) 2009-2013 Chris Leonello | jplot.com +/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com jsDate | (c) 2010-2013 Chris Leonello @@ Diff output truncated at 100000 characters. @@ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-06 06:11:49
|
Revision: 1124 http://sourceforge.net/p/tutos/code/1124 Author: gokohnert Date: 2013-08-06 06:11:46 +0000 (Tue, 06 Aug 2013) Log Message: ----------- load excanvas first Modified Paths: -------------- trunk/php/layout/layout_base.pinc Modified: trunk/php/layout/layout_base.pinc =================================================================== --- trunk/php/layout/layout_base.pinc 2013-08-06 06:10:58 UTC (rev 1123) +++ trunk/php/layout/layout_base.pinc 2013-08-06 06:11:46 UTC (rev 1124) @@ -217,6 +217,9 @@ $r = ''; // TUTOS javascript + $r .= ' <!--[if lt IE 9]>'; + $r .= ' <script type="text/javascript" language="JavaScript" src="'.$tutos['base'].'/html/js/excanvas.min.js"></script>'; + $r .= '<![endif]-->'."\n"; $r .= ' <script type="text/javascript" language="JavaScript" src="'.$tutos['base'].'/html/js/jquery.min.js"></script>'."\n"; $r .= ' <script type="text/javascript" language="JavaScript" src="'.$tutos['base'].'/html/js/jquery-migrate-1.1.1.js"></script>'."\n"; $r .= ' <script type="text/javascript" language="JavaScript" src="'.$tutos['base'].'/html/js/tutos.js"></script>'."\n"; @@ -232,9 +235,6 @@ $r = ''; // JQUERY javascript - $r .= ' <!--[if lt IE 9]>'; - $r .= ' <script type="text/javascript" language="JavaScript" src="'.$tutos['base'].'/html/js/excanvas.min.js"></script>'; - $r .= '<![endif]-->'."\n"; $r .= ' <script type="text/javascript" language="JavaScript" src="'.$tutos['base'].'/html/js/jquery.hoverIntent.minified.js"></script>'."\n"; $r .= ' <script type="text/javascript" language="JavaScript" src="'.$tutos['base'].'/html/js/jquery.bgiframe.min.js"></script>'."\n"; $r .= ' <script type="text/javascript" language="JavaScript" src="'.$tutos['base'].'/html/js/jquery-ui.custom.min.js"></script>'."\n"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-06 06:11:03
|
Revision: 1123 http://sourceforge.net/p/tutos/code/1123 Author: gokohnert Date: 2013-08-06 06:10:58 +0000 (Tue, 06 Aug 2013) Log Message: ----------- fix layout Modified Paths: -------------- trunk/php/admin/main_config.php Modified: trunk/php/admin/main_config.php =================================================================== --- trunk/php/admin/main_config.php 2013-08-04 15:15:10 UTC (rev 1122) +++ trunk/php/admin/main_config.php 2013-08-06 06:10:58 UTC (rev 1123) @@ -59,7 +59,7 @@ // time to live $r .= $this->OverviewRowStart($line); $r .= $this->showfield('timetolive'); - $r .= '<td><input name="timetolive" value="'.$tutos['timetolive'] .'" /></td>'; + $r .= '<td class="over_l"><input name="timetolive" value="'.$tutos['timetolive'] .'" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpTimeToLive']).'</td>'; $r .= $this->OverviewRowEnd($line++); // CSV delimiter @@ -84,21 +84,21 @@ // ProxyHost $r .= $this->OverviewRowStart($line); $r .= $this->showfield('proxy_host'); - $r .= '<td><input name="proxy_host" value="'.$tutos['proxy_host'] .'" /></td>'; + $r .= '<td class="over_l"><input name="proxy_host" value="'.$tutos['proxy_host'] .'" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpProxyHost']).'</td>'; $r .= $this->OverviewRowEnd($line++); // ProxyPort $r .= $this->OverviewRowStart($line); $r .= $this->showfield('proxy_port'); - $r .= '<td><input name="proxy_port" value="'.$tutos['proxy_port'] .'" /></td>'; + $r .= '<td class="over_l"><input name="proxy_port" value="'.$tutos['proxy_port'] .'" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpProxyPort']).'</td>'; $r .= $this->OverviewRowEnd($line++); // resolve hostnames $r .= $this->OverviewRowStart($line); $r .= $this->showfield('resolve hostnames'); - $r .= '<td><select name="resolve_host">'."\n"; + $r .= '<td class="over_l"><select name="resolve_host">'."\n"; $r .= ' <option value="0"'.($tutos['resolve_host'] == 0 ? ' selected="selected"':'').'>'.$lang['no'].'</option>'."\n"; $r .= ' <option value="1"'.($tutos['resolve_host'] == 1 ? ' selected="selected"':'').'>'.$lang['yes'].' (DNS)</option>'."\n"; $r .= ' <option value="2"'.($tutos['resolve_host'] == 2 ? ' selected="selected"':'').'>'.$lang['yes'].' (GeoIP)</option>'."\n"; @@ -119,7 +119,7 @@ // fiscal year start month $r .= $this->OverviewRowStart($line); $r .= $this->showfield('fiscal_start_month'); - $r .= '<td><select name="fiscal_start_month">'."\n"; + $r .= '<td class="over_l"><select name="fiscal_start_month">'."\n"; for ($i = 1; $i <= 12; $i++) { $r .= ' <option value="'.$i.'"'.($tutos['fiscal_start_month'] == $i ? ' selected="selected"':'').'>'.$i.'</option>'."\n"; } @@ -131,7 +131,7 @@ // LIST of VAT rates $r .= $this->OverviewRowStart($line); $r .= $this->showfield('vat_list'); - $r .= '<td><input name="vat_list" value="'.$tutos['vat_list'] .'" /></td>'; + $r .= '<td class="over_l"><input name="vat_list" value="'.$tutos['vat_list'] .'" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpVatList']).'</td>'; $r .= $this->OverviewRowEnd($line++); $r .= $this->DataTableEnd(); @@ -149,14 +149,14 @@ // LOGO $r .= $this->OverviewRowStart($line); $r .= $this->showfield('logo'); - $r .= '<td><input name="logo" value="'.$tutos['logo'] .'" /></td>'; + $r .= '<td class="over_l"><input name="logo" value="'.$tutos['logo'] .'" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpLogo']).'</td>'; $r .= $this->OverviewRowEnd($line++); // LogoLink $r .= $this->OverviewRowStart($line); $r .= $this->showfield('logolink'); - $r .= '<td><input name="logolink" value="'.$tutos['logolink'] .'" /></td>'; + $r .= '<td class="over_l"><input name="logolink" value="'.$tutos['logolink'] .'" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpLogolink']).'</td>'; $r .= $this->OverviewRowEnd($line++); @@ -166,7 +166,7 @@ // maxselect $r .= $this->OverviewRowStart($line); $r .= $this->showfield('maxselect'); - $r .= '<td><input name="maxselect" value="'.$tutos['maxselect'] .'" /></td>'; + $r .= '<td class="over_l"><input name="maxselect" value="'.$tutos['maxselect'] .'" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpMaxSelect']).'</td>'; $r .= $this->OverviewRowEnd($line++); @@ -176,7 +176,7 @@ //ckeditor $r .= $this->OverviewRowStart($line); $r .= $this->showfield('ckeditor'); - $r .= '<td><input type="checkbox" name="ckeditor" '.($tutos['ckeditor'] == 1 ? 'checked="checked"':'').' value="1" /></td>'; + $r .= '<td class="over_l"><input type="checkbox" name="ckeditor" '.($tutos['ckeditor'] == 1 ? 'checked="checked"':'').' value="1" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpCkeditor']).'</td>'; $r .= $this->OverviewRowEnd($line++); @@ -198,7 +198,7 @@ // Mail Stuff $r .= $this->OverviewRowStart($line); $r .= $this->showfield('mailmode'); - $r .= '<td><select name="mailmode">'; + $r .= '<td class="over_l"><select name="mailmode">'; foreach ($lang['ConfigMailModes'] as $j => $f) { $r .= ' <option value="'.$j.'" '.($tutos['mailmode'] == $j ? 'selected="selected"':'').'>'.$f.'</option>'; } @@ -208,55 +208,55 @@ $r .= $this->OverviewRowStart($line); $r .= $this->showfield('sendmail'); - $r .= '<td><input name="sendmail" value="'.$tutos['sendmail'] .'" /></td>'; + $r .= '<td class="over_l"><input name="sendmail" value="'.$tutos['sendmail'] .'" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpSendmail']).'</td>'; $r .= $this->OverviewRowEnd($line++); $r .= $this->OverviewRowStart($line); $r .= $this->showfield('smtphost'); - $r .= '<td><input name="smtphost" value="'.$tutos['smtphost'] .'" /></td>'; + $r .= '<td class="over_l"><input name="smtphost" value="'.$tutos['smtphost'] .'" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpSmtpHost']).'</td>'; $r .= $this->OverviewRowEnd($line++); $r .= $this->OverviewRowStart($line); $r .= $this->showfield('smtpport'); - $r .= '<td><input name="smtpport" value="'.$tutos['smtpport'] .'" /></td>'; + $r .= '<td class="over_l"><input name="smtpport" value="'.$tutos['smtpport'] .'" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpSmtpPort']).'</td>'; $r .= $this->OverviewRowEnd($line++); $r .= $this->OverviewRowStart($line); $r .= $this->showfield('smtp_username'); - $r .= '<td><input name="smtp_username" value="'.$tutos['smtp_username'] .'" /></td>'; + $r .= '<td class="over_l"><input name="smtp_username" value="'.$tutos['smtp_username'] .'" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpSmtpUser']).'</td>'; $r .= $this->OverviewRowEnd($line++); $r .= $this->OverviewRowStart($line); $r .= $this->showfield('smtp_password'); - $r .= '<td><input name="smtp_password" value="'.$tutos['smtp_password'] .'" /></td>'; + $r .= '<td class="over_l"><input name="smtp_password" value="'.$tutos['smtp_password'] .'" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpSmtpPass']).'</td>'; $r .= $this->OverviewRowEnd($line++); $r .= $this->OverviewRowStart($line); $r .= $this->showfield('popbeforesmtp'); - $r .= '<td><input type="checkbox" name="popbeforesmtp" '.($tutos['popbeforesmtp'] == 1 ? 'checked="checked"':'').' value="1" /></td>'; + $r .= '<td class="over_l"><input type="checkbox" name="popbeforesmtp" '.($tutos['popbeforesmtp'] == 1 ? 'checked="checked"':'').' value="1" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpPopBeforeSmtp']).'</td>'; $r .= $this->OverviewRowEnd($line++); $r .= $this->OverviewRowStart($line); $r .= $this->showfield('popbeforesmtp_user'); - $r .= '<td><input name="popbeforesmtp_user" value="'.$tutos['popbeforesmtp_user'] .'" /></td>'; + $r .= '<td class="over_l"><input name="popbeforesmtp_user" value="'.$tutos['popbeforesmtp_user'] .'" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpPopSmtpUser']).'</td>'; $r .= $this->OverviewRowEnd($line++); $r .= $this->OverviewRowStart($line); $r .= $this->showfield('popbeforesmtp_pass'); - $r .= '<td><input name="popbeforesmtp_pass" value="'.$tutos['popbeforesmtp_pass'] .'" /></td>'; + $r .= '<td class="over_l"><input name="popbeforesmtp_pass" value="'.$tutos['popbeforesmtp_pass'] .'" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpPopSmtpPass']).'</td>'; $r .= $this->OverviewRowEnd($line++); $r .= $this->OverviewRowStart($line); $r .= $this->showfield('email_sender'); - $r .= '<td><input name="email_sender" value="'.$tutos['email_sender'] .'" /></td>'; + $r .= '<td class="over_l"><input name="email_sender" value="'.$tutos['email_sender'] .'" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpEmailSender']).'</td>'; $r .= $this->OverviewRowEnd($line++); @@ -275,7 +275,7 @@ // PRODUCT STATE $r .= $this->OverviewRowStart($line); $r .= $this->showfield('prod_state_stc'); - $r .= '<td><select name="prod_state_stc">'; + $r .= '<td class="over_l"><select name="prod_state_stc">'; $r .= ' <option value="-1"'.($tutos['prod_state_stc'] == -1 ? ' selected="selected"':'').'>'.$lang['no'].'</option>'; stc::getListByLangArray($this,'ProdStates'); foreach($this->stcs as $j) { @@ -296,7 +296,7 @@ $stc->initByArray('ProdStates',null); } $x = preg_split('#,#',$tutos['prod_activ_states']); - $r .= '<td><select multiple="multiple" name="prod_activ_states[]">'; + $r .= '<td class="over_l"><select multiple="multiple" name="prod_activ_states[]">'; foreach ($stc->states as $f) { $r .= ' <option value="'. $f->stc_state .'" style="background:'.$f->color.'"'; if (in_array($f->stc_state,$x)) { @@ -311,7 +311,7 @@ // Product automatic state when finished $r .= $this->OverviewRowStart($line); $r .= $this->showfield('prod_finish_state'); - $r .= '<td><select name="prod_finish_state">'; + $r .= '<td class="over_l"><select name="prod_finish_state">'; foreach ($stc->states as $f) { $r .= ' <option value="'. $f->stc_state .'" style="background:'.$f->color.'"'; if ($f->stc_state == $tutos['prod_finish_state']) { @@ -326,7 +326,7 @@ // classify products $r .= $this->OverviewRowStart($line); $r .= $this->showfield('prod_classify'); - $r .= '<td><input type="checkbox" name="prod_classify" '.($tutos['prod_classify'] == 1 ? 'checked="checked"':'').' value="1" /></td>'; + $r .= '<td class="over_l"><input type="checkbox" name="prod_classify" '.($tutos['prod_classify'] == 1 ? 'checked="checked"':'').' value="1" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpProdClassify']).'</td>'; $r .= $this->OverviewRowEnd($line++); $r .= $this->DataTableEnd(); @@ -342,7 +342,7 @@ // Task State $r .= $this->OverviewRowStart($line); $r .= $this->showfield('task_state_stc'); - $r .= '<td><select name="task_state_stc">'; + $r .= '<td class="over_l"><select name="task_state_stc">'; $r .= ' <option value="-1"'.($tutos['task_state_stc'] == -1 ? ' selected="selected"':'').'>'.$lang['no'].'</option>'; stc::getListByLangArray($this,'TaskStates'); foreach($this->stcs as $j) { @@ -362,7 +362,7 @@ } $r .= $this->OverviewRowStart($line); $r .= $this->showfield('task_book_state'); - $r .= '<td><select name="task_book_state">'; + $r .= '<td class="over_l"><select name="task_book_state">'; foreach ($stc->states as $f) { $r .= ' <option value="'. $f->stc_state .'" style="background:'.$f->color.'"'; if ($f->stc_state == $tutos['task_book_state']) { @@ -377,7 +377,7 @@ // TASK automatic state when finished $r .= $this->OverviewRowStart($line); $r .= $this->showfield('task_finish_state'); - $r .= '<td><select name="task_finish_state">'; + $r .= '<td class="over_l"><select name="task_finish_state">'; foreach ($stc->states as $f) { $r .= ' <option value="'. $f->stc_state .'" style="background:'.$f->color.'"'; if ($f->stc_state == $tutos['task_finish_state']) { @@ -391,12 +391,12 @@ // TASK AUTONAME $r .= $this->OverviewRowStart($line); $r .= $this->showfield('task_autoname'); - $r .= '<td><input name="task_autoname" value="'.$tutos['task_autoname'] .'" /></td>'; + $r .= '<td class="over_l"><input name="task_autoname" value="'.$tutos['task_autoname'] .'" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpTaskAutoname']).'</td>'; $r .= $this->OverviewRowEnd($line++); // tasks in calendar - $r .= config_field_input($this,'tasksincalendar',null,$line); + $r .= config_field_input($this,'tasksincalendar',null,$line++); /** $r .= $this->OverviewRowStart($line); $r .= $this->showfield('tasksincalendar'); @@ -407,28 +407,28 @@ // tasks show fileinfo $r .= $this->OverviewRowStart($line); $r .= $this->showfield('task_show_fileinfo'); - $r .= '<td><input type="checkbox" name="task_show_fileinfo" '.($tutos['task_show_fileinfo'] == 1 ? 'checked="checked"':'').' value="1" /></td>'; + $r .= '<td class="over_l"><input type="checkbox" name="task_show_fileinfo" '.($tutos['task_show_fileinfo'] == 1 ? 'checked="checked"':'').' value="1" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpTaskFileInfo']).'</td>'; $r .= $this->OverviewRowEnd($line++); // tasks show buginfo $r .= $this->OverviewRowStart($line); $r .= $this->showfield('task_show_buginfo'); - $r .= '<td><input type="checkbox" name="task_show_buginfo" '.($tutos['task_show_buginfo'] == 1 ? 'checked="checked"':'').' value="1" /></td>'; + $r .= '<td class="over_l"><input type="checkbox" name="task_show_buginfo" '.($tutos['task_show_buginfo'] == 1 ? 'checked="checked"':'').' value="1" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpTaskBugInfo']).'</td>'; $r .= $this->OverviewRowEnd($line++); // tasks skip finished $r .= $this->OverviewRowStart($line); $r .= $this->showfield('task_skip_finished'); - $r .= '<td><input type="checkbox" name="task_skip_finished" '.($tutos['task_skip_finished'] == 1 ? 'checked="checked"':'').' value="1" /></td>'; + $r .= '<td class="over_l"><input type="checkbox" name="task_skip_finished" '.($tutos['task_skip_finished'] == 1 ? 'checked="checked"':'').' value="1" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpTaskSkipFinished']).'</td>'; $r .= $this->OverviewRowEnd($line++); // tasks exact planned $r .= $this->OverviewRowStart($line); $r .= $this->showfield('task_exact'); - $r .= '<td><input type="checkbox" name="task_exact" '.($tutos['task_exact'] == 1 ? 'checked="checked"':'').' value="1" /></td>'; + $r .= '<td class="over_l"><input type="checkbox" name="task_exact" '.($tutos['task_exact'] == 1 ? 'checked="checked"':'').' value="1" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpTaskExact']).'</td>'; $r .= $this->OverviewRowEnd($line++); @@ -447,14 +447,14 @@ // maximum password age (days) $r .= $this->OverviewRowStart($line); $r .= $this->showfield('password_max_age'); - $r .= '<td><input name="password_max_age" size="3" value="'.$tutos['password_max_age'] .'" /></td>'; + $r .= '<td class="over_l"><input name="password_max_age" size="3" value="'.$tutos['password_max_age'] .'" /></td>'; $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpPassMaxAge']).'</td>'; $r .= $this->OverviewRowEnd($line++); // minial password length (characters) $r .= $this->OverviewRowStart($line); $r .= $this->showfield('password_min_length'); - $r .= '<td><select name="password_min_length">'."\n"; + $r .= '<td class="over_l"><select name="password_min_length">'."\n"; for ($i = 1; $i <= 25; $i++) { $r .= ' <option value="'.$i.'"'.($tutos['password_min_length'] == $i ? ' selected="selected"':'').'>'.$i.'</option>'."\n"; } @@ -465,7 +465,7 @@ // minial required special characters in password $r .= $this->OverviewRowStart($line); $r .= $this->showfield('password_need_special'); - $r .= '<td><select name="password_need_special">'."\n"; + $r .= '<td class="over_l"><select name="password_need_special">'."\n"; for ($i = 0; $i <= $tutos['password_min_length']; $i++) { $r .= ' <option value="'.$i.'"'.($tutos['password_need_special'] == $i ? ' selected="selected"':'').'>'.$i.'</option>'."\n"; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-04 15:15:15
|
Revision: 1122 http://sourceforge.net/p/tutos/code/1122 Author: gokohnert Date: 2013-08-04 15:15:10 +0000 (Sun, 04 Aug 2013) Log Message: ----------- counter statistics uses jqplot Modified Paths: -------------- trunk/php/counter/counter_show.php trunk/php/graphs.pinc Modified: trunk/php/counter/counter_show.php =================================================================== --- trunk/php/counter/counter_show.php 2013-08-04 12:51:03 UTC (rev 1121) +++ trunk/php/counter/counter_show.php 2013-08-04 15:15:10 UTC (rev 1122) @@ -138,11 +138,12 @@ * */ Function info_stat() { - global $lang,$tutos; + global $lang,$tutos,$table; $r = ''; $r .= $this->DataTableStart(); + // users/viewers $spie = array(); $spie['title'] = $lang['User']; $n = $this->result->numrows(); @@ -156,25 +157,78 @@ $e['title'] = $uobj->getLink(); $spie['data'][] = $e; } + $this->result->free(); + $r .= "<tr>\n"; $r .= ' <td colspan="5" valign="top">'.pie($spie)."</td>\n"; $r .= "</tr>\n"; + // by time + $sbar = array(); + $sbar['title'] = $lang['CounterShow']; + $sbar['ytitle'] = $lang['ViewCount']; + $sbar['xtitle'] = $lang['Date']; - if ( function_exists('ImageCreate') ) { - $link2 = 'counter_show.php'; - $link2 = addSessionKey($link2); - if (is_object($this->obj)) - $link2 = addUrlParameter($link2,'id='.$this->obj->id); - $link2 = addUrlParameter($link2,'format=timeline'); + // find min and max + $q = 'SELECT min(creation) as a1,max(creation) as a2 from '.$this->user->dbconn->prefix.$table['counter'][name]; + if (is_object($this->obj)) { + $q .= ' where obj_id = '.$this->obj->id; + } + $res = $this->dbconn->Exec($q); - $r .= "<tr>\n"; - $r .= ' <td colspan="5" valign="top"><img src="'.$link2.'" alt="'.$this->name."\" /></td>\n"; - $r .= "</tr>\n"; + $from = $res->getDateTime(0,'a1'); + $to = $res->getDateTime(0,'a2'); + $res->free(); + $ticks = 30; + $step = round(($to->ts - $from->ts) / $ticks); + if ($step == 0) { + $step = 1; } - $this->result->free(); + $x = $from->ts; + $cnt = 0; + while ($x < $to->ts) { + $sbar['data'][$cnt++] = array('cnt' => '','title' => strftime($lang['DateFormatStr'],$x)); + $x += $step; + } + $q = 'SELECT creation from '.$this->user->dbconn->prefix.$table['counter'][name]; + if (is_object($this->obj)) { + $q .= ' where obj_id = '.$this->obj->id; + } + $res = $this->dbconn->Exec($q); + $n = $res->numrows(); + $a = 0; + while ( $a < $n ) { + $x = $res->getDateTime($a,'creation'); + $a++; + $cntx = floor(($x->ts - $from->ts) / $step); + if ($sbar['data'][$cntx]['cnt'] != '') + $sbar['data'][$cntx]['cnt']++; + else + $sbar['data'][$cntx]['cnt'] = 1; + } + $res->free(); + + $r .= "<tr>\n"; + $r .= ' <td colspan="5" valign="top">'.bar2($sbar)."</td>\n"; + $r .= "</tr>\n"; + + + /** + if ( function_exists('ImageCreate') ) { + $link2 = 'counter_show.php'; + $link2 = addSessionKey($link2); + if (is_object($this->obj)) + $link2 = addUrlParameter($link2,'id='.$this->obj->id); + $link2 = addUrlParameter($link2,'format=timeline'); + + $r .= "<tr>\n"; + $r .= ' <td colspan="5" valign="top"><img src="'.$link2.'" alt="'.$this->name."\" /></td>\n"; + $r .= "</tr>\n"; + + } + **/ $r .= $this->DataTableEnd(); return $r; } Modified: trunk/php/graphs.pinc =================================================================== --- trunk/php/graphs.pinc 2013-08-04 12:51:03 UTC (rev 1121) +++ trunk/php/graphs.pinc 2013-08-04 15:15:10 UTC (rev 1122) @@ -271,6 +271,130 @@ } /** + * draw bar chart II + */ +function bar2(array $a) { + global $lang,$tutos; + + $r = ''; + if (!isset($a['ytitle'])) + $a['ytitle'] = ''; + if (!isset($a['xtitle'])) + $a['xtitle'] = ''; + + if ($tutos['jqplot'] == 1) { + $id = uniqid(); + $tutos['js_to_load'][] = '/html/js/jquery.jqplot.min.js'; + $tutos['js_to_load'][] = '/html/js/plugins/jqplot.canvasTextRenderer.min.js'; + $tutos['js_to_load'][] = '/html/js/plugins/jqplot.canvasAxisLabelRenderer.min.js'; + $tutos['js_to_load'][] = '/html/js/plugins/jqplot.canvasAxisTickRenderer.min.js'; + $tutos['js_to_load'][] = '/html/js/plugins/jqplot.enhancedLegendRenderer.min.js'; + $tutos['js_to_load'][] = '/html/js/plugins/jqplot.highlighter.min.js'; + $tutos['js_to_load'][] = '/html/js/plugins/jqplot.pointLabels.min.js'; + $tutos['js_to_load'][] = '/html/js/plugins/jqplot.categoryAxisRenderer.min.js'; + $tutos['js_to_load'][] = '/html/js/plugins/jqplot.DateAxisRenderer.min.js'; + $tutos['js_to_load'][] = '/html/js/plugins/jqplot.barRenderer.min.js'; + $tutos['css_to_load'][] = '/html/css/jquery.jqplot.min.css'; + $r .= '<div id="bar'.$id.'" style="height:'.(GB_HEIGHT*1.5).'px;width:'.GB_WIDTH.'px; "></div>'; + $data = '[['; + $tick = '['; + $options = " title:'".$a['title']."'"; + $colors = ''; + $pre = ''; + foreach($a['data'] as $e) { + if ($e['cnt'] == '') + $e['cnt'] = 0; + $data .= $pre.$e['cnt']; + $tick .= $pre.'"'.$e['title'].'"'; + if (isset($e['color'])) { + $colors .= $pre.'"'.$e['color'].'"'; + } + $pre = ','; + } + $data .= ']]'; + $tick .= ']'; + if ($colors != "") { + $options .= ",\n seriesColors: [".$colors."]"; + } + + $tutos['pagescript'] .= " + $.jqplot('bar".$id."',".$data.",{ + ".$options.", + seriesDefaults: { + renderer: $.jqplot.BarRenderer, + barPadding: 1, + barMargin: 1, + barWidth: 15, + varyBarColor: true, + pointLabels: { show: true, formatString: '%d' } + }, + grid: { + backgroundColor: \"transparent\", + borderWidth: 0, + shadow: false + }, + axesDefaults: { + tickRenderer: $.jqplot.CanvasAxisTickRenderer + }, + axes: { + xaxis: { + renderer: $.jqplot.CategoryAxisRenderer, + ticks: ".$tick.", + tickOptions:{ + angle: -60 + }, + label: '".$a['xtitle']."' + }, + yaxis: { + labelRenderer: $.jqplot.CanvasAxisLabelRenderer, + tickOptions:{ + angle: 0 + }, + label: '".$a['ytitle']."' + } + } +}); + $('.jqplot-highlighter-tooltip').addClass('ui-corner-all') +\n"; + return $r; + } else if ( function_exists('ImageCreate') ) { + // TUTOS style + $link = $tutos['base']."/php/graph_bars.php"; + $link = addSessionKey($link); + $link = addUrlParameter($link,"title=".urlencode($a['title'])); + $link = addUrlParameter($link,"type=bar"); + $c = 0; + foreach($a['data'] as $e) { + $link = addUrlParameter($link,"f[". $c ."]=".$e['cnt']); + $link = addUrlParameter($link,"t0[". $c ."]=". UrlEncode($e['title'])); + # $link = addUrlParameter($link,"t1[". $c ."]=".$e['cnt']); + if (isset($e['color'])) + $link = addUrlParameter($link,"col[". $c ."]=". UrlEncode($e['color'])); + $c++; + } + $r .= '<img src="'. $link .'" alt="'. myentities($a['title']) ."\" />\n"; + } else { + // text based + $r .= '<table>'; + $r .= '<tr>'; + $r .= ' <th>'.myentities($a['title']).'</th>'; + $r .= ' <th>Value</th>'; + $r .= ' <th>Count</th>'; + $r .= '</tr>'; + foreach($a as $e) { + $r .= '<tr>'; + $r .= ' <td><span style="font-size:0.8em;background:'.$e['color'].';">  </span> '; + $r .= myentities($e['title']).'</td>'; + $r .= ' <td>'.$e['val'].'</td>'; + $r .= ' <td>'.$e['cnt'].'</td>'; + $r .= '</tr>'; + } + $r .= '</table>'; + } + return $r; +} + +/** * draw line chart */ function line(array $a) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-04 12:51:07
|
Revision: 1121 http://sourceforge.net/p/tutos/code/1121 Author: gokohnert Date: 2013-08-04 12:51:03 +0000 (Sun, 04 Aug 2013) Log Message: ----------- some more test fixes / sales forecast uses jqplot now Modified Paths: -------------- trunk/php/auth/auth_google.pinc trunk/php/counter/counter_show.php trunk/php/file/file_del.php trunk/php/gantt_png.php trunk/php/google_api/gapi.pinc trunk/php/graphs.pinc trunk/php/sales_forecast.php trunk/php/scrum/log_ajax.php trunk/php/task_gantt.php trunk/test.sh Modified: trunk/php/auth/auth_google.pinc =================================================================== --- trunk/php/auth/auth_google.pinc 2013-08-04 09:09:54 UTC (rev 1120) +++ trunk/php/auth/auth_google.pinc 2013-08-04 12:51:03 UTC (rev 1121) @@ -150,7 +150,7 @@ // ready ? if ( ! $this->ready() ) { - if ( free_login($dbconn) ) { + if ( free_login($this->dbconn) ) { return $current_user; } // logmessage("missing uname or pw "); Modified: trunk/php/counter/counter_show.php =================================================================== --- trunk/php/counter/counter_show.php 2013-08-04 09:09:54 UTC (rev 1120) +++ trunk/php/counter/counter_show.php 2013-08-04 12:51:03 UTC (rev 1121) @@ -43,7 +43,9 @@ $this->tvar = new TUTOS_Date_Time(); - load_jpgraph( array('jpgraph_line.php','jpgraph_date.php','jpgraph_regstat.php'),'../' ); + if (!load_jpgraph( array('jpgraph_line.php','jpgraph_date.php','jpgraph_regstat.php'),'../' )) { + return; + } $ticks = GB_WIDTH-100; $data = array(); $datax = array(); @@ -329,4 +331,4 @@ <!-- SVN Info $Id$ $Author$ ---> +--> \ No newline at end of file Modified: trunk/php/file/file_del.php =================================================================== --- trunk/php/file/file_del.php 2013-08-04 09:09:54 UTC (rev 1120) +++ trunk/php/file/file_del.php 2013-08-04 12:51:03 UTC (rev 1121) @@ -1,6 +1,6 @@ <?php /** - * Copyright 1999 - 2007 by Gero Kohnert + * Copyright 1999 - 2013 by Gero Kohnert * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -10,6 +10,8 @@ * @module file_del * @package file */ +$tutos['files'][__FILE__] = '$Rev$'; + $tutos['base'] = "../.."; ini_set("include_path",".."); require_once 'webelements.p3'; @@ -26,7 +28,7 @@ if ( !isset($_GET['id']) ) { $msg .= "No ID given !<br />"; - $gotourl = "file/file_overview.php"; + $gotourl = "file_overview.php"; } else { $f = $f->read($_GET['id'],$f); $gotourl = $f->getURL(); Modified: trunk/php/gantt_png.php =================================================================== --- trunk/php/gantt_png.php 2013-08-04 09:09:54 UTC (rev 1120) +++ trunk/php/gantt_png.php 2013-08-04 12:51:03 UTC (rev 1121) @@ -1,9 +1,9 @@ <?php /** - * Copyright 1999 - 2011 by Gero Kohnert + * Copyright 1999 - 2013 by Gero Kohnert * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the * Free Software Foundation; version 2 of the License. * * Display a PNG Gantt. @@ -17,6 +17,7 @@ * * $Id$ */ +$tutos['files'][__FILE__] = '$Rev$'; require_once 'webelements.p3'; require_once 'permission.p3'; @@ -29,7 +30,10 @@ session_write_close(); -load_jpgraph( array("jpgraph_gantt.php") ); +if (!load_jpgraph( array("jpgraph_gantt.php") )) { + echo $msg; + exit; +}; if ( ! isset($_GET['id']) ) { echo $lang['Err0048']; @@ -58,4 +62,4 @@ gantt_draw($parents,$level); $dbconn->Close(); -?> +?> \ No newline at end of file Modified: trunk/php/google_api/gapi.pinc =================================================================== --- trunk/php/google_api/gapi.pinc 2013-08-04 09:09:54 UTC (rev 1120) +++ trunk/php/google_api/gapi.pinc 2013-08-04 12:51:03 UTC (rev 1121) @@ -119,7 +119,7 @@ $this->token = json_decode($this->user->_fld_gapi_token); $this->user->history = array(); $this->user->save(); - dterror_log('save token '.$this->token->created."\n",3,$tutos[errlog]); + dterror_log('save token '.(isset($this->token->created) ? $this->token->created:'-')."\n",3,$tutos[errlog]); } function removeToken() { Modified: trunk/php/graphs.pinc =================================================================== --- trunk/php/graphs.pinc 2013-08-04 09:09:54 UTC (rev 1120) +++ trunk/php/graphs.pinc 2013-08-04 12:51:03 UTC (rev 1121) @@ -217,7 +217,7 @@ labelRenderer: $.jqplot.CanvasAxisLabelRenderer, ticks: ".$tick.", tickOptions:{ - angle: -90 + angle: -60 }, label: '".$a['xtitle']."' }, @@ -240,10 +240,10 @@ $link = addUrlParameter($link,"title=".urlencode($a['title'])); $link = addUrlParameter($link,"type=bar"); $c = 0; - foreach($a as $e) { - $link = addUrlParameter($link,"f[". $c ."]=".$e['val']); + foreach($a['data'] as $e) { + $link = addUrlParameter($link,"f[". $c ."]=".$e['cnt']); $link = addUrlParameter($link,"t0[". $c ."]=". UrlEncode($e['title'])); - $link = addUrlParameter($link,"t1[". $c ."]=".$e['cnt']); + # $link = addUrlParameter($link,"t1[". $c ."]=".$e['cnt']); if (isset($e['color'])) $link = addUrlParameter($link,"col[". $c ."]=". UrlEncode($e['color'])); $c++; Modified: trunk/php/sales_forecast.php =================================================================== --- trunk/php/sales_forecast.php 2013-08-04 09:09:54 UTC (rev 1120) +++ trunk/php/sales_forecast.php 2013-08-04 12:51:03 UTC (rev 1121) @@ -1,6 +1,6 @@ <?php /** - * Copyright 1999 - 2011 by Gero Kohnert + * Copyright 1999 - 2013 by Gero Kohnert * well, copyright? Inspired by Gero, * * This program is free software; you can redistribute it and/or modify it @@ -36,6 +36,7 @@ require_once 'appointment.pinc'; require_once 'product.pinc'; require_once 'task.pinc'; +require_once 'graphs.pinc'; loadmodules('product','forecast'); loadlayout(); @@ -103,22 +104,22 @@ global $lang,$tutos; $r = ''; - $result = $this->dbconn->Exec($this->q); + $this->result = $this->dbconn->Exec($this->q); $plist = array(); - $n = $result->numrows(); + $n = $this->result->numrows(); if ( 0 == $n) { $r .= $this->error($lang['Err0048']); - $result->free(); + $this->result->free(); return $r; } if ($this->format == "stat" ) { - $r .= $this->statinfo($result); - $result->free(); + $r .= $this->statinfo(); + $this->result->free(); return $r; } if ( $this->format == "image" ) { - $r .= $this->image($result); - $result->free(); + $r .= $this->image(); + $this->result->free(); return $r; } foreach($tutos[currencies] as $c) { @@ -134,7 +135,7 @@ $x = 0; while ( $x < $n ) { $p = new product($this->dbconn); - $p->read_result($result,$x); + $p->read_result($this->result,$x); $x++; if ( ! $p->see_ok() ) { unset($p); @@ -149,7 +150,7 @@ $plist[] = &$p; unset($p); } - $result->free(); + $this->result->free(); $n = count($plist); if ( 0 == $n) { $r .= $this->error($lang['Err0048']); @@ -499,29 +500,51 @@ global $lang,$tutos; $r = ''; - # load_jpgraph( array("jpgraph_gantt.php","jpgraph_bar.php") ); - if ($tutos[usejpgraph] != 0 ) { - $src = 'sales_forecast.php?format=image'; - $src = addSessionKey($src); - $r .= '<img border="0" src="'.$src.'">'; - } else { - $r .= $this->error("no jpgraph"); + $sbar = array(); + $sbar['title'] = $lang['SalesForecastRep']; + $sbar['ytitle'] = $lang['Est_revenue']; + $sbar['xtitle'] = $lang['Period']; + + $n = $this->result->numrows(); + $a = 0; + $sum = array(); + while ( $a < $n ) { + $p = new product($this->dbconn); + $p->read_result($this->result,$a); + // here we select the period to display + $m=$p->p_end->month; + $y=$p->p_end->year; + $period= $m."/".$y; + if ( $period == "-1/-1" ) { + $period=$lang['UndefinedEndDate']; + } + if (!isset($sum[$period])) $sum[$period] = 0.0; + $sum[$period] += $p->getBalanced(); + $a++; } + foreach ($sum as $i => $s) { + $sbar['data'][] = array('val' => $s ,'cnt' => $s,'title' => $i); + } + + $r .= bar($sbar); + return $r; } /** * this function is used by the above mentioned function */ - Function image(&$result) { + Function image() { global $lang,$tutos; - load_jpgraph( array("jpgraph_gantt.php","jpgraph_bar.php") ); + if (!load_jpgraph( array("jpgraph_gantt.php","jpgraph_bar.php") )) { + return; + } // add a temporary field // now where can I put the above extension? - $n = $result->numrows(); + $n = $this->result->numrows(); $a = 0; $cnt = 0; $notthefirst=false; @@ -533,7 +556,7 @@ $oldperiod = ""; while ( $a < $n ) { $p = new product($this->dbconn); - $p->read_result($result,$a); + $p->read_result($this->result,$a); #$p->readroles(); $cnt++; // here we select the period to display Modified: trunk/php/scrum/log_ajax.php =================================================================== --- trunk/php/scrum/log_ajax.php 2013-08-04 09:09:54 UTC (rev 1120) +++ trunk/php/scrum/log_ajax.php 2013-08-04 12:51:03 UTC (rev 1121) @@ -30,7 +30,7 @@ $diff = 0; $extend = false; -#error_log("-----\t ". Date("d.M.Y H:i:s T") ."\r\n",3,$tutos[errlog]); +//error_log("-----\t ". Date("d.M.Y H:i:s T") ."\r\n",3,$tutos[errlog]); // foreach( $_REQUEST as $i => $f) { // error_log(" ARG\t ". $i." \t ".$f."\r\n",3,$tutos[errlog]); @@ -41,17 +41,17 @@ dterror_log("log_ajax DIE NO ITEM defined : \r\n",3,$tutos[errlog]); echo "NO ITEM "; echo '</tutos>'."\n"; + return; } $item = $item->read($_REQUEST['item'],$item); if (! is_object($item)) { error_log("DIE NO ITEM found:".$_REQUEST['item']." \r\n",3,$tutos[errlog]); die ("NO ITEM " . $_REQUEST['item']); } -#error_log($item ."\r\n",3,$tutos[errlog]); if (isset($_REQUEST['diff']) && ($_REQUEST['diff'] != 0) ) { $diff = $_REQUEST['diff']; -# error_log("DIFF: ". $diff."\r\n",3,$tutos[errlog]); + # error_log("DIFF: ". $diff."\r\n",3,$tutos[errlog]); } if (isset($_REQUEST['add']) && isset($_REQUEST['del']) ) { @@ -62,13 +62,13 @@ if ($add == -3) { // next sprint $item->setSprint($item->sprint->next_id); -# error_log("SetSprint : ". $item->sprint->next_id ."\r\n",3,$tutos[errlog]); + # error_log("SetSprint : ". $item->sprint->next_id ."\r\n",3,$tutos[errlog]); } else { $item->setSprint($_REQUEST['sid']); -# error_log("SetSprint : ". $_REQUEST['sid'] ."\r\n",3,$tutos[errlog]); + # error_log("SetSprint : ". $_REQUEST['sid'] ."\r\n",3,$tutos[errlog]); } $item->setWorker($add); -# error_log("SetWorker : ". $add ."\r\n",3,$tutos[errlog]); + # error_log("SetWorker : ". $add ."\r\n",3,$tutos[errlog]); } } @@ -76,7 +76,7 @@ if (isset($_REQUEST['startts']) && ($_REQUEST['startts'] != 0) ) { $v1 = new TUTOS_Date_Time(0); $v1->setDateTimeTS($_REQUEST['startts']); -# error_log("Fixed Start : ". $v1->getDateTime() ."\r\n",3,$tutos[errlog]); + # error_log("Fixed Start : ". $v1->getDateTime() ."\r\n",3,$tutos[errlog]); $item->setStart($v1); $diff -= 1; unset($v1); @@ -87,19 +87,19 @@ if (isset($_REQUEST['park']) ) { # $task->setIntField('_fld_parked',1,$table['task']['parked']['lang']); # $task->setIntField('_fld_dormant',0,$table['task']['dormant']['lang']); -# error_log("Parked: \r\n",3,$tutos[errlog]); + # error_log("Parked: \r\n",3,$tutos[errlog]); } else if (isset($_REQUEST['dormant']) ) { // park a task in dormant slot for a FY $d = $_REQUEST['dormant']; # $task->setIntField('_fld_dormant',$d,$table['task']['dormant']['lang']); # $task->setIntField('_fld_parked',0,$table['task']['parked']['lang']); -# error_log("Dormant for:". $d ." \r\n",3,$tutos[errlog]); + # error_log("Dormant for:". $d ." \r\n",3,$tutos[errlog]); } else if ($diff != 0) { // move a item $v1 = $item->start_dt; $v1->addDays($diff); $item->setStart($v1); -# error_log("Moved Start : ". $item->start_dt->getDateTime() ."\r\n",3,$tutos[errlog]); + # error_log("Moved Start : ". $item->start_dt->getDateTime() ."\r\n",3,$tutos[errlog]); unset($v1); } @@ -111,7 +111,7 @@ # $task->setName($task->name . ".".$diff); if (isset($_REQUEST['action']) && ($_REQUEST['action'] == 'mod')) { $item->save(); -# error_log("-----\t ITEM saved \r\n",3,$tutos[errlog]); + # error_log("-----\t ITEM saved \r\n",3,$tutos[errlog]); } echo ' <task id="'. $item->id.'">'."\n"; Modified: trunk/php/task_gantt.php =================================================================== --- trunk/php/task_gantt.php 2013-08-04 09:09:54 UTC (rev 1120) +++ trunk/php/task_gantt.php 2013-08-04 12:51:03 UTC (rev 1121) @@ -1,6 +1,6 @@ <?php /** - * Copyright 1999 - 2012 by Gero Kohnert + * Copyright 1999 - 2013 by Gero Kohnert * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -9,6 +9,8 @@ * @modulegroup task * @module task_gantt */ +$tutos['files'][__FILE__] = '$Rev$'; + require_once 'webelements.p3'; require_once 'permission.p3'; @@ -88,12 +90,16 @@ $this->level = -1; // everything if ( ! isset($_GET['id']) ) { - $msg .= $lang['Err0048']; + $msg = addLine($msg,$lang['Err0048']); $this->stop = true; $this->obj = $this->user; return; } + if (!load_jpgraph( array("jpgraph_gantt.php") )){ + return; + } + if ( isset($_GET['level']) ) { $this->level = $_GET['level']; } @@ -121,8 +127,6 @@ } } -load_jpgraph( array("jpgraph_gantt.php") ); - $l = new Task_gantt($current_user); $l->display(); $dbconn->Close(); Modified: trunk/test.sh =================================================================== --- trunk/test.sh 2013-08-04 09:09:54 UTC (rev 1120) +++ trunk/test.sh 2013-08-04 12:51:03 UTC (rev 1121) @@ -188,6 +188,7 @@ calendar.php?team[]=$ADR&lg=$LG calendar.php?team[]=$NOID&lg=$LG calendar.php?team[]=$P_ID&lg=$LG + calendar.php?team[]=$ADR&team[]=$P_ID&lg=$LG calendar_week.php?lg=$LG calendar_day.php?lg=$LG company_ins.php?lg=$LG @@ -273,6 +274,8 @@ task_show.php?id=$NOID&lg=$LG task_gantt.php?id=$NOID&lg=$LG task_gantt.php?id=$P_ID&lg=$LG + task_overview.php?lg=$LG + task_overview.php?small=1&lg=$LG task_overview.php?id=$ADR&lg=$LG task_overview.php?id=$NOID&lg=$LG task_overview.php?id=$P_ID=&lg=$LG @@ -345,6 +348,7 @@ counter/counter_overview.php?id=$NOID&format=stat&lg=$LG counter/counter_show.php?lg=$LG counter/counter_show.php?id=$ADR&lg=$LG + counter/counter_show.php?id=$P_ID&lg=$LG counter/counter_show.php?id=$NOID&lg=$LG counter/counter_show.php?id=$ADR&format=stat&lg=$LG counter/counter_show.php?id=$NOID&format=stat&lg=$LG @@ -469,8 +473,10 @@ report-engine/report_overview.php?class=product&type=show&id=$P_ID&lg=$LG report-engine/report_overview.php?class=product&type=show&id=$NOID&lg=$LG report-engine/report_show.php?name=rep_envelope1&type=show&class=address&id=$ADR - report-engine/report_show.php?name=rep_index&fid=11&type=show&class=address&id=$P_ID - report-engine/report_show.php?name=rep_spine&fid=11&pos=0&type=show&class=address&id=$P_ID + report-engine/report_show.php?name=rep_spine&fid=1-1&pos=0&type=show&class=address&id=$P_ID + report-engine/report_show.php?name=rep_index&fid=1-1&type=show&class=peoduct&id=$P_ID + report-engine/report_show.php?name=rep_bug_state_duration&type=show&class=product&id=$P_ID + report-engine/report_show.php?name=rep_mta&type=show&class=product&id=$P_ID requirements/req_new.php?lg=$LG requirements/req_new.php?id=$NOID&lg=$LG requirements/req_new.php?link_id=$NOID&lg=$LG This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-04 09:09:59
|
Revision: 1120 http://sourceforge.net/p/tutos/code/1120 Author: gokohnert Date: 2013-08-04 09:09:54 +0000 (Sun, 04 Aug 2013) Log Message: ----------- handling exception on creation / fixing test anomalies / backup restore update Modified Paths: -------------- trunk/ChangeLog trunk/Makefile trunk/php/acl_ins.php trunk/php/admin/customize_ins.php trunk/php/appointment.pinc trunk/php/base.pinc trunk/php/calendar.php trunk/php/calendar_day.php trunk/php/calendar_week.php trunk/php/check.php trunk/php/config_default.pinc trunk/php/file/file.pinc trunk/php/google_api/gapi.pinc trunk/php/mailbox/mailbox_new.php trunk/php/module_base.pinc trunk/php/module_template/AAA_new.php trunk/php/mytutos.php trunk/php/product_contacts.php trunk/php/report-engine/rep_directory/rep_directory.pinc trunk/php/sales_forecast.php trunk/php/webelements.p3 trunk/test.sh Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2013-08-04 08:56:22 UTC (rev 1119) +++ trunk/ChangeLog 2013-08-04 09:09:54 UTC (rev 1120) @@ -1,4 +1,18 @@ #$Id$ + * handle multiple invoices for an expense + * enable testruns on tasks + * allow company/dpeartment as author of documents + * allow documents and urls attached to appointments and show those links + * fix autoimport of mails + * installation will now default session/log/repository to a tutos_private subfolder + * appointment search shows more info + * improved debugging possibilities (include revison numbers of all files) in admin_show dialog + * updated jquery libraries + * updated maps api in google_earth handler + * added auth via google api. See tutos/php/auth/auth_google and php/google_api/README (which is a module) + * added support for APC cache / reworked memcache code + * moved from fckeditor to new ckeditor as mail editor (sourc included) + * added history_search (start from admin->history) 28 December 2012 * Release 1.9.20121228 * reworked most search pages to show search arguments Modified: trunk/Makefile =================================================================== --- trunk/Makefile 2013-08-04 08:56:22 UTC (rev 1119) +++ trunk/Makefile 2013-08-04 09:09:54 UTC (rev 1120) @@ -84,6 +84,7 @@ $(PHP_CHECKLIST_HLP) \ $(PHP_DOCTRACKER) \ $(PHP_DOCTRACKER_HLP) \ + $(PHP_GOOGLE) \ $(PHP_LDAP) \ $(PHP_LDAP_HLP) \ ${PHP_RSS} \ @@ -100,7 +101,7 @@ $(PHP_TICKER) \ $(PHP_TICKER_HLP) -SUBDIRS = localization admin bugtracking checklist counter doctracker expense file group installation invoice ldap mailbox module_template note palm phpweather rate reminder report-engine resource rss scrum subversion stc stuff timetrack testmanager ticker url watchlist xml +SUBDIRS = localization admin bugtracking checklist counter doctracker google_api expense file group installation invoice ldap mailbox module_template note palm phpweather rate reminder report-engine resource rss scrum subversion stc stuff timetrack testmanager ticker url watchlist xml PHP_TOP = $(wildcard php/*.php) \ $(wildcard php/*.p3) \ @@ -153,6 +154,14 @@ PHP_COUNTER_HLP = php/counter/help/.htaccess \ $(wildcard php/counter/help/*.html) +# Google API Module (add-on) +PHP_GOOGLE = $(wildcard php/google_api/*.php) \ + $(wildcard php/google_api/*.p3) \ + $(wildcard php/google_api/*.pinc) \ + php/google_api/.htaccess \ + php/google_api/README +PHP_GOOGLE_HLP = + # Doctracker Module (add-on) PHP_DOCTRACKER = $(wildcard php/doctracker/*.php) \ $(wildcard php/doctracker/*.p3) \ @@ -445,7 +454,9 @@ # LIBS_BASE = libs/.htaccess -LIBS_GOOGLE = $(wildcard libs/google-api-php-client/src/*) \ +LIBS_GOOGLE = \ + $(shell find libs/google-api-php-client/src -type f -name "*.php") \ + $(shell find libs/google-api-php-client/src -type f -name "*.pem") \ libs/google-api-php-client/LICENSE \ libs/google-api-php-client/README \ libs/google-api-php-client/NOTICE @@ -910,6 +921,7 @@ checklist \ doctracker \ drawboard \ + google_api \ ldap \ rss \ scrum \ @@ -984,6 +996,16 @@ cat $@.list | $(ZIP) $(ZIPARGS) -@ TUTOS-MODULE-$@-${FULLVERSION}.zip $(ZIP) -z TUTOS-MODULE-$@-${FULLVERSION}.zip < php/$@/README +google_api: $(PHP_GOOGLE) $(PHP_GOOGLE_HLP) + @$(ECHO) "# Make Filelist for $@" + @$(RM) -f $@.list + @$(TOUCH) $@.list + @$(foreach d,$(PHP_GOOGLE) $(PHP_GOOGLE_HLP), \ + echo $(d) >> $@.list; \ + ) + cat $@.list | $(ZIP) $(ZIPARGS) -@ TUTOS-MODULE-$@-${FULLVERSION}.zip + $(ZIP) -z TUTOS-MODULE-$@-${FULLVERSION}.zip < php/$@/README + drawboard: $(PHP_DRAWBOARD) $(PHP_DRAWBOARD_HLP) @$(ECHO) "# Make Filelist for $@" @$(RM) -f $@.list Modified: trunk/php/acl_ins.php =================================================================== --- trunk/php/acl_ins.php 2013-08-04 08:56:22 UTC (rev 1119) +++ trunk/php/acl_ins.php 2013-08-04 09:09:54 UTC (rev 1120) @@ -222,13 +222,17 @@ // per object config if ($feature != 0) { $x = $feature_info[name]; - $xx = new $x($dbconn); - $xl = $xx->getObjConfig($val); - if (count($xl) > 0) { - foreach ($xl as $cf) { - config_field_parse($dbconn, $cf, $val); + try { + $xx = new $x($dbconn); + $xl = $xx->getObjConfig($val); + if (count($xl) > 0) { + foreach ($xl as $cf) { + config_field_parse($dbconn, $cf, $val); + } } } + catch (Exception $e) { + } } // if ($msg != '') break; Modified: trunk/php/admin/customize_ins.php =================================================================== --- trunk/php/admin/customize_ins.php 2013-08-04 08:56:22 UTC (rev 1119) +++ trunk/php/admin/customize_ins.php 2013-08-04 09:09:54 UTC (rev 1120) @@ -1,9 +1,9 @@ <?php /** - * Copyright 2007 - 2009 by Gero Kohnert + * Copyright 2007 - 2013 by Gero Kohnert * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the * Free Software Foundation; version 2 of the License. * * Modify custom language files @@ -13,6 +13,8 @@ * @module customize * @package BASE */ +$tutos['files'][__FILE__] = '$Rev$'; + $tutos['base'] = "../.."; ini_set("include_path",".."); require_once 'webelements.p3'; @@ -27,6 +29,12 @@ $gotourl = 'customize_show.php'; +if (!isset($_POST['lg1'])) { + leave_insert($dbconn,$gotourl,'Missing Parameter lg1'); +} +if (!isset($_POST['mod'])) { + leave_insert($dbconn,$gotourl,'Missing Parameter mod'); +} $lg1 = $_POST['lg1']; $mod = $_POST['mod']; $gotourl= addUrlParameter($gotourl,"lg1=". $_POST['lg1'],true); @@ -113,14 +121,14 @@ fwrite($f3,"?>\r\n"); fclose($f3); -# $f2 = fopen($tf2,"r"); -# fpassthru ($f2); -# fclose($f2); + # $f2 = fopen($tf2,"r"); + # fpassthru ($f2); + # fclose($f2); -# $f3 = fopen($tf3,"r"); -# fpassthru ($f3); -# fclose($f3); - + # $f3 = fopen($tf3,"r"); + # fpassthru ($f3); + # fclose($f3); + if ($use2) { if (file_exists($fn2)) { if (! is_writeable($fn2)) { Modified: trunk/php/appointment.pinc =================================================================== --- trunk/php/appointment.pinc 2013-08-04 08:56:22 UTC (rev 1119) +++ trunk/php/appointment.pinc 2013-08-04 09:09:54 UTC (rev 1120) @@ -1531,8 +1531,13 @@ $r .= product::small_infolist($current_user,$this); foreach($tutos[activemodules] as $i => $f) { - $x = new $tutos[modules][$f][name]($this->dbconn); - $r .= $x->small_infolist($current_user,$this); + try { + $x = new $tutos[modules][$f][name]($this->dbconn); + $r .= $x->small_infolist($current_user,$this); + } + catch (Exception $e) { + continue; + } } } $r .= '</div></li>'."\n"; Modified: trunk/php/base.pinc =================================================================== --- trunk/php/base.pinc 2013-08-04 08:56:22 UTC (rev 1119) +++ trunk/php/base.pinc 2013-08-04 09:09:54 UTC (rev 1120) @@ -1373,8 +1373,12 @@ $this->cache_del('_'.$this->gettypeid().'_'.$this->id); foreach ($tutos[activemodules] as $f) { - $x = new $tutos[modules][$f][name]($this->dbconn); - $msg = addLine($msg,$x->obj_save($current_user,$this)); + try { + $x = new $tutos[modules][$f][name]($this->dbconn); + $msg = addLine($msg,$x->obj_save($current_user,$this)); + } + catch (Exception $e) { + } } if ($this->noacl == false) { Modified: trunk/php/calendar.php =================================================================== --- trunk/php/calendar.php 2013-08-04 08:56:22 UTC (rev 1119) +++ trunk/php/calendar.php 2013-08-04 09:09:54 UTC (rev 1120) @@ -72,8 +72,13 @@ task::readCal($this->user,$from,$to); } foreach($tutos[activemodules] as $i => $f) { - $x = @new $tutos[modules][$f][name]($this->dbconn); - $x->readCal($this->user,$from,$to); + try { + $x = new $tutos[modules][$f][name]($this->dbconn); + $x->readCal($this->user,$from,$to); + } + catch (Exception $e) { + continue; + } } $dd = new TUTOS_Date_Time(); @@ -122,9 +127,7 @@ if (!cal_check_against_list($this->user->callist[$idx],$this->uids)) { continue; } - $r .= $this->user->callist[$idx]->formatted(); - $a++; } // while ( $a < 2 ) { Modified: trunk/php/calendar_day.php =================================================================== --- trunk/php/calendar_day.php 2013-08-04 08:56:22 UTC (rev 1119) +++ trunk/php/calendar_day.php 2013-08-04 09:09:54 UTC (rev 1120) @@ -11,6 +11,8 @@ * @modulegroup appointment * @module calendar_day */ +$tutos['files'][__FILE__] = '$Rev$'; + require_once 'webelements.p3'; require_once 'permission.p3'; @@ -58,8 +60,13 @@ foreach($tutos[activemodules] as $i => $f) { - $x = &new $tutos[modules][$f][name]($this->dbconn); - $x->readCal($this->user,$from,$next_day); + try { + $x = &new $tutos[modules][$f][name]($this->dbconn); + $x->readCal($this->user,$from,$next_day); + } + catch (Exception $e) { + continue; + } } Modified: trunk/php/calendar_week.php =================================================================== --- trunk/php/calendar_week.php 2013-08-04 08:56:22 UTC (rev 1119) +++ trunk/php/calendar_week.php 2013-08-04 09:09:54 UTC (rev 1120) @@ -11,6 +11,8 @@ * @modulegroup appointment * @module calendar_week */ +$tutos['files'][__FILE__] = '$Rev$'; + require_once 'webelements.p3'; require_once 'permission.p3'; @@ -86,8 +88,13 @@ task::readCal($this->user,$from,$to); foreach($tutos[activemodules] as $i => $f) { - $x = &new $tutos[modules][$f][name]($this->dbconn); - $x->readCal($this->user,$from,$to); + try { + $x = &new $tutos[modules][$f][name]($this->dbconn); + $x->readCal($this->user,$from,$to); + } + catch (Exception $e) { + continue; + } } $day = 0; @@ -139,7 +146,6 @@ $r .= $this->user->callist[$idx]->formatted(); } - $r .= "</ul></td>\n"; if ( $col == 2 ) { $r .= " </tr>\n"; Modified: trunk/php/check.php =================================================================== --- trunk/php/check.php 2013-08-04 08:56:22 UTC (rev 1119) +++ trunk/php/check.php 2013-08-04 09:09:54 UTC (rev 1120) @@ -75,11 +75,11 @@ $msg = addLine($msg,appointment::checkservice($current_user)); foreach($tutos[activemodules] as $i => $f) { - $x = new $tutos[modules][$f][name]($dbconn); try { + $x = new $tutos[modules][$f][name]($dbconn); $msg = addLine($msg,$x->checkservice($current_user)); } - catch (Excpetion $e) { + catch (Exception $e) { dterror_log(" check failed --> ".$f.':'.$e->getMessage()."\r\n",3,$tutos[errlog]); $msg = addLine($msg,$f.':'.$e->getMessage()); } Modified: trunk/php/config_default.pinc =================================================================== --- trunk/php/config_default.pinc 2013-08-04 08:56:22 UTC (rev 1119) +++ trunk/php/config_default.pinc 2013-08-04 09:09:54 UTC (rev 1120) @@ -728,7 +728,7 @@ // // The TUTOS Version number // -$tutos[version] = '1.9.20130803'; +$tutos[version] = '1.9.20130804'; // ### Local Variables: *** ### mode:iso-accents *** Modified: trunk/php/file/file.pinc =================================================================== --- trunk/php/file/file.pinc 2013-08-04 08:56:22 UTC (rev 1119) +++ trunk/php/file/file.pinc 2013-08-04 09:09:54 UTC (rev 1120) @@ -1648,7 +1648,7 @@ } /** - * create a smalllist of products related to the given object + * create a smalllist of documents related to the given object */ static function small_infolist (tutos_user $user,tutos_base $obj) { global $lang; @@ -1667,7 +1667,8 @@ $r .= '<span class="right">'; $sep = ''; foreach ($obj->list[usedocmanagement] as $x) { - $r .= $sep.$lang['File'] ." ". $x->getLink(); + $icon = get_icon($user->layout,$x->filename); + $r .= $sep.$icon." ". $x->getLink(); $sep = '<br />'; } $r .= "</span>\n"; Modified: trunk/php/google_api/gapi.pinc =================================================================== --- trunk/php/google_api/gapi.pinc 2013-08-04 08:56:22 UTC (rev 1119) +++ trunk/php/google_api/gapi.pinc 2013-08-04 09:09:54 UTC (rev 1120) @@ -54,6 +54,13 @@ function GAPI(tutos_db $dbconn) { global $tutos,$table; + if (!isset($tutos['google_client']) || empty($tutos['google_client'])) { + throw new Exception('missing google_client'); + } + if (!isset($tutos['google_secret']) || empty($tutos['google_secret'])) { + throw new Exception('missing google_secret'); + } + require_once $tutos['base'].'/libs/google-api-php-client/src/Google_Client.php'; require_once $tutos['base'].'/libs/google-api-php-client/src/contrib/Google_CalendarService.php'; require_once $tutos['base'].'/libs/google-api-php-client/src/contrib/Google_TasksService.php'; @@ -70,15 +77,16 @@ // Initialize $this->client = new Google_Client(); $this->client->setApplicationName("TUTOS ".$tutos[version]); - $this->client->setClientId($tutos['google_client']); - $this->client->setClientSecret($tutos['google_secret']); + if (isset($tutos['google_client'])) + $this->client->setClientId($tutos['google_client']); + if (isset($tutos['google_secret'])) + $this->client->setClientSecret($tutos['google_secret']); // $this->client->setDeveloperKey('AIzaSyDxGJoUQde2-nIIoVIxl6be8iKcl-ZujVA'); $this->client->setRedirectUri(getBaseUrl().'gapi_init.php'); $this->auth = new Google_Oauth2Service($this->client); $this->cal = new Google_CalendarService($this->client); $this->task = new Google_TasksService($this->client); - } function getCal() { Modified: trunk/php/mailbox/mailbox_new.php =================================================================== --- trunk/php/mailbox/mailbox_new.php 2013-08-04 08:56:22 UTC (rev 1119) +++ trunk/php/mailbox/mailbox_new.php 2013-08-04 09:09:54 UTC (rev 1120) @@ -156,9 +156,11 @@ $this->obj = $this->obj->read($_GET['id'],$this->obj); } else if ( isset($_GET['parent']) ) { $this->obj->parent = GetObject($this->dbconn,$_GET['parent']); - } else { + } + if (!is_object($this->obj->parent)) { $msg = addLine($msg," Missing parameter"); $this->stop = true; + return; } if ( ! is_object($this->obj) ) { @@ -203,4 +205,4 @@ <!-- SVN Info $Id$ $Author$ ---> +--> \ No newline at end of file Modified: trunk/php/module_base.pinc =================================================================== --- trunk/php/module_base.pinc 2013-08-04 08:56:22 UTC (rev 1119) +++ trunk/php/module_base.pinc 2013-08-04 09:09:54 UTC (rev 1120) @@ -159,26 +159,36 @@ $late[] = $f; continue; } - $x = new $tutos[modules][$f][name]($obj->dbconn); - if ( ! is_subclass_of($x,'tutos_module') ) { + try { + $x = new $tutos[modules][$f][name]($obj->dbconn); + if ( ! is_subclass_of($x,'tutos_module') ) { + continue; + //Fatal_Error("Wrong module class: ".$tutos[modules][$f][name]); + } + if ( $x->getType() != $f) { + Fatal_Error($f ." reports to be ".$x->getType()); + } + $r .= $x->infolist($user,$obj,$cols,$format); + } + catch (Exception $e) { continue; - //Fatal_Error("Wrong module class: ".$tutos[modules][$f][name]); } - if ( $x->getType() != $f) { - Fatal_Error($f ." reports to be ".$x->getType()); - } - $r .= $x->infolist($user,$obj,$cols,$format); } foreach($late as $f) { - $x = new $tutos[modules][$f][name]($obj->dbconn); - if ( ! is_subclass_of($x,'tutos_module') ) { + try { + $x = new $tutos[modules][$f][name]($obj->dbconn); + if ( ! is_subclass_of($x,'tutos_module') ) { + continue; + //Fatal_Error("Wrong module class: ".$tutos[modules][$f][name]); + } + if ( $x->getType() != $f) { + Fatal_Error($f ." reports to be ".$x->getType()); + } + $r .= $x->infolist($user,$obj,$cols,$format); + } + catch (Exception $e) { continue; - //Fatal_Error("Wrong module class: ".$tutos[modules][$f][name]); } - if ( $x->getType() != $f) { - Fatal_Error($f ." reports to be ".$x->getType()); - } - $r .= $x->infolist($user,$obj,$cols,$format); } return $r; @@ -191,15 +201,20 @@ global $tutos; foreach($tutos[activemodules] as $f) { - $x = new $tutos[modules][$f][name]($obj->dbconn); - if ( ! is_subclass_of($x,'tutos_module') ) { + try { + $x = new $tutos[modules][$f][name]($obj->dbconn); + if ( ! is_subclass_of($x,'tutos_module') ) { + continue; + //Fatal_Error("Wrong module class: ".$tutos[modules][$f][name]); + } + if ( $x->getType() != $f) { + Fatal_Error($f ." reports to be ".$x->getType()); + } + $layout->addMenu($x->getaddlink($layout->user,$obj)); + } + catch (Exception $e) { continue; - //Fatal_Error("Wrong module class: ".$tutos[modules][$f][name]); } - if ( $x->getType() != $f) { - Fatal_Error($f ." reports to be ".$x->getType()); - } - $layout->addMenu($x->getaddlink($layout->user,$obj)); } } @@ -210,15 +225,20 @@ global $tutos; foreach($tutos[activemodules] as $f) { - $x = new $tutos[modules][$f][name]($obj->dbconn); - if ( ! is_subclass_of($x,'tutos_module') ) { + try { + $x = new $tutos[modules][$f][name]($obj->dbconn); + if ( ! is_subclass_of($x,'tutos_module') ) { + continue; + //Fatal_Error("Wrong module class: ".$tutos[modules][$f][name]); + } + if ( $x->getType() != $f) { + Fatal_Error($f ." reports to be ".$x->getType()); + } + $layout->addMenu($x->getNewLink($layout->user,$obj)); + } + catch (Exception $e) { continue; - //Fatal_Error("Wrong module class: ".$tutos[modules][$f][name]); } - if ( $x->getType() != $f) { - Fatal_Error($f ." reports to be ".$x->getType()); - } - $layout->addMenu($x->getNewLink($layout->user,$obj)); } } @@ -230,15 +250,20 @@ $r = ''; foreach($tutos[activemodules] as $f) { - $x = new $tutos[modules][$f][name]($obj->dbconn); - if ( ! is_subclass_of($x,'tutos_module') ) { + try { + $x = new $tutos[modules][$f][name]($obj->dbconn); + if ( ! is_subclass_of($x,'tutos_module') ) { + continue; + Fatal_Error("Wrong module class: ".$tutos[modules][$f][name]); + } + if ( $x->getType() != $f) { + Fatal_Error($f ." reports to be ".$x->getType()); + } + $r .= $x->get_overview_data($layout,$obj); + } + catch (Exception $e) { continue; - Fatal_Error("Wrong module class: ".$tutos[modules][$f][name]); } - if ( $x->getType() != $f) { - Fatal_Error($f ." reports to be ".$x->getType()); - } - $r .= $x->get_overview_data($layout,$obj); } return $r; } @@ -251,15 +276,20 @@ $r = ''; foreach($tutos[activemodules] as $f) { - $x = new $tutos[modules][$f][name]($layout->dbconn); - if ( ! is_subclass_of($x,'tutos_module') ) { + try { + $x = new $tutos[modules][$f][name]($layout->dbconn); + if ( ! is_subclass_of($x,'tutos_module') ) { + continue; + Fatal_Error("Wrong module class: ".$tutos[modules][$f][name]); + } + if ( $x->getType() != $f) { + Fatal_Error($f ." reports to be ".$x->getType()); + } + $r .= $x->get_overview_header($layout,$objtype); + } + catch (Exception $e) { continue; - Fatal_Error("Wrong module class: ".$tutos[modules][$f][name]); } - if ( $x->getType() != $f) { - Fatal_Error($f ." reports to be ".$x->getType()); - } - $r .= $x->get_overview_header($layout,$objtype); } return $r; } @@ -272,12 +302,17 @@ $msg = ''; foreach($tutos[activemodules] as $f) { - $x = new $tutos[modules][$f][name]($obj->dbconn); - if ( ! is_subclass_of($x,'tutos_module') ) { + try { + $x = new $tutos[modules][$f][name]($obj->dbconn); + if ( ! is_subclass_of($x,'tutos_module') ) { + continue; + Fatal_Error("Wrong module class: ".$tutos[modules][$f][name]); + } + $msg = addLine($msg,$x->parseform($user,$obj,$gotourl)); + } + catch (Exception $e) { continue; - Fatal_Error("Wrong module class: ".$tutos[modules][$f][name]); } - $msg = addLine($msg,$x->parseform($user,$obj,$gotourl)); } return $msg; } @@ -290,15 +325,20 @@ $r = ''; foreach($tutos[activemodules] as $f) { - $x = new $tutos[modules][$f][name]($obj->dbconn); - if ( ! is_subclass_of($x,'tutos_module') ) { + try { + $x = new $tutos[modules][$f][name]($obj->dbconn); + if ( ! is_subclass_of($x,'tutos_module') ) { + continue; + Fatal_Error("Wrong module class: ".$tutos[modules][$f][name]); + } + if ( $x->getType() != $f) { + Fatal_Error($f ." reports to be ".$x->getType()); + } + $r .= $x->addform($user,$obj,$cols); + } + catch (Exception $e) { continue; - Fatal_Error("Wrong module class: ".$tutos[modules][$f][name]); } - if ( $x->getType() != $f) { - Fatal_Error($f ." reports to be ".$x->getType()); - } - $r .= $x->addform($user,$obj,$cols); } return $r; } @@ -319,8 +359,12 @@ if (! class_exists($tutos[modules][$f][name])) { Fatal_Error("No module class for: ".$f); } - $x = new $tutos[modules][$f][name]($ly->dbconn); - + try { + $x = new $tutos[modules][$f][name]($ly->dbconn); + } + catch (Exception $e) { + continue; + } if ( ! is_subclass_of($x,'tutos_module') ) { continue; Fatal_Error("Wrong module class: ".$tutos[modules][$f][name]); Modified: trunk/php/module_template/AAA_new.php =================================================================== --- trunk/php/module_template/AAA_new.php 2013-08-04 08:56:22 UTC (rev 1119) +++ trunk/php/module_template/AAA_new.php 2013-08-04 09:09:54 UTC (rev 1120) @@ -55,7 +55,10 @@ $r .= $this->showfieldc($lang['AAAReference'],1,'link_id'); $r .= " <td colspan=\"5\">\n"; if ($this->obj->id == -1) { - $r .= $lang[$this->obj->ref->getType()] ." ". $this->obj->ref->getLink() ."\n"; + // new + if (is_object($this->obj->ref)) { + $r .= $lang[$this->obj->ref->getType()] ." ". $this->obj->ref->getLink() ."\n"; + } $this->addhidden("link_id",$this->obj->link_id); } else { $r .= " <select name=\"link_id\">\n"; @@ -113,6 +116,11 @@ $this->stop = true; return; } + if ( !isset($_GET['link_id']) ){ + $msg = addLine($msg,sprintf($lang['Err0040'],$lang['AAAReference'])); + $this->stop = true; + return; + } } @@ -134,6 +142,11 @@ $this->obj->read_reference(); $this->obj->read_relations(); + if (!is_object($this->obj->ref)) { + $msg = addLine($msg,sprintf($lang['Err0040'],$lang['AAAReference'])); + $this->stop = true; + return; + } add_module_newlinks($this,$this->obj); } } @@ -145,4 +158,4 @@ <!-- SVN Info $Id$ $Author$ ---> +--> \ No newline at end of file Modified: trunk/php/mytutos.php =================================================================== --- trunk/php/mytutos.php 2013-08-04 08:56:22 UTC (rev 1119) +++ trunk/php/mytutos.php 2013-08-04 09:09:54 UTC (rev 1120) @@ -90,8 +90,13 @@ task::readCal($adr, $from, $to); } foreach ($tutos[activemodules] as $i => $f) { - $x = new $tutos[modules][$f][name]($adr->dbconn); - $x->readCal($adr, $from, $to); + try { + $x = new $tutos[modules][$f][name]($adr->dbconn); + $x->readCal($adr, $from, $to); + } + catch (Exception $e) { + continue; + } } $r .= info_table_start(); @@ -269,7 +274,12 @@ } foreach ($tutos[activemodules] as $i => $f) { - $x = new $tutos[modules][$f][name]($this->dbconn); + try { + $x = new $tutos[modules][$f][name]($this->dbconn); + } + catch (Exception $e) { + continue; + } $rx = $x->mytutos($this->adr); if ($rx == "") { continue; Modified: trunk/php/product_contacts.php =================================================================== --- trunk/php/product_contacts.php 2013-08-04 08:56:22 UTC (rev 1119) +++ trunk/php/product_contacts.php 2013-08-04 09:09:54 UTC (rev 1120) @@ -66,8 +66,8 @@ $fs = array(7,7,7,7,7); $al = array('R','R','L','L','L'); -# Header - $h = 8; + # Header + $h = 8; $pdf->SetFont('Arial','B',$fs[0]); $pdf->Cell($w[0],$h, $lang['AdrName'],1,0,$al[0]); $pdf->SetFont('Arial','B',$fs[1]); @@ -369,7 +369,7 @@ $this->obj = $this->obj->read($_GET['id'],$this->obj); } if ( !is_object($this->obj) ) { - $msg = addLine($msg,sprintf($lang['Err0040'],$lang['Address'])); + $msg = addLine($msg,sprintf($lang['Err0040'],$lang['ProductP'])); $this->stop = true; $this->format = "html"; return; Modified: trunk/php/report-engine/rep_directory/rep_directory.pinc =================================================================== --- trunk/php/report-engine/rep_directory/rep_directory.pinc 2013-08-04 08:56:22 UTC (rev 1119) +++ trunk/php/report-engine/rep_directory/rep_directory.pinc 2013-08-04 09:09:54 UTC (rev 1120) @@ -1,226 +1,231 @@ <?php /** - * Copyright 2004 - 2008 by Gero Kohnert + * Copyright 2004 - 2013 by Gero Kohnert * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; version 2 of the License. + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; version 2 of the License. * * * SVN Info $Id$ * $Author$ */ +$tutos['files'][__FILE__] = '$Rev$'; class rep_directory extends rep_base { - function rep_directory($dbconn,$report) { - $this->init($dbconn,$report); - $this->format = "html"; + function rep_directory($dbconn,$report) { + $this->init($dbconn,$report); + $this->format = "html"; - $this->obj = -1; - if (isset($_GET['id'])) { - $this->obj = getObject($this->dbconn,$_GET['id']); + $this->obj = -1; + if (isset($_GET['id'])) { + $this->obj = getObject($this->dbconn,$_GET['id']); + } } - } - /** - * replace some tags - */ - function replace($str) { - global $lang; - - $manager = ""; - $manageradr = ""; - $customer = ""; - foreach ($this->obj->role[PROD_ROLE_MANAGER] as $i => $j) { - $manager .= $j->getFullName(); + /** + * replace some tags + */ + function replace($str) { + global $lang; - $j->read_locs_data(); - while( list ($i,$f) = @each ($j->location)) { - if (is_object($f->department)) { - $manageradr = $f->company->name; + $manager = ""; + $manageradr = ""; + $customer = ""; + foreach ($this->obj->role[PROD_ROLE_MANAGER] as $i => $j) { + $manager .= $j->getFullName(); + + $j->read_locs_data(); + while( list ($i,$f) = @each ($j->location)) { + if (is_object($f->department)) { + $manageradr = $f->company->name; + } + if (is_object($f->department)) { + $manageradr .= "\\par ".$f->department->name; + } + $manageradr .= "\\par ".$f->street1; + $manageradr .= "\\par ".$f->street2; + $manageradr .= "\\par ".$f->zip ." ".$f->city; + } } - if (is_object($f->department)) { - $manageradr .= "\\par ".$f->department->name; + foreach ($this->obj->role[6] as $i => $j) { + if ($j->getType() == "company") { + $customer .= $j->getFullName(); + } } - $manageradr .= "\\par ".$f->street1; - $manageradr .= "\\par ".$f->street2; - $manageradr .= "\\par ".$f->zip ." ".$f->city; - } + + $str = eregi_replace("%PROJECT%",$this->obj->getFullName(),$str); + $str = eregi_replace("%URL%",dirname(getBaseUrl(true)).'/'.$this->obj->getUrl(),$str); + $str = eregi_replace("%DATE%", strftime($lang['DateFormatStr']),$str); + $str = eregi_replace("%CUSTOMER%",$customer,$str); + $str = eregi_replace("%MANAGER%",$manager,$str); + $str = eregi_replace("%MANAGERADR%",$manageradr,$str); + $str = eregi_replace("%DESC%",$this->obj->description,$str); + $str = eregi_replace("%DESC1%",$this->obj->desc1,$str); + $str = eregi_replace("%DESC2%",$this->obj->desc2,$str); + return $str; } - foreach ($this->obj->role[6] as $i => $j) { - if ($j->getType() == "company") { - $customer .= $j->getFullName(); - } - } - $str = eregi_replace("%PROJECT%",$this->obj->getFullName(),$str); - $str = eregi_replace("%URL%",dirname(getBaseUrl(true)).'/'.$this->obj->getUrl(),$str); - $str = eregi_replace("%DATE%", strftime($lang['DateFormatStr']),$str); - $str = eregi_replace("%CUSTOMER%",$customer,$str); - $str = eregi_replace("%MANAGER%",$manager,$str); - $str = eregi_replace("%MANAGERADR%",$manageradr,$str); - $str = eregi_replace("%DESC%",$this->obj->description,$str); - $str = eregi_replace("%DESC1%",$this->obj->desc1,$str); - $str = eregi_replace("%DESC2%",$this->obj->desc2,$str); - return $str; - } + function copy($c,$dir) { + global $tutos; - function copy($c,$dir) { - global $tutos; + $target = $dir.$c[1].DIRECTORY_SEPARATOR.$c[0]; + $target = $this->replace($target); + $target = str_replace(" ","_",$target); - $target = $dir.$c[1].DIRECTORY_SEPARATOR.$c[0]; - $target = $this->replace($target); - $target = str_replace(" ","_",$target); - - if (file_exists($target)) { - echo " Skip ".$c[0]." ".$target ."<br />\n"; - return; + if (file_exists($target)) { + echo " Skip ".$c[0]." ".$target ."<br />\n"; + return; + } + $source = $tutos['base']."/php/report-engine/".$this->data['dir']."/templates/".$c[0]; + $u = umask(0); + echo " ".$c[0]." ".$target ."<br />\n"; + $f1 = fopen($source,"r"); + $f2 = fopen($target,"w"); + while ($r=fread($f1,8192) ) { + fwrite($f2,$r); + } + fclose($f1); + fclose($f2); + umask($u); + if($this->data['group'] != "") { + chgrp ($target,$this->data['group']); + } + chmod ($target,$this->data['fileperm']); } - $source = $tutos['base']."/php/report-engine/".$this->data['dir']."/templates/".$c[0]; - $u = umask(0); - echo " ".$c[0]." ".$target ."<br />\n"; - $f1 = fopen($source,"r"); - $f2 = fopen($target,"w"); - while ($r=fread($f1,8192) ) { - fwrite($f2,$r); - } - fclose($f1); - fclose($f2); - umask($u); - if($this->data['group'] != "") { - chgrp ($target,$this->data['group']); - } - chmod ($target,$this->data['fileperm']); - } - function copy_replace($c,$dir) { - global $tutos; + function copy_replace($c,$dir) { + global $tutos; - $target = $dir.$c[1].DIRECTORY_SEPARATOR.$c[0]; - $target = $this->replace($target); - $target = str_replace(" ","_",$target); + $target = $dir.$c[1].DIRECTORY_SEPARATOR.$c[0]; + $target = $this->replace($target); + $target = str_replace(" ","_",$target); - if (file_exists($target)) { - echo " Skip ".$c[0]." ".$target ."<br />\n"; - return; + if (file_exists($target)) { + echo " Skip ".$c[0]." ".$target ."<br />\n"; + return; + } + $source = $tutos['base']."/php/report-engine/".$this->data['dir']."/templates/".$c[0]; + if (!file_exists($source)) { + echo " Skip (due to missing source '". $source ." ') ".$c[0]." ".$target ."<br />\n"; + return; + } + $u = umask(0); + echo " ".$c[0]." ".$target ."<br />\n"; + $f1 = fopen($source,"r"); + $f2 = fopen($target,"w"); + while ($r=fread($f1,8192) ) { + $r = $this->replace($r); + fwrite($f2,$r); + } + fclose($f1); + fclose($f2); + umask($u); + if($this->data['group'] != "") { + chgrp ($target,$this->data['group']); + } + chmod ($target,$this->data['fileperm']); } - $source = $tutos['base']."/php/report-engine/".$this->data['dir']."/templates/".$c[0]; - if (!file_exists($source)) { - echo " Skip (due to missing source '". $source ." ') ".$c[0]." ".$target ."<br />\n"; - return; + + function mkdir($dir) { + $dir = str_replace(" ","_",$dir); + echo " "; + if (is_dir($dir)) { + echo "<span class=\"found\">already exists</span><br />"; + } else { + $u = umask(0); + if(mkdir ($dir,$this->data['dirperm'])) { + echo "<span class=\"found\">OK</span><br />"; + } else { + echo "<span class=\"warn\">failed</span><br />"; + } + umask($u); + } + echo " "; + if($this->data['group'] != "") { + if(chgrp ($dir,$this->data['group'])) { + echo "<span class=\"found\">group '". $this->data['group'] ."' OK</span><br />"; + } else { + echo "<span class=\"warn\">group '". $this->data['group'] ."' set failed</span><br />"; + } + } } - $u = umask(0); - echo " ".$c[0]." ".$target ."<br />\n"; - $f1 = fopen($source,"r"); - $f2 = fopen($target,"w"); - while ($r=fread($f1,8192) ) { - $r = $this->replace($r); - fwrite($f2,$r); - } - fclose($f1); - fclose($f2); - umask($u); - if($this->data['group'] != "") { - chgrp ($target,$this->data['group']); - } - chmod ($target,$this->data['fileperm']); - } - function mkdir($dir) { - $dir = str_replace(" ","_",$dir); - echo " "; - if (is_dir($dir)) { - echo "<span class=\"found\">already exists</span><br />"; - } else { - $u = umask(0); - if(mkdir ($dir,$this->data['dirperm'])) { - echo "<span class=\"found\">OK</span><br />"; - } else { - echo "<span class=\"warn\">failed</span><br />"; - } - umask($u); + /** + * make a usable directory name + */ + function todir($s) { + $s = str_replace(" ","_",$s); + $s = str_replace("/","_",$s); + $s = str_replace("..","_",$s); + return $s; } - echo " "; - if($this->data['group'] != "") { - if(chgrp ($dir,$this->data['group'])) { - echo "<span class=\"found\">group '". $this->data['group'] ."' OK</span><br />"; - } else { - echo "<span class=\"warn\">group '". $this->data['group'] ."' set failed</span><br />"; - } - } - } - /** - * make a usable directory name - */ - function todir($s) { - $s = str_replace(" ","_",$s); - $s = str_replace("/","_",$s); - $s = str_replace("..","_",$s); - return $s; - } - /** - * create a whole file structure - */ - function show(layout $ly) { - global $tutos,$lang,$current_user; + /** + * create a whole file structure + */ + function show(layout $ly) { + global $tutos,$lang,$current_user; - $this->obj->readroles(); - echo $lang['rep_dir_basedir'] .": ". $this->data['basedir']."<br />"; - $this->mkdir($this->data['basedir']); - $dirname = $this->todir($this->obj->getFullName()); + $this->obj->readroles(); + echo $lang['rep_dir_basedir'] .": ". $this->data['basedir']."<br />"; + $this->mkdir($this->data['basedir']); + $dirname = $this->todir($this->obj->getFullName()); - $b = $this->data['basedir']. DIRECTORY_SEPARATOR .$dirname; + $b = $this->data['basedir']. DIRECTORY_SEPARATOR .$dirname; - echo $lang['rep_dir_basedir'] .": ". $b."<br />"; - $this->mkdir($b); + echo $lang['rep_dir_basedir'] .": ". $b."<br />"; + $this->mkdir($b); - # Directories to make - foreach ($this->data['subdir'] as $sub) { - echo $lang['rep_dir_subdir'] .":". $this->todir($sub) ."<br />"; - $this->mkdir($b. DIRECTORY_SEPARATOR .$this->todir($sub)); + // Directories to make + foreach ($this->data['subdir'] as $sub) { + echo $lang['rep_dir_subdir'] .":". $this->todir($sub) ."<br />"; + $this->mkdir($b. DIRECTORY_SEPARATOR .$this->todir($sub)); + } + // Files to copy without replacing content + if (isset($this->data['copy'])) { + foreach ($this->data['copy'] as $c) { + $this->copy($c,$b); + } + } + // Files to copy + if (isset($this->data['copy_replace'])) { + foreach ($this->data['copy_replace'] as $c) { + $this->copy_replace($c,$b); + } + } + return; } - # Files to copy without replacing content - if (isset($this->data['copy'])) { - foreach ($this->data['copy'] as $c) { - $this->copy($c,$b); - } + + function complete() { + if (!is_object($this->obj)) return false; + return true; } - # Files to copy - if (isset($this->data['copy_replace'])) { - foreach ($this->data['copy_replace'] as $c) { - $this->copy_replace($c,$b); - } + + function ask_form(layout $ly) { + return ''; } - return; - } - function complete() { - if ($this->obj == -1) return false; - return true; - } + function getFullname() { + global $lang; + return $lang['rep_dir_name']; + } - function ask_form(layout $ly) { - global $lang; - $r = ""; - return $r; - } - - function getFullname() { - global $lang; - return $lang['rep_dir_name']; - } - - function getInfo() { - global $lang; - $r = $lang['rep_dir_info'].'<br />'; - foreach ($this->data['subdir'] as $sub) { - $r .= myentities($this->data['basedir'].DIRECTORY_SEPARATOR. $this->todir($this->obj->getFullName()).DIRECTORY_SEPARATOR.$this->todir($sub)).'<br />'; + function getInfo() { + global $lang; + $r = $lang['rep_dir_info'].'<br />'; + foreach ($this->data['subdir'] as $sub) { + $r .= myentities($this->data['basedir']); + if (is_object($this->obj)) { + $r .= DIRECTORY_SEPARATOR.myentities($this->todir($this->obj->getFullName())); + } + $r .= DIRECTORY_SEPARATOR.myentities($this->todir($sub)); + $r .= '<br />'; + } + return $r; } - return $r; - } } -?> +?> \ No newline at end of file Modified: trunk/php/sales_forecast.php =================================================================== --- trunk/php/sales_forecast.php 2013-08-04 08:56:22 UTC (rev 1119) +++ trunk/php/sales_forecast.php 2013-08-04 09:09:54 UTC (rev 1120) @@ -25,6 +25,8 @@ * -subdivide output in separate months * -make graph of report (using jpgraph) */ +$tutos['files'][__FILE__] = '$Rev$'; + require_once 'webelements.p3'; require_once 'permission.p3'; @@ -497,7 +499,7 @@ global $lang,$tutos; $r = ''; -# load_jpgraph( array("jpgraph_gantt.php","jpgraph_bar.php") ); + # load_jpgraph( array("jpgraph_gantt.php","jpgraph_bar.php") ); if ($tutos[usejpgraph] != 0 ) { $src = 'sales_forecast.php?format=image'; @@ -563,7 +565,7 @@ } else { $sumPeriod[$period]= $p->getBalanced(); } -#unset($p); + #unset($p); $a++; } // let's get the last values... @@ -704,4 +706,4 @@ <!-- SVN Info $Id$ $Author$ ---> +--> \ No newline at end of file Modified: trunk/php/webelements.p3 =================================================================== --- trunk/php/webelements.p3 2013-08-04 08:56:22 UTC (rev 1119) +++ trunk/php/webelements.p3 2013-08-04 09:09:54 UTC (rev 1120) @@ -1809,8 +1809,9 @@ Function getObject(tutos_db $dbconn,$id, $usecache = 1) { global $g_hash,$tutos,$current_user; - $id = (int)$id; if ( empty($id) ) return -1; + $id = trim($id); + if (!is_numeric($id) ) return -1; if ( $id <= 0 ) return -1; if ($dbconn->getType() == 'fake') return -1; Modified: trunk/test.sh =================================================================== --- trunk/test.sh 2013-08-04 08:56:22 UTC (rev 1119) +++ trunk/test.sh 2013-08-04 09:09:54 UTC (rev 1120) @@ -155,7 +155,6 @@ URLS=" acl_overview.php?lg=$LG acl_new.php?id=$ADR&lg=$LG - acl_new.php?id=$NOID&lg=$LG acl_show.php?id=$ADR&lg=$LG acl_show.php?id=$NOID&lg=$LG acl_ins.php?lg=$LG @@ -217,14 +216,18 @@ history_show.php?id=$ADR&lg=$LG&start=-1 history_show.php?adr_id=$ADR&lg=$LG&start=-1 history_show.php?id=$NOID&lg=$LG - history_show.php?adr_idid=$NOID&lg=$LG + history_show.php?adr_id=$NOID&lg=$LG history_select.php?lg=$LG + history_show.php?field=creat&lg=$LG message_overview.php?lg=$LG message_del.php?lg=$LG minical.php?lg=$LG minitimer.php?lg=$LG&f=start module_overview.php?lg=$LG mytutos.php?lg=$LG + mytutos.php?lg=$LG&th=red + mytutos.php?lg=$LG&th=blue + mytutos.php?lg=$LG&ly=new mytutos.php?id=$NOID&lg=$LG mytutos.php?id=$ADR&lg=$LG mail_new.php?subject=TEST&watch=$ADR&lg=$LG @@ -245,6 +248,11 @@ product_show.php?lg=$LG product_show.php?id=$NOID&lg=$LG product_show.php?id=$P_ID&lg=$LG + product_show.php?id=$P_ID&lg=$LG&ly=new + product_show.php?id=$P_ID&lg=$LG&ly=mobile + product_show.php?id=$P_ID&lg=$LG&th=red + product_show.php?id=$P_ID&lg=$LG&th=blue + product_show.php?id=$P_ID&lg=$LG&th=white product_contacts.php?lg=$LG product_contacts.php?id=$NOID&lg=$LG product_contacts.php?id=$P_ID&lg=$LG @@ -604,8 +612,10 @@ watchlist/watchlist_overview.php?id=$NOID&lg=$LG admin/restore.php?dbnr=$NOID&lg=$LG admin/restore.php?dbnr=$DBNR&lg=$LG + admin/restore.php?size=1&dbnr=$DBNR&lg=$LG admin/scheme.php?lg=$LG admin/update.php?lg=$LG + admin/update.php?dbnr=$DBNR&lg=$LG subversion/svn_check.php?lg=$LG subversion/svn_access.php?lg=$LG " This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-04 08:56:25
|
Revision: 1119 http://sourceforge.net/p/tutos/code/1119 Author: gokohnert Date: 2013-08-04 08:56:22 +0000 (Sun, 04 Aug 2013) Log Message: ----------- fix Modified Paths: -------------- trunk/php/history_show.php Modified: trunk/php/history_show.php =================================================================== --- trunk/php/history_show.php 2013-08-03 12:23:55 UTC (rev 1118) +++ trunk/php/history_show.php 2013-08-04 08:56:22 UTC (rev 1119) @@ -235,7 +235,7 @@ * prepare */ Function prepare() { - global $tutos,$msg,$lang; + global $tutos,$msg,$lang,$table; $this->link1 = "history_show.php"; $this->obj = -1; @@ -334,7 +334,7 @@ $n = $_GET['field']; $this->field[] = $n; // search - $q = 'select distinct m_field from history'; + $q = 'select distinct m_field from '.$this->dbconn->prefix.$table['history'][name]; $res = $this->dbconn->Exec($q); $cnt = $res->numrows(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-03 12:23:58
|
Revision: 1118 http://sourceforge.net/p/tutos/code/1118 Author: gokohnert Date: 2013-08-03 12:23:55 +0000 (Sat, 03 Aug 2013) Log Message: ----------- replaced old fckeditor with ckeditor (sources now included) Modified Paths: -------------- trunk/php/config_default.pinc Modified: trunk/php/config_default.pinc =================================================================== --- trunk/php/config_default.pinc 2013-08-03 12:19:40 UTC (rev 1117) +++ trunk/php/config_default.pinc 2013-08-03 12:23:55 UTC (rev 1118) @@ -308,14 +308,7 @@ // $tutos[jscalendar] = 1; // -// Use FCKeditor ? -// see tutos/libs/fsckeditor -// 1 = yes -// 0 = no // -$tutos[fckeditor] = 1; -// -// // Path to the PDF Classes fpdf.php http://www.fpdf.org/ // (path is relative to TUTOS home) // Keep empty "" if the package is not installed @@ -735,7 +728,7 @@ // // The TUTOS Version number // -$tutos[version] = '1.9.20130524'; +$tutos[version] = '1.9.20130803'; // ### Local Variables: *** ### mode:iso-accents *** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |