You can subscribe to this list here.
2007 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
|
Feb
(58) |
Mar
(126) |
Apr
(96) |
May
(42) |
Jun
(59) |
Jul
(80) |
Aug
(95) |
Sep
(99) |
Oct
(137) |
Nov
(54) |
Dec
(138) |
2009 |
Jan
(174) |
Feb
(83) |
Mar
(36) |
Apr
(22) |
May
(16) |
Jun
(11) |
Jul
(7) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <ken...@us...> - 2009-01-30 02:42:26
|
Revision: 1187 http://andro.svn.sourceforge.net/andro/?rev=1187&view=rev Author: kendowns Date: 2009-01-30 02:42:24 +0000 (Fri, 30 Jan 2009) Log Message: ----------- Time for feature freeze! Added Paths: ----------- dev-releases/2009.01.29/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-01-30 02:41:23
|
Revision: 1186 http://andro.svn.sourceforge.net/andro/?rev=1186&view=rev Author: kendowns Date: 2009-01-30 02:41:20 +0000 (Fri, 30 Jan 2009) Log Message: ----------- oops, had to take out some console.log statements. Modified Paths: -------------- trunk/andro/clib/x6.js Modified: trunk/andro/clib/x6.js =================================================================== --- trunk/andro/clib/x6.js 2009-01-30 02:40:20 UTC (rev 1185) +++ trunk/andro/clib/x6.js 2009-01-30 02:41:20 UTC (rev 1186) @@ -464,7 +464,7 @@ * SOURCE */ String.prototype.htmlDisplay = function() { - if(this==null) { console.log('null'); return ''; } + if(this==null) return ''; return this.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); } /******/ @@ -2601,7 +2601,6 @@ }, priorFocus: function() { - console.log(this.priorObjectFocus); this.fireEvent('objectFocus',this.priorObjectFocus); } } @@ -4883,7 +4882,6 @@ // tells us where to pull defaults from $(this).find(':input[xdefsrc]').each( function() { - console.log(this.id); var info = $(this).prop('xdefsrc').split('.'); var row = x6bb.fwGet('dbRow_'+info[0]); var val = row[info[1]]; @@ -5473,7 +5471,6 @@ } self.uiRowSaved_readOnly = function(row) { - console.log(row); var skey = row.skey; // DUPLICATE CODE ALERT // This code is also present in PHP androLib.php This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-01-30 02:40:25
|
Revision: 1185 http://andro.svn.sourceforge.net/andro/?rev=1185&view=rev Author: kendowns Date: 2009-01-30 02:40:20 +0000 (Fri, 30 Jan 2009) Log Message: ----------- Removed Paths: ------------- releases/2008-04-14/ releases/2008-04-15.1/ releases/2008-04-16/ releases/2008-05-24/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-01-30 02:39:27
|
Revision: 1184 http://andro.svn.sourceforge.net/andro/?rev=1184&view=rev Author: kendowns Date: 2009-01-30 02:39:22 +0000 (Fri, 30 Jan 2009) Log Message: ----------- delete old dev releases Removed Paths: ------------- dev-releases/2009-01-14/ dev-releases/2009-01-14.1/ dev-releases/2009-01-15/ dev-releases/2009-01-16/ dev-releases/2009.01.21/ dev-releases/2009.01.21.1/ dev-releases/2009.01.21.2/ dev-releases/2009.01.21.3/ dev-releases/2009.01.21.4/ dev-releases/2009.01.21.5/ dev-releases/2009.01.21.6/ dev-releases/2009.01.22/ dev-releases/2009.01.23/ dev-releases/2009.01.24/ dev-releases/2009.01.24.1/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-01-30 02:38:08
|
Revision: 1183 http://andro.svn.sourceforge.net/andro/?rev=1183&view=rev Author: kendowns Date: 2009-01-30 02:38:05 +0000 (Fri, 30 Jan 2009) Log Message: ----------- Removed Paths: ------------- dev-releases/2009.01.29/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-01-30 02:37:30
|
Revision: 1182 http://andro.svn.sourceforge.net/andro/?rev=1182&view=rev Author: kendowns Date: 2009-01-30 02:37:28 +0000 (Fri, 30 Jan 2009) Log Message: ----------- Removed Paths: ------------- releases/2009.01.29/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-01-30 02:36:58
|
Revision: 1181 http://andro.svn.sourceforge.net/andro/?rev=1181&view=rev Author: kendowns Date: 2009-01-30 02:36:56 +0000 (Fri, 30 Jan 2009) Log Message: ----------- Time for feature freeze! Added Paths: ----------- releases/2009.01.29/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-01-30 02:36:12
|
Revision: 1180 http://andro.svn.sourceforge.net/andro/?rev=1180&view=rev Author: kendowns Date: 2009-01-30 02:36:10 +0000 (Fri, 30 Jan 2009) Log Message: ----------- Time for Feature Freeze! Added Paths: ----------- dev-releases/2009.01.29/trunk/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-01-30 02:34:32
|
Revision: 1179 http://andro.svn.sourceforge.net/andro/?rev=1179&view=rev Author: kendowns Date: 2009-01-30 02:34:29 +0000 (Fri, 30 Jan 2009) Log Message: ----------- Changes to multiple files to implement editing of child tables in popup detail panes on the x6 "conventional" profile. Modified Paths: -------------- trunk/andro/clib/x6.js trunk/andro/lib/AndroDBB.add trunk/andro/lib/androHTMLFoot.php trunk/andro/lib/androLib.php trunk/andro/lib/androX6.php Modified: trunk/andro/clib/x6.js =================================================================== --- trunk/andro/clib/x6.js 2009-01-30 02:33:44 UTC (rev 1178) +++ trunk/andro/clib/x6.js 2009-01-30 02:34:29 UTC (rev 1179) @@ -464,6 +464,7 @@ * SOURCE */ String.prototype.htmlDisplay = function() { + if(this==null) { console.log('null'); return ''; } return this.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); } /******/ @@ -2453,6 +2454,7 @@ * ****** */ + priorObjectFocus: '', makeMap: false, map: [ ], mapStack: [ ], @@ -2522,14 +2524,27 @@ return; } - // Hardcoded handling of objectFocus, pull out the object - // getting focus and put it at end + // Hardcoded handling of objectFocus, we fire only to + // the object that has focus and the object receving it if(eventName=='objectFocus') { - var idx = subscribers.indexOf(arguments); - if(idx >= 0) { - subscribers.splice(idx,1); - subscribers.push(arguments); + x6.console.log("Event objectFocus handling is hardcoded"); + var objNowId = x6bb.fwGet('objectFocus',''); + if(objNowId != arguments) { + this.priorObjectFocus = objNowId; + if(objNowId != '' && objNowId !='--null--') { + retval = x6.byId(objNowId) + .receiveEvent_objectFocus(arguments); + } + if(arguments != '--null--') { + retval = x6.byId(arguments) + .receiveEvent_objectFocus(arguments); + } + } + x6inputs.objectFocusFocus(arguments); + + // This causes no events to fire below + subscribers = []; } // loop through subscribers. Note at the bottom of the list @@ -2583,6 +2598,11 @@ x6.console.log("fireEvent ",eventName," RETURNING: ",this.retvals[eventName]); x6.console.groupEnd(); return this.retvals[eventName]; + }, + + priorFocus: function() { + console.log(this.priorObjectFocus); + this.fireEvent('objectFocus',this.priorObjectFocus); } } @@ -3573,7 +3593,6 @@ }, setClass: function(inp) { - x6.console.group("setClass for input "+inp.id); if(x6.p(inp,'xLookup')=='Y') { x6.console.groupEnd(); return; @@ -3646,7 +3665,6 @@ inp.parentNode.parentNode.className = ''; } } - x6.console.groupEnd(); }, clearOut: function(inp) { @@ -4695,39 +4713,39 @@ ****** */ x6plugins.detailDisplay = function(self,id,table) { - self.zTable = table; - self.zSkey = -1; + self.zTable = table; + self.zSkey = -1; x6events.subscribeToEvent('objectFocus',id); self.receiveEvent_objectFocus = function(id) { x6.console.group("Object Focus for: "+id+", we are "+this.id); if(id!=this.id) { x6events.fireEvent('buttonsNew_'+this.zTable,false); - x6events.fireEvent('buttonsEdit_'+this.zTable,false); - + x6events.fireEvent('buttonsEdit_'+this.zTable,false); x6inputs.objectFocusBlur(this.id); } // If it IS us, turn everything on, and set // the bulletin board. But if we already have // focus then do nothing. else { - var curObj = x6bb.fwGet('objectFocus',''); - x6.console.log("current focus is "+curObj); - if(curObj!=id) { - x6events.fireEvent('buttonsNew_'+this.zTable,true); - x6events.fireEvent('uiHideKids_'+this.zTable,this.zTable); + x6events.fireEvent('buttonsNew_'+this.zTable,true); + x6events.fireEvent('uiHideKids_'+this.zTable,this.zTable); - // turn on edit buttons if new or edit - if(this.zSkey >= 0) { - x6events.fireEvent('buttonsEdit_'+this.zTable,true); - } - - // Tell the bb who has focus, and only then at the - // end find out which control to set. - x6bb.fwSet('objectFocus',id); - var jqStr = ':input[id^=x6inp]:not([disabled])'; - x6inputs.objectFocusFocus(this.id,jqStr); + // turn on edit buttons if new or edit + if(this.zSkey >= 0) { + x6events.fireEvent('buttonsEdit_'+this.zTable,true); } + + // If we are inside a modal, display it + if($(this).prop('x6modal','N')=='Y') { + x6modals.display(this.id); + } + + // Tell the bb who has focus, and only then at the + // end find out which control to set. + x6bb.fwSet('objectFocus',id); + var jqStr = ':input[id^=x6inp]:not([disabled])'; + x6inputs.objectFocusFocus(this.id,jqStr); } x6.console.groupEnd(); } @@ -4816,9 +4834,7 @@ x6events.fireEvent('buttonsNew_'+this.zTable,true); x6events.fireEvent('buttonsEdit_'+this.zTable,true); - x6events.fireEvent('objectFocus',this.id); - x6inputs.objectFocusFocus(this.id); x6.console.groupEnd(); } @@ -4831,6 +4847,9 @@ self['receiveEvent_uiRowSaved_'+table] = function(row) { x6.console.group("detailDisplay uiRowSaved"); this.displayRow('edit',row); + if($(this).prop('x6modal','N')=='Y') { + x6modals.close(); + } x6.console.groupEnd(); } @@ -4859,6 +4878,18 @@ this.zActive = 1; }); this.zSkey = 0; + + // Alternate method, find inputs with xdefsrc, which + // tells us where to pull defaults from + $(this).find(':input[xdefsrc]').each( + function() { + console.log(this.id); + var info = $(this).prop('xdefsrc').split('.'); + var row = x6bb.fwGet('dbRow_'+info[0]); + var val = row[info[1]]; + $(this).val(val); + } + ); } else { this.populateInputs(row); @@ -4963,6 +4994,11 @@ if($(this).prop('x6profile','')=='twosides') { x6events.fireEvent('objectFocus','grid_'+this.zTable); } + + // KFD 1/29/09, if we are on a modal, clear it + if($(this).prop('x6modal','N')=='Y') { + x6modals.close(); + } x6bb.fwSet('exitApproved',false); } @@ -4980,6 +5016,10 @@ x6events.fireEvent('buttonsEdit_'+this.zTable,false); x6events.fireEvent('uiHideKids_'+this.zTable,this.zTable); x6events.fireEvent('uiDisableKids_'+this.zTable,this.zTable); + // KFD 1/29/09, if we are on a modal, clear it + if($(this).prop('x6modal','N')=='Y') { + x6modals.close(); + } x6.console.groupEnd(); } @@ -5056,6 +5096,7 @@ self.zSkey = -1; self.zTable = table; self.x6profile = $(self).prop('x6profile','none'); + self.x6childwrites=$(self).prop('x6childwrites','N'); /* * grid can receive object focus @@ -5081,11 +5122,14 @@ this.keyboardOn(); - if(this.x6profile == 'grid') { + if(this.x6profile == 'grid' || this.x6childwrites!='N') { x6events.fireEvent('key_DownArrow','DownArrow'); if($(this).prop('uiEditRow','N')=='Y') { x6events.fireEvent('buttonsNew_'+this.zTable,true); } + if(this.x6childwrites=='detail') { + x6events.fireEvent('buttonsNew_'+this.zTable,true); + } } if(this.x6profile == 'conventional') { x6inputs.objectFocusFocus(this.id,':input[id^=search]'); @@ -5429,6 +5473,7 @@ } self.uiRowSaved_readOnly = function(row) { + console.log(row); var skey = row.skey; // DUPLICATE CODE ALERT // This code is also present in PHP androLib.php @@ -5441,12 +5486,18 @@ var info = this.zColsInfo[idx]; var col = info.column_id; if(col=='') continue; + if(row[col]==null) row[col] = ''; html+='<div class="cell_'+col+'"' +' gcolumn = "'+idx+'">' +row[col].htmlDisplay() +'</div>'; } - $(this).find('.tbody').prepend(html); + if( $(this).find(this.rowId(skey)).length == 1) { + $(this).find(this.rowId(skey)).replaceWith(html); + } + else { + $(this).find('.tbody').prepend(html); + } $('#'+this.zTable+'_'+skey).mouseover(); } @@ -6569,20 +6620,109 @@ ); } +} + + +x6modals = { /* + * Core function: display one of them + */ + display: function(id) { + x6.console.group("x6modals.display: "+id); + // start by making everybody inside the modal + // invisible, then make the one we are interested + // in visible later on + $('#x6modal div.x6modal').css('display:none'); + + // Turn scrolling off for the body + $('body') + .css('overflow','hidden') + .height($(window).height()) + .width( $(window).width()); + + // ...establish the blocker and fade in the modal + $('#x6modalblock') + .css('opacity',0) + .css('display','block') + .animate({opacity:0.5},'fast',null + ,function() { + // First put the modal way off to the side + // clear any previous width and height settings + // and now we can figure out how to size it. + $('#x6modal') + .css('left',-5000) + .css('display','block') + .css('width','') + .css('height','') + var mh = $('#x6modal').height(); + var mw = $('#x6modal').width(); + var ww = $(window).width(); + var wh = $(window).height(); + + /* + // Make sure the width is at least the title + // and the link + var h1w = $('#x6modal .x6modaltop b').width(); + var aw = $('#x6modal .x6modaltop a').width(); + if(mw < (h1w + aw +40)) { + mw = h1w + aw + 40; + $('#x6modal').css('width',mw); + } + + // Make sure the height is at least 1/2 of the window + if(mh < (wh/2)) { + mh = Math.floor(wh/2); + $('#x6modal').css('height',mh); + } + // Make sure height is notmore than window less 100 + if(mh > (wh - 100)) { + mh = wh - 100; + $('#x6modal').css('height',mh); + } + + // Unconditionally set the inner height, who knows + // where its gone off to. + var ihNew = mh - $('#x6modal .x6modaltop').height(); + ihNew -= Number($(mObj).attr('xSpacing')); + + if(ih > ihNew) { + $('#x6modal .x6modalinner').css('overflow-y','scroll'); + } + $('#x6modal .x6modalinner').css('height',ihNew); + */ + + // now center this guy. + var left = Math.floor( (ww-mw)/2 ); + $('#x6modal') + .css('display','none') + .css('left',left) + .css('top',50) + .fadeIn('fast', + function() { + x6events.fireEvent('objectFocus',id); + } + ) + } + ); + x6.console.groupEnd(); + }, + + /* * Core function: close up myself */ - self.close = function() { - var co = this.currentObject; + close: function() { + x6.console.group("x6modals.close"); $('#x6modal').fadeOut('fast' ,function() { $('#x6modalblock').animate({opacity:0},'fast',null ,function() { $(this).css('display','none'); - x6events.fireEvent('objectFocus',co); + x6events.priorFocus(); } ); } ); + x6.console.groupEnd("x6modals.close"); } + } Modified: trunk/andro/lib/AndroDBB.add =================================================================== --- trunk/andro/lib/AndroDBB.add 2009-01-30 02:33:44 UTC (rev 1178) +++ trunk/andro/lib/AndroDBB.add 2009-01-30 02:34:29 UTC (rev 1179) @@ -594,7 +594,7 @@ column permcol { type_id: char; colprec: 1; description: Has Column Security; } column singular { type_id: vchar; colprec: 50; description: Singular Name; } column x6profile { type_id: vchar; colprec: 20; description: X6 Profile; } -column x6childwrites { type_id: char; colprec: 1; description: X6 Child Writes; } +column x6childwrites { type_id: vchar; colprec: 10; description: X6 Child Writes; } column x6all { type_id: char; colprec: 1; description: x6select Preload All Rows; } column x6xref { type_id: vchar; colprec: 10; description: How to Display As Child; } column spaceafter { type_id: char; colprec: 1; description: Put spacer on menu after this entry; } Modified: trunk/andro/lib/androHTMLFoot.php =================================================================== --- trunk/andro/lib/androHTMLFoot.php 2009-01-30 02:33:44 UTC (rev 1178) +++ trunk/andro/lib/androHTMLFoot.php 2009-01-30 02:34:29 UTC (rev 1179) @@ -91,7 +91,14 @@ style = "display:none;" class = "x6modalblock" onclick = "return false"> </div> -<div id="x6modal" style="display:none;" class="x6modal"> </div> +<div id="x6modal" style="display:none;" class="x6modal"> +<?php + $modals = arr($GLOBALS['AG'],'modals',array()); + foreach($modals as $modal) { + $modal->render(); + } +?> +</div> <?php # KFD 12/31/08. Restrict the query log to people who have # set the cookie and are in the 'debuggers' group Modified: trunk/andro/lib/androLib.php =================================================================== --- trunk/andro/lib/androLib.php 2009-01-30 02:33:44 UTC (rev 1178) +++ trunk/andro/lib/androLib.php 2009-01-30 02:34:29 UTC (rev 1179) @@ -1614,11 +1614,18 @@ ******/ # overrides default addButtonbar function bbHeight() { return x6cssHeight('div.x6buttonBar a.button');} - function addButtonBar() { + function addButtonBar($list='new,ins,save,cancel,delete') { $bbHeight = $this->bbHeight(); $table_id = $this->hp['x6table']; - $abuts = array('new','save','remove','abandon'); + $abuts = explode(',',$list); + # Tell us which buttons it has, default to none + $this->hp['butnew'] = 'N'; + $this->hp['butins'] = 'N'; + $this->hp['butsave'] = 'N'; + $this->hp['butcancel'] = 'N'; + $this->hp['butdelete'] = 'N'; + # First trick is to create the div that will be # slipped in above the titles. $this->buttonBar = html('div'); @@ -1643,6 +1650,7 @@ $sr->hp['style'] = 'float: right'; if(in_array('new',$abuts)) { + $this->hp['butnew'] = 'Y'; $a=$sl->h('a-void','New'); $a->addClass('button_disabled button-first'); $a->hp['style'] = 'margin-left: 0px'; @@ -1653,17 +1661,21 @@ $bb->buttons['new'] = $a; $a->initPlugin(); - $a=$sl->h('a-void','Insert'); - $a->addClass('button_disabled'); - $a->hp['style'] = 'margin-left: 0px'; - $a->hp['x6table'] = $table_id; - $a->hp['x6plugin'] = 'buttonInsert'; - $a->hp['id'] = 'buttonInsert_'.$table_id; - $a->hp['style'] = 'float: left'; - $bb->buttons['ins'] = $a; - $a->initPlugin(); + if(in_array('ins',$abuts)) { + $this->hp['butins'] = 'Y'; + $a=$sl->h('a-void','Insert'); + $a->addClass('button_disabled'); + $a->hp['style'] = 'margin-left: 0px'; + $a->hp['x6table'] = $table_id; + $a->hp['x6plugin'] = 'buttonInsert'; + $a->hp['id'] = 'buttonInsert_'.$table_id; + $a->hp['style'] = 'float: left'; + $bb->buttons['ins'] = $a; + $a->initPlugin(); + } } if(in_array('save',$abuts)) { + $this->hp['butsave'] = 'Y'; $a=$sl->h('a-void','Save'); $a->addClass('button_disabled'); $a->hp['x6table'] = $table_id; @@ -1673,7 +1685,8 @@ $bb->buttons['save'] = $a; $a->initPlugin(); } - if(in_array('remove',$abuts)) { + if(in_array('cancel',$abuts)) { + $this->hp['butcancel'] = 'Y'; $a=$sr->h('a-void','Delete'); $a->addClass('button_disabled'); $a->hp['x6table'] = $table_id; @@ -1683,7 +1696,8 @@ $bb->buttons['remove'] = $a; $a->initPlugin(); } - if(in_array('abandon',$abuts)) { + if(in_array('delete',$abuts)) { + $this->hp['butdelete'] = 'Y'; $a=$sr->h('a-void','Cancel'); $a->addClass('button_disabled'); $a->hp['x6table'] = $table_id; @@ -2783,7 +2797,12 @@ # Again, add button bar if required if($bb) { - $this->addButtonBar(); + if(is_string($bb)) { + $this->addButtonBar($bb); + } + else { + $this->addButtonBar(); + } } $this->hp['xButtonBar'] = $bb ? 'Y' : 'N'; @@ -3238,7 +3257,7 @@ class androHTMLDetail extends androHTML { var $firstFocus = false; - function androHTMLDetail($table_id,$complete=false,$height=300) { + function androHTMLDetail($table_id,$complete=false,$height=300,$p=''){ $this->hp['x6plugin'] = 'detailDisplay'; $this->hp['x6table'] = $table_id; $this->hp['id'] = 'ddisp_'.$table_id; @@ -3247,7 +3266,7 @@ if($complete) { $this->htype='div'; $this->innerId = "ddisp_{$table_id}_inner"; - $this->makeComplete($table_id,$height); + $this->makeComplete($table_id,$height,$p); } else { $this->htype='table'; @@ -3256,7 +3275,7 @@ } } - function makeComplete($table_id,$height) { + function makeComplete($table_id,$height,$parTable) { # The complete track is much more involved, adds # buttons and a status bar at bottom. $this->addClass('box2'); @@ -3273,18 +3292,34 @@ + x6cssRuleSize('.box1','border-left') // see below, inner + x6cssRuleSize('.box1','border-right') // box is box1 + ($pad0 * 7); // padding left and right of box1 + + # Always need this + $dd = ddTable($table_id); - # Now for the display # Put some buttons on users $this->addButtonBar(); + # KFD 1/29/09 break out pk/fk columns + if($parTable == '') { + $colsFK = array(); + } + else { + #echo $table_id; + #hprint_r($dd['fk_parents']); + $x = $dd['fk_parents'][$parTable]['cols_both']; + $x = explode(',',$x); + foreach($x as $pair) { + list($chd,$par) = explode(':',$pair); + $colsFK[$chd] = $par; + } + } + # Put in a div that will be the inner box # $div = $this->h('div'); $div->addClass('box1'); - $dd = ddTable($table_id); $table = $div->h('table'); $table->hp['style']='float: left; margin-right: 20px'; $table->addClass('x6Detail'); @@ -3302,7 +3337,9 @@ } } - $options = array('xTabGroup'=>'ddisp_'.$table_id); + $options = array( + 'xTabGroup'=>'ddisp_'.$table_id + ); foreach($cols as $idx=>$col) { if($break17) { if($idx>0 && $idx % 17 == 0) { @@ -3311,7 +3348,22 @@ $this->inputsTable->addClass('x6Detail'); } } - $this->addTRInput($dd,$col,$options); + + # KFD 1/29/09. If detail that is child of a parent, + # see if this column needs to pull + if(!isset($colsFK[$col])) + $xoptions = $options; + else { + $xoptions = array_merge( + $options + ,array('attributes'=>array( + 'xdefsrc'=>$parTable.'.'.$colsFK[$col]) + ) + ); + } + + + $this->addTRInput($dd,$col,$xoptions); $x6ba = trim(arr($dd['flat'][$col],'x6breakafter','')); if($x6ba=='column') { $this->inputsTable=$div->h('table'); @@ -3482,12 +3534,29 @@ } } +function addModal($modal) { + $modal->hp['x6modal'] = 'Y'; + if(!isset($GLOBALS['AG']['modals'])) { + $GLOBALS['AG']['modals'] = array(); + } + $GLOBALS['AG']['modals'][] = $modal; +} + +/* class androHTMLModal extends androHTML { function androHTMLModal($id,$title='') { # First stuff is basic stuff for any plugin $this->htype='div'; $this->addClass('x6modal'); $this->hp['id'] = $id; + + # look for a global list of modals + if(!isset($GLOBALS['AG']['modals'])) { + $GLOBALS['AG']['modals'] = array(); + } + $GLOBALS['AG']['modals'][] = $this; + return; + $this->hp['x6plugin'] = 'modal'; $this->hp['x6table'] = '*'; $this->initPlugin(); @@ -3511,9 +3580,9 @@ $x->hp['style'] = 'clear:both'; $this->inner = $this->h('div'); $this->inner->addClass('x6modalinner'); - } } +*/ /** @@ -3887,6 +3956,10 @@ #if(count($atts)>0) x6data($column_id,$atts); foreach($atts as $name=>$value) { $input->hp[$name]=$value; + if($name=='xdefsrc') { + $input->hp['xRoIns'] = 'Y'; + $input->hp['xRoUpd'] = 'Y'; + } } # KFD 10/18/08, add any classes named in options Modified: trunk/andro/lib/androX6.php =================================================================== --- trunk/andro/lib/androX6.php 2009-01-30 02:33:44 UTC (rev 1178) +++ trunk/andro/lib/androX6.php 2009-01-30 02:34:29 UTC (rev 1179) @@ -454,10 +454,18 @@ $gridHeight= gp('xGridHeight',500); $lookups = gp('xLookups','N')=='Y'; $edit = 0; - if(($tabPar != '') && ($this->dd['x6childwrites'] == 'Y')) $edit = 1; + $childedit = in_array($this->dd['x6childwrites'] + ,array('Y','grid') + ); + if(($tabPar != '') && $childedit) $edit = 1; - # Now make up the generic div and add all of the cells + # The button bar is either a 1/0 or a list of buttons. + # Make the simple setting first, then possibly override $bb = gp('xButtonBar','N')=='Y' || $edit; + if(($tabPar != '') && ($this->dd['x6childwrites'] == 'detail')) + $bb = 'new'; + + # Now grab us a grid $grid = new androHTMLGrid( $gridHeight,$table_id,$lookups,$sortable,$bb,$edit ); @@ -923,6 +931,11 @@ $tab = $tabKids->addTab($info['description']); $tab->ap['x6tablePar'] = $table_id; $tab->ap['x6table' ] = $child; + + if($info['x6childwrites']=='detail') { + $modal = new androHTMLDetail($child,true,700,$table_id); + addModal($modal); + } } # And then loop through extra tabs @@ -1087,6 +1100,12 @@ $grid->setColumnOptions($options); } + # KFD 1/29/09 tell us the x6childwrites setting + $grid->hp['x6childwrites'] = trim($this->dd['x6childwrites']); + if(trim($this->dd['x6childwrites'])=='Y') { + $grid->hp['x6childwrites'] = 'grid'; + } + # KFD 11/15/08 # Nifty trick to allow different columns when viewed as # child table. If tabPar is passed in, we will pick This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-01-30 02:33:47
|
Revision: 1178 http://andro.svn.sourceforge.net/andro/?rev=1178&view=rev Author: kendowns Date: 2009-01-30 02:33:44 +0000 (Fri, 30 Jan 2009) Log Message: ----------- Modified Paths: -------------- trunk/andro/application/andro.dd.yaml Modified: trunk/andro/application/andro.dd.yaml =================================================================== --- trunk/andro/application/andro.dd.yaml 2009-01-29 19:54:50 UTC (rev 1177) +++ trunk/andro/application/andro.dd.yaml 2009-01-30 02:33:44 UTC (rev 1178) @@ -343,13 +343,6 @@ prefix: member_ description: MD5 Password - -content variables: - columns: [ variable, description, variable_value ] - values: - - [ DEV_STATION_ANDROMEDA, Andromeda Developed Here, "N" ] - - # ======================================================================== # MODULE: Deprecated source control # ======================================================================== This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dor...@us...> - 2009-01-29 19:54:51
|
Revision: 1177 http://andro.svn.sourceforge.net/andro/?rev=1177&view=rev Author: dorgan1983 Date: 2009-01-29 19:54:50 +0000 (Thu, 29 Jan 2009) Log Message: ----------- Fix to duplicate "column version" inside of andro.dd.yaml Added Paths: ----------- dev-releases/2009.01.29/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dor...@us...> - 2009-01-29 15:35:49
|
Revision: 1176 http://andro.svn.sourceforge.net/andro/?rev=1176&view=rev Author: dorgan1983 Date: 2009-01-29 15:35:41 +0000 (Thu, 29 Jan 2009) Log Message: ----------- Removed duplicate "column version" Modified Paths: -------------- trunk/andro/application/andro.dd.yaml Modified: trunk/andro/application/andro.dd.yaml =================================================================== --- trunk/andro/application/andro.dd.yaml 2009-01-29 00:58:24 UTC (rev 1175) +++ trunk/andro/application/andro.dd.yaml 2009-01-29 15:35:41 UTC (rev 1176) @@ -366,12 +366,6 @@ uisort: 100 description: Pull Software Updates (Deprecated) - -column version: - description: Version Code - type_id: char - colprec: 10 - table appversions: description: Application Versions uisort: 200 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-01-29 00:58:28
|
Revision: 1175 http://andro.svn.sourceforge.net/andro/?rev=1175&view=rev Author: kendowns Date: 2009-01-29 00:58:24 +0000 (Thu, 29 Jan 2009) Log Message: ----------- Mostly changes to YAML processing. Added Paths: ----------- releases/2009.01.28/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-01-29 00:57:51
|
Revision: 1174 http://andro.svn.sourceforge.net/andro/?rev=1174&view=rev Author: kendowns Date: 2009-01-29 00:57:49 +0000 (Thu, 29 Jan 2009) Log Message: ----------- Mostly changes to YAML processing. Added Paths: ----------- dev-releases/2009.01.28/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-01-29 00:57:01
|
Revision: 1173 http://andro.svn.sourceforge.net/andro/?rev=1173&view=rev Author: kendowns Date: 2009-01-29 00:56:58 +0000 (Thu, 29 Jan 2009) Log Message: ----------- Many changes: 1) No longer turns lone Y and N into 1 and 0, so we don't need quotes 2) Keeps track of errors in $this->errors 3) No longer "dies" if it finds a tab. Records the error and skips the line 4) Puts line numbers into the array it hands back 5) Reports error if an entity is duplicated 6) Reports error if indentation is an odd number of spaces Modified Paths: -------------- trunk/andro/lib/spyc.php Modified: trunk/andro/lib/spyc.php =================================================================== --- trunk/andro/lib/spyc.php 2009-01-29 00:54:23 UTC (rev 1172) +++ trunk/andro/lib/spyc.php 2009-01-29 00:56:58 UTC (rev 1173) @@ -63,6 +63,13 @@ * @package Spyc */ class Spyc { + # KFD 1/28/09, store a list of errors that the + # calling program can examine + /** + * @access public + * @var bool + */ + var $errors = array(); /** * Load YAML into a PHP array statically @@ -143,13 +150,13 @@ $this->_nodeId = 2; foreach ($yaml as $linenum => $line) { + $ln = $linenum + 1; $ifchk = trim($line); // If the line starts with a tab (instead of a space), throw a fit. if (preg_match('/^(\t)+(\w+)/', $line)) { - $err = 'ERROR: Line '. ($linenum + 1) .' in your input YAML begins'. - ' with a tab. YAML only recognizes spaces. Please reformat.'; - die($err); + $this->errors[]="Line $ln TAB detected, only spaces are supported."; + continue; } if ($this->_inBlock === false && empty($ifchk)) { @@ -161,8 +168,19 @@ // Create a new node and get its indent $node = new YAMLNode ($this->_nodeId); $this->_nodeId++; + + ## KFD 1/28/09, Modified + $node->lineNumber = $ln; $node->indent = $this->_getIndent($line); + + ## KFD 1/28/09, disallow odd-numbered indentations + if($node->indent > 0 && ($node->indent % 2!=0)) { + $this->errors[]="Line $ln indented by odd number of spaces: " + .$node->indent; + continue; + } + // Check where the node lies in the hierarchy if ($this->_lastIndent == $node->indent) { @@ -589,11 +607,13 @@ } elseif (preg_match ('/^[0-9]+$/', $value)) { // Cheeky change for compartibility with PHP < 4.2.0 $value = (int)$value; + # KFD 1/28/09, remove 'y' from the list of array values } elseif (in_array(strtolower($value), - array('true', 'on', '+', 'yes', 'y'))) { + array('true', 'on', '+', 'yes' /*, 'y'*/))) { $value = true; + # KFD 1/28/09, remove 'n' from the list of array values } elseif (in_array(strtolower($value), - array('false', 'off', '-', 'no', 'n'))) { + array('false', 'off', '-', 'no' /*, 'n'*/))) { $value = false; } elseif (is_numeric($value)) { $value = (float)$value; @@ -791,6 +811,8 @@ if (is_array($node->data) && $node->children == true) { // This node has children, so we need to find them $childs = $this->_gatherChildren($node->id); + # KFD Line number in final output + $childs['__yaml_line'] = $node->lineNumber; // We've gathered all our children's data and are ready to use it $key = key($node->data); $key = empty($key) ? 0 : $key; @@ -855,13 +877,39 @@ function _array_kmerge($arr1,$arr2) { if(!is_array($arr1)) $arr1 = array(); if(!is_array($arr2)) $arr2 = array(); + $keys = array_merge(array_keys($arr1),array_keys($arr2)); $vals = array_merge(array_values($arr1),array_values($arr2)); $ret = array(); + /* + * KFD: This code shows how the 2nd overwrites the first + if(isset($arr2['column geomatrixcd'])) { + if(!isset($GLOBALS['geo'])) $GLOBALS['geo'] = 0; + $GLOBALS['geo']++; + if($GLOBALS['geo']==2) { + hprint_r($keys); + hprint_r($vals); + exit; + } + } + */ foreach($keys as $key) { list($unused,$val) = each($vals); - if (isset($ret[$key]) and is_int($key)) $ret[] = $val; else $ret[$key] = $val; + if (isset($ret[$key]) and is_int($key)) { + $ret[] = $val; + } + else { + # KFD 1/28/09, Trap for duplicate keys here and record + # the error. + if(isset($ret[$key])) { + $l1 = $arr1[$key]['__yaml_line']; + $l2 = $arr2[$key]['__yaml_line']; + $this->errors[] + = "Entry '$key' duplicated on lines $l1 and $l2 "; + } + $ret[$key] = $val; + } } return $ret; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-01-29 00:54:32
|
Revision: 1172 http://andro.svn.sourceforge.net/andro/?rev=1172&view=rev Author: kendowns Date: 2009-01-29 00:54:23 +0000 (Thu, 29 Jan 2009) Log Message: ----------- Now expects the YAML to come back with __yaml_line added as a property to all objects, and reports any errors it find in $spyc->errors(). no longer calls the yaml pre-scanner, not necessary any more. Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2009-01-29 00:34:39 UTC (rev 1171) +++ trunk/andro/application/androBuild.php 2009-01-29 00:54:23 UTC (rev 1172) @@ -1001,14 +1001,14 @@ global $parm; $retval = true; - foreach ($arr as $keyword=>$object) { + foreach ($arr as $keyword=>$object) { # KFD 1/27/09, put all keywords into lowercase $keyword = strtolower($keyword); - // Ignore prop/value pairs at even-numbered rows - if (! is_array($object)) { continue; } - - // Now use $keyword to get table name we will insert into + // Ignore prop/value pairs at even-numbered rows + if (! is_array($object)) { continue; } + + // Now use $keyword to get table name we will insert into //$this->LogEntry("$parent_prefix - $keyword"); if(!isset($this->ddarr["meta"]["keyword"][$parent_prefix.$keyword]["table"])) { echo ">> ERROR <br/>"; @@ -1019,102 +1019,108 @@ return false; } $table= $this->ddarr["meta"]["keyword"][$parent_prefix.$keyword]["table"]; - $pkcolname = $this->ddarr["meta"]["keyword"][$parent_prefix.$keyword]["keycol"]; - $keystub = $this->zzArray($this->ddarr["meta"]["keyword"][$parent_prefix.$keyword],"keystub"); - //echo "TABLE is $table, pk and keystub are $pkcolname and $keystub <br>"; - - $dd = &$this->ddarr["data"]["table"][$table]; - if ($table=="") { - $this->LogEntry("ERROR: Could not find table to match keyword ".$parent_prefix.$keyword); - $retval = false; - continue; - } - - foreach ($object as $pkvalue=>$properties) { - $row=array(); - // Use $keyword to get name of one of the columns at least - if (!is_numeric($pkvalue)) { - $row[ $pkcolname ] = $pkvalue; - } - - // Whatever is not a child object is a property/value pair - foreach ($properties as $colname=>$colvalue) { + $pkcolname = $this->ddarr["meta"]["keyword"][$parent_prefix.$keyword]["keycol"]; + $keystub = $this->zzArray($this->ddarr["meta"]["keyword"][$parent_prefix.$keyword],"keystub"); + //echo "TABLE is $table, pk and keystub are $pkcolname and $keystub <br>"; + + $dd = &$this->ddarr["data"]["table"][$table]; + if ($table=="") { + $this->LogEntry("ERROR: Could not find table to match keyword ".$parent_prefix.$keyword); + $retval = false; + continue; + } + + foreach ($object as $pkvalue=>$properties) { + $row=array(); + // Use $keyword to get name of one of the columns at least + if (!is_numeric($pkvalue)) { + $row[ $pkcolname ] = $pkvalue; + } + + // Whatever is not a child object is a property/value pair + foreach ($properties as $colname=>$colvalue) { # KFD 1/27/09, case insensitivity $colname = strtolower($colname); - if (! is_array($colvalue)) { - $row[$colname] = $colvalue; - if ($keystub <> "" && $colname == "__keystub") { - $row[$keystub] = $colvalue; - } - } - } - - // Add/override any col/values from parent object if nested - foreach ($parent_row as $colname=>$colvalue) { - $row[$colname] = $colvalue; - } + if (! is_array($colvalue)) { + $row[$colname] = $colvalue; + if ($keystub <> "" && $colname == "__keystub") { + $row[$keystub] = $colvalue; + } + } + } + + // Add/override any col/values from parent object if nested + foreach ($parent_row as $colname=>$colvalue) { + $row[$colname] = $colvalue; + } - // HARDCODED BREAK POINT. Anything we want to do - // to deal with the spec has to be done here - // - if ($table=="tabchaintests" || $table=="colchaintests") { + // HARDCODED BREAK POINT. Anything we want to do + // to deal with the spec has to be done here + // + if ($table=="tabchaintests" || $table=="colchaintests") { // For chain tests, parse out the expressions - $pfx = substr($table,0,3); - $this->SpecLoad_ArrayToTables_HC_cargs($row,"compare","compoper",$cLoadSuffix,$pfx); - $this->SpecLoad_ArrayToTables_HC_cargs($row,"return" ,"funcoper",$cLoadSuffix,$pfx); - } - if ($keyword=='child_table') { - // Flip two columns to make this property of child table instead - $x = $row['table_id']; - $row['table_id'] = $row['table_id_par']; - $row['table_id_par'] = $x; - } - - // Add the primary key columns for this object into the "parent_row" - // array, then recurse child objects. - $pr = $parent_row; - foreach ($row as $colname=>$colvalue) { - if (isset($this->ddflat[$table][$colname])) { - if ($this->zzArray($this->ddflat[$table][$colname],"primary_key")=="Y") { - $pr[$colname] = $colvalue; - } - } - } - $retval = $retval && - $this->SpecLoad_ArrayToTables($properties,$cLoadSuffix,$pr,$parent_prefix.$keyword."_"); - - - // MORE HARDCODE STUFF. These are any hardcoded things that - // must occur immediately before writing to file, but should - // not propagate through to child tables because the action - // would be repeated in the child table. - // - if (isset($row['group_id'])) { - if($row['group_id']<>$parm['APP']) { - $row['group_id']=$parm['APP'].'_'.$row['group_id']; + $pfx = substr($table,0,3); + $this->SpecLoad_ArrayToTables_HC_cargs($row,"compare","compoper",$cLoadSuffix,$pfx); + $this->SpecLoad_ArrayToTables_HC_cargs($row,"return" ,"funcoper",$cLoadSuffix,$pfx); } - } - // KFD 5/22/08, support the "auto" keyword for shorter automations - if(isset($row['auto'])) { - $auto = explode(',',$row['auto']); - $row['automation_id'] = strtoupper($auto[0]); - if(isset($auto[1])) { - $row['auto_formula'] = $auto[1]; - } - } - // KFD 4/9/08, support for lowercase automations by uppercasing - // them on the way in - if(isset($row['automation_id'])) { + if ($keyword=='child_table') { + // Flip two columns to make this property of child table instead + $x = $row['table_id']; + $row['table_id'] = $row['table_id_par']; + $row['table_id_par'] = $x; + } + + // Add the primary key columns for this object into the "parent_row" + // array, then recurse child objects. + $pr = $parent_row; + foreach ($row as $colname=>$colvalue) { + if (isset($this->ddflat[$table][$colname])) { + if ($this->zzArray($this->ddflat[$table][$colname],"primary_key")=="Y") { + $pr[$colname] = $colvalue; + } + } + } + $retval = $retval && + $this->SpecLoad_ArrayToTables($properties,$cLoadSuffix,$pr,$parent_prefix.$keyword."_"); + + + // MORE HARDCODE STUFF. These are any hardcoded things that + // must occur immediately before writing to file, but should + // not propagate through to child tables because the action + // would be repeated in the child table. + // + if (isset($row['group_id'])) { + if($row['group_id']<>$parm['APP']) { + $row['group_id']=$parm['APP'].'_'.$row['group_id']; + } + } + // KFD 5/22/08, support the "auto" keyword for shorter automations + if(isset($row['auto'])) { + $auto = explode(',',$row['auto']); + $row['automation_id'] = strtoupper($auto[0]); + if(isset($auto[1])) { + $row['auto_formula'] = $auto[1]; + } + } + // KFD 4/9/08, support for lowercase automations by uppercasing + // them on the way in + if(isset($row['automation_id'])) { $row['automation_id'] = strtoupper($row['automation_id']); - } + } - // Finally, execute it - $row['srcfile']=$srcfile; - $return = $this->DBB_Insert("zdd.",$table,$cLoadSuffix,$row); - $retval = $retval && $return; - } - } - return $retval; + // Finally, execute it + $row['srcfile']=$srcfile; + $return = $this->DBB_Insert("zdd.",$table,$cLoadSuffix,$row); + if($return == '') { + x_echoFlush( + " Parent object defined at line ".$properties['__yaml_line'] + ); + hprint_r($properties); + } + $retval = $retval && $return; + } + } + return $retval; } function SpecLoad_ArrayToTables_HC_cargs(&$row,$element,$rowcol,$cLoadSuffix,$pfx) { @@ -8170,7 +8176,20 @@ // Now convert to YAML and dump include_once("spyc.php"); - $temparray=Spyc::YAMLLoad($filename); + $parser = new Spyc; + $temparray = $parser->load($filename); + #$temparray=Spyc::YAMLLoad($filename); + if(count($parser->errors)>0) { + x_echoFlush(" >>> "); + x_echoFlush(" >>> Parse errors in the YAML File"); + x_echoFlush(" >>> "); + foreach($parser->errors as $idx=>$err) { + $idx = str_pad($idx+1,4,' ',STR_PAD_LEFT); + x_EchoFlush("$idx) $err"); + } + return false; + } + $this->YAMLError=false; $this->YAMLPrevious=array("no entries yet, look at top of file"); @@ -8183,6 +8202,9 @@ // Scan for indentation errors function DBB_LoadYAMLFile_Prescan($filename) { + # KFD 1/28/09, moved this stuff into the spyc.php file, + # do not need this routine anymore. + return true; $this->LogEntry("Scanning file for correct formatting"); // Load file, get rid of carriage returns, explode into lines @@ -8280,8 +8302,17 @@ $values = array(); foreach($item as $key=>$stuff) { - foreach($stuff as $array) { - $values[]=array_merge(array('__type'=>$key),$array); + # KFD 1/28/09. After we put line numbers + # into things, we get non-array + # entries. Just skip 'em + if(is_array($stuff)) { + foreach($stuff as $idx=>$array) { + if(is_array($array)) { + $values[]=array_merge( + array('__type'=>$key),$array + ); + } + } } } @@ -8707,11 +8738,12 @@ foreach($colvals as $name=>$value) { if(!isset($this->utabs[$table]['flat'][$name])) { # Don't stop on our hardcoded meta values - if($name=='__keystub') continue; // generated - if($name=='uicolseq') continue; // generated - if($name=='srcfile') continue; // generated - if($name=='auto') continue; // shortcut, gets parsed - if($name=='columns') continue; // for content + if($name=='__yaml_line') continue; // generated + if($name=='__keystub') continue; // generated + if($name=='uicolseq') continue; // generated + if($name=='srcfile') continue; // generated + if($name=='auto') continue; // shortcut, gets parsed + if($name=='columns') continue; // for content if($name=='x6xrefdesc') continue; if($name=='suffix' && $table=='perm_cols') continue; if($name=='prefix' && $table=='perm_cols') continue; @@ -8723,11 +8755,9 @@ if($table=='tabchains') continue; // derived tables - x_EchoFlush(""); - x_EchoFlush(" >>> ERROR: BAD PROPERTY NAME"); - x_EchoFlush(" >>> Cannot set '$name' on '$table' to value '$value'"); - x_EchoFlush(""); - hprint_r($colvals); + x_EchoFlush( + ">>> ERROR: No Property Named '$name' (value '$value')" + ); $insert_error = true; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dor...@us...> - 2009-01-29 00:34:51
|
Revision: 1171 http://andro.svn.sourceforge.net/andro/?rev=1171&view=rev Author: dorgan1983 Date: 2009-01-29 00:34:39 +0000 (Thu, 29 Jan 2009) Log Message: ----------- This fixes the "Cannot set 'x6xrefdesc' on 'tabfky' to value 'Y'" error...Ken you should just check this and make sure i put it in the right place. But the build now works Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2009-01-28 19:42:53 UTC (rev 1170) +++ trunk/andro/application/androBuild.php 2009-01-29 00:34:39 UTC (rev 1171) @@ -8712,6 +8712,7 @@ if($name=='srcfile') continue; // generated if($name=='auto') continue; // shortcut, gets parsed if($name=='columns') continue; // for content + if($name=='x6xrefdesc') continue; if($name=='suffix' && $table=='perm_cols') continue; if($name=='prefix' && $table=='perm_cols') continue; if($table=='colchainargs') continue; // derived tables This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-01-28 19:42:56
|
Revision: 1170 http://andro.svn.sourceforge.net/andro/?rev=1170&view=rev Author: kendowns Date: 2009-01-28 19:42:53 +0000 (Wed, 28 Jan 2009) Log Message: ----------- Added some styles for an 'old-fashioned' HTML TABLE, for when you do not want to use a grid. Modified Paths: -------------- trunk/andro/templates/x6/skins/x6skin.Default.Gray.1024.css trunk/andro/templates/x6/skins/x6skin.Default.Gray.1280.css trunk/andro/templates/x6/skins/x6skin.Default.Gray.1400.css trunk/andro/templates/x6/skins/x6skin.Default.Gray.1440.css trunk/andro/templates/x6/skins/x6skin.Default.Gray.1650.css trunk/andro/templates/x6/skins/x6skin.Default.Gray.800.css trunk/andro/templates/x6/skinsources/x6skin.Default.yaml trunk/andro/templates/x6/skinsphp/x6skin.Default.Gray.1024.ser.txt trunk/andro/templates/x6/skinsphp/x6skin.Default.Gray.1280.ser.txt trunk/andro/templates/x6/skinsphp/x6skin.Default.Gray.1400.ser.txt trunk/andro/templates/x6/skinsphp/x6skin.Default.Gray.1440.ser.txt trunk/andro/templates/x6/skinsphp/x6skin.Default.Gray.1650.ser.txt trunk/andro/templates/x6/skinsphp/x6skin.Default.Gray.800.ser.txt Modified: trunk/andro/templates/x6/skins/x6skin.Default.Gray.1024.css =================================================================== --- trunk/andro/templates/x6/skins/x6skin.Default.Gray.1024.css 2009-01-28 19:42:00 UTC (rev 1169) +++ trunk/andro/templates/x6/skins/x6skin.Default.Gray.1024.css 2009-01-28 19:42:53 UTC (rev 1170) @@ -1,6 +1,6 @@ /* ==================================================== *\ * Andromeda Generated CSS file - * Generated: Mon, 26 Jan 2009 15:09:36 -0500 + * Generated: Wed, 28 Jan 2009 13:46:54 -0500 * Skin, color, size: Default, Gray, 1024 \* ==================================================== */ @@ -29,6 +29,18 @@ display: block; } +.flavor1 { + background-color: #A0A0FF; +} + +.flavor2 { + background-color: #FFA0A0; +} + +.flavor3 { + background-color: #FF00FF; +} + body { background-color: #d0d0d0; color: #000000; @@ -584,3 +596,19 @@ background-color: #f0f0f0; } +table.x6standard { + max-height: 605px; + border-top: 1px solid #909090; + border-bottom: 1px solid #909090; + border-left: 1px solid #909090; + border-right: 1px solid #909090; +} + +table.x6standard thead tr th { + background-color: #d0d0d0; +} + +table.x6standard tbody tr td { + vertical-align: top; +} + Modified: trunk/andro/templates/x6/skins/x6skin.Default.Gray.1280.css =================================================================== --- trunk/andro/templates/x6/skins/x6skin.Default.Gray.1280.css 2009-01-28 19:42:00 UTC (rev 1169) +++ trunk/andro/templates/x6/skins/x6skin.Default.Gray.1280.css 2009-01-28 19:42:53 UTC (rev 1170) @@ -1,6 +1,6 @@ /* ==================================================== *\ * Andromeda Generated CSS file - * Generated: Mon, 26 Jan 2009 15:09:36 -0500 + * Generated: Wed, 28 Jan 2009 13:46:54 -0500 * Skin, color, size: Default, Gray, 1280 \* ==================================================== */ @@ -29,6 +29,18 @@ display: block; } +.flavor1 { + background-color: #A0A0FF; +} + +.flavor2 { + background-color: #FFA0A0; +} + +.flavor3 { + background-color: #FF00FF; +} + body { background-color: #d0d0d0; color: #000000; @@ -584,3 +596,19 @@ background-color: #f0f0f0; } +table.x6standard { + max-height: 806px; + border-top: 1px solid #909090; + border-bottom: 1px solid #909090; + border-left: 1px solid #909090; + border-right: 1px solid #909090; +} + +table.x6standard thead tr th { + background-color: #d0d0d0; +} + +table.x6standard tbody tr td { + vertical-align: top; +} + Modified: trunk/andro/templates/x6/skins/x6skin.Default.Gray.1400.css =================================================================== --- trunk/andro/templates/x6/skins/x6skin.Default.Gray.1400.css 2009-01-28 19:42:00 UTC (rev 1169) +++ trunk/andro/templates/x6/skins/x6skin.Default.Gray.1400.css 2009-01-28 19:42:53 UTC (rev 1170) @@ -1,6 +1,6 @@ /* ==================================================== *\ * Andromeda Generated CSS file - * Generated: Mon, 26 Jan 2009 15:09:36 -0500 + * Generated: Wed, 28 Jan 2009 13:46:54 -0500 * Skin, color, size: Default, Gray, 1400 \* ==================================================== */ @@ -29,6 +29,18 @@ display: block; } +.flavor1 { + background-color: #A0A0FF; +} + +.flavor2 { + background-color: #FFA0A0; +} + +.flavor3 { + background-color: #FF00FF; +} + body { background-color: #d0d0d0; color: #000000; @@ -584,3 +596,19 @@ background-color: #f0f0f0; } +table.x6standard { + max-height: 827px; + border-top: 1px solid #909090; + border-bottom: 1px solid #909090; + border-left: 1px solid #909090; + border-right: 1px solid #909090; +} + +table.x6standard thead tr th { + background-color: #d0d0d0; +} + +table.x6standard tbody tr td { + vertical-align: top; +} + Modified: trunk/andro/templates/x6/skins/x6skin.Default.Gray.1440.css =================================================================== --- trunk/andro/templates/x6/skins/x6skin.Default.Gray.1440.css 2009-01-28 19:42:00 UTC (rev 1169) +++ trunk/andro/templates/x6/skins/x6skin.Default.Gray.1440.css 2009-01-28 19:42:53 UTC (rev 1170) @@ -1,6 +1,6 @@ /* ==================================================== *\ * Andromeda Generated CSS file - * Generated: Mon, 26 Jan 2009 15:09:36 -0500 + * Generated: Wed, 28 Jan 2009 13:46:54 -0500 * Skin, color, size: Default, Gray, 1440 \* ==================================================== */ @@ -29,6 +29,18 @@ display: block; } +.flavor1 { + background-color: #A0A0FF; +} + +.flavor2 { + background-color: #FFA0A0; +} + +.flavor3 { + background-color: #FF00FF; +} + body { background-color: #d0d0d0; color: #000000; @@ -584,3 +596,19 @@ background-color: #f0f0f0; } +table.x6standard { + max-height: 708px; + border-top: 1px solid #909090; + border-bottom: 1px solid #909090; + border-left: 1px solid #909090; + border-right: 1px solid #909090; +} + +table.x6standard thead tr th { + background-color: #d0d0d0; +} + +table.x6standard tbody tr td { + vertical-align: top; +} + Modified: trunk/andro/templates/x6/skins/x6skin.Default.Gray.1650.css =================================================================== --- trunk/andro/templates/x6/skins/x6skin.Default.Gray.1650.css 2009-01-28 19:42:00 UTC (rev 1169) +++ trunk/andro/templates/x6/skins/x6skin.Default.Gray.1650.css 2009-01-28 19:42:53 UTC (rev 1170) @@ -1,6 +1,6 @@ /* ==================================================== *\ * Andromeda Generated CSS file - * Generated: Mon, 26 Jan 2009 15:09:36 -0500 + * Generated: Wed, 28 Jan 2009 13:46:54 -0500 * Skin, color, size: Default, Gray, 1650 \* ==================================================== */ @@ -29,6 +29,18 @@ display: block; } +.flavor1 { + background-color: #A0A0FF; +} + +.flavor2 { + background-color: #FFA0A0; +} + +.flavor3 { + background-color: #FF00FF; +} + body { background-color: #d0d0d0; color: #000000; @@ -584,3 +596,19 @@ background-color: #f0f0f0; } +table.x6standard { + max-height: 827px; + border-top: 1px solid #909090; + border-bottom: 1px solid #909090; + border-left: 1px solid #909090; + border-right: 1px solid #909090; +} + +table.x6standard thead tr th { + background-color: #d0d0d0; +} + +table.x6standard tbody tr td { + vertical-align: top; +} + Modified: trunk/andro/templates/x6/skins/x6skin.Default.Gray.800.css =================================================================== --- trunk/andro/templates/x6/skins/x6skin.Default.Gray.800.css 2009-01-28 19:42:00 UTC (rev 1169) +++ trunk/andro/templates/x6/skins/x6skin.Default.Gray.800.css 2009-01-28 19:42:53 UTC (rev 1170) @@ -1,6 +1,6 @@ /* ==================================================== *\ * Andromeda Generated CSS file - * Generated: Mon, 26 Jan 2009 15:09:36 -0500 + * Generated: Wed, 28 Jan 2009 13:46:54 -0500 * Skin, color, size: Default, Gray, 800 \* ==================================================== */ @@ -29,6 +29,18 @@ display: block; } +.flavor1 { + background-color: #A0A0FF; +} + +.flavor2 { + background-color: #FFA0A0; +} + +.flavor3 { + background-color: #FF00FF; +} + body { background-color: #d0d0d0; color: #000000; @@ -584,3 +596,19 @@ background-color: #f0f0f0; } +table.x6standard { + max-height: 472px; + border-top: 1px solid #909090; + border-bottom: 1px solid #909090; + border-left: 1px solid #909090; + border-right: 1px solid #909090; +} + +table.x6standard thead tr th { + background-color: #d0d0d0; +} + +table.x6standard tbody tr td { + vertical-align: top; +} + Modified: trunk/andro/templates/x6/skinsources/x6skin.Default.yaml =================================================================== --- trunk/andro/templates/x6/skinsources/x6skin.Default.yaml 2009-01-28 19:42:00 UTC (rev 1169) +++ trunk/andro/templates/x6/skinsources/x6skin.Default.yaml 2009-01-28 19:42:53 UTC (rev 1170) @@ -234,6 +234,13 @@ a.button_disabled,a.button,div.thead div a: text-decoration: none display: block + + .flavor1: + background-color: *flavor1 + .flavor2: + background-color: *flavor2 + .flavor3: + background-color: *flavor3 # =================================================================== # @@ -859,3 +866,21 @@ background-color: *bgclight + # =================================================================== + # + # A set of styles for an old-fashioned HTMLT TABLE + # + # =================================================================== + tables: + table.x6standard: + max-height: *insideheight + border-top: *bor3t + border-bottom: *bor3b + border-left: *bor3l + border-right: *bor3r + table.x6standard thead tr th: + background-color: *bgcdark + table.x6standard tbody tr td: + vertical-align: top + + Modified: trunk/andro/templates/x6/skinsphp/x6skin.Default.Gray.1024.ser.txt =================================================================== --- trunk/andro/templates/x6/skinsphp/x6skin.Default.Gray.1024.ser.txt 2009-01-28 19:42:00 UTC (rev 1169) +++ trunk/andro/templates/x6/skinsphp/x6skin.Default.Gray.1024.ser.txt 2009-01-28 19:42:53 UTC (rev 1170) @@ -1 +1 @@ -a:2:{s:7:"defines";a:68:{s:4:"link";s:4:"blue";s:7:"bgcdark";s:7:"#d0d0d0";s:8:"bgclight";s:7:"#f0f0f0";s:11:"shadowlight";s:7:"#ffFFff";s:10:"shadowdark";s:7:"#909090";s:5:"black";s:7:"#000000";s:5:"white";s:7:"#ffffff";s:7:"bgcmenu";s:7:"#4A79B5";s:4:"dark";s:7:"#5E71A2";s:8:"selected";s:7:"#30FF30";s:7:"flavor0";s:7:"#A0FFA0";s:7:"flavor1";s:7:"#A0A0FF";s:7:"flavor2";s:7:"#FFA0A0";s:7:"flavor3";s:7:"#FF00FF";s:10:"clrChanged";s:6:"yellow";s:8:"clrError";s:7:"#ff4500";s:5:"clrOk";s:7:"#7fff00";s:11:"clrRequired";s:7:"#abcdef";s:3:"bw0";s:3:"1px";s:4:"zero";s:1:"0";s:3:"ff0";s:7:"verdana";s:3:"bs0";s:5:"solid";s:5:"bor1t";s:17:"1px solid #909090";s:5:"bor1b";s:17:"1px solid #ffFFff";s:5:"bor1l";s:17:"1px solid #909090";s:5:"bor1r";s:17:"1px solid #ffFFff";s:5:"bor2t";s:17:"1px solid #ffFFff";s:5:"bor2b";s:17:"1px solid #909090";s:5:"bor2l";s:17:"1px solid #ffFFff";s:5:"bor2r";s:17:"1px solid #909090";s:5:"bor3t";s:17:"1px solid #909090";s:5:"bor3b";s:17:"1px solid #909090";s:5:"bor3l";s:17:"1px solid #909090";s:5:"bor3r";s:17:"1px solid #909090";s:5:"bordr";s:17:"1px solid #f0f0f0";s:6:"bordr2";s:17:"1px solid #d0d0d0";s:12:"insideheight";s:5:"605px";s:10:"tinpheight";s:4:"18px";s:9:"barheight";s:4:"24px";s:5:"barlh";s:4:"25px";s:3:"fs0";s:4:"12px";s:3:"lh0";s:4:"18px";s:3:"lh1";s:4:"16px";s:5:"lhtab";s:4:"16px";s:6:"fsfoot";s:4:"10px";s:6:"lhfoot";s:4:"16px";s:8:"lhstatus";s:4:"20px";s:8:"lhbutton";s:4:"12px";s:6:"lhmbar";s:4:"21px";s:4:"fsh1";s:4:"18px";s:4:"lhh1";s:4:"28px";s:4:"fsh2";s:4:"16px";s:4:"lhh2";s:4:"24px";s:10:"menumartop";s:3:"2px";s:8:"menupadb";s:3:"2px";s:8:"menupost";s:4:"23px";s:12:"outsidewidth";s:5:"991px";s:11:"insidewidth";s:5:"990px";s:7:"menupad";s:3:"6px";s:6:"tabpad";s:4:"12px";s:4:"pad0";s:3:"3px";s:8:"pad0more";s:3:"4px";s:8:"pad0less";s:3:"2px";s:4:"pad1";s:3:"6px";s:8:"tinppadt";s:3:"3px";s:13:"dropdownwidth";s:5:"200px";s:13:"dropdownshift";s:4:"-7px";s:18:"dropdowninnerwidth";s:5:"188px";}s:3:"css";a:79:{s:7:".fadein";a:1:{s:7:"display";s:4:"none";}s:7:".x6main";a:4:{s:8:"position";s:8:"relative";s:16:"background-color";s:7:"#f0f0f0";s:12:"padding-left";s:3:"3px";s:13:"padding-right";s:3:"3px";}s:17:"a.button_disabled";a:2:{s:6:"cursor";s:7:"default";s:7:"outline";s:1:"0";}s:1:"a";a:1:{s:7:"outline";s:1:"0";}s:42:"a.button_disabled,a.button,div.thead div a";a:2:{s:15:"text-decoration";s:4:"none";s:7:"display";s:5:"block";}s:4:"body";a:9:{s:16:"background-color";s:7:"#d0d0d0";s:5:"color";s:7:"#000000";s:11:"font-family";s:7:"verdana";s:9:"font-size";s:4:"12px";s:11:"line-height";s:4:"16px";s:10:"margin-top";s:1:"0";s:13:"margin-bottom";s:1:"0";s:11:"margin-left";s:3:"3px";s:12:"margin-right";s:3:"3px";}s:6:"body a";a:1:{s:5:"color";s:4:"blue";}s:2:"h1";a:7:{s:9:"font-size";s:4:"18px";s:11:"line-height";s:4:"28px";s:11:"font-weight";s:6:"bolder";s:10:"margin-top";s:1:"0";s:13:"margin-bottom";s:1:"0";s:11:"padding-top";s:3:"3px";s:14:"padding-bottom";s:3:"6px";}s:2:"h2";a:2:{s:6:"height";s:4:"16px";s:11:"font-weight";s:6:"bolder";}s:5:".box1";a:5:{s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #ffFFff";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #ffFFff";s:16:"background-color";s:7:"#f0f0f0";}s:5:".box2";a:5:{s:10:"border-top";s:17:"1px solid #ffFFff";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #ffFFff";s:12:"border-right";s:17:"1px solid #909090";s:16:"background-color";s:7:"#d0d0d0";}s:5:".box3";a:4:{s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #909090";}s:7:".x6body";a:7:{s:16:"background-color";s:7:"#f0f0f0";s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #ffFFff";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #ffFFff";s:6:"height";s:5:"605px";s:5:"width";s:5:"990px";}s:13:".x6commandBar";a:6:{s:16:"background-color";s:7:"#d0d0d0";s:10:"border-top";s:17:"1px solid #ffFFff";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #ffFFff";s:12:"border-right";s:17:"1px solid #909090";s:12:"padding-left";s:3:"3px";}s:10:".statusBar";a:2:{s:11:"line-height";s:4:"20px";s:9:"font-size";s:3:"80%";}s:19:".statusBar .sbright";a:1:{s:5:"float";s:5:"right";}s:18:".statusBar .sbleft";a:1:{s:5:"float";s:4:"left";}s:9:".x6footer";a:5:{s:11:"padding-top";s:3:"3px";s:9:"font-size";s:4:"10px";s:11:"line-height";s:4:"16px";s:16:"background-color";s:7:"#d0d0d0";s:5:"width";s:5:"991px";}s:21:"select,input,textarea";a:6:{s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #ffFFff";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #ffFFff";s:11:"font-family";s:7:"verdana";s:9:"font-size";s:4:"12px";}s:11:"tr.selected";a:2:{s:16:"background-color";s:7:"#5E71A2";s:5:"color";s:7:"#ffffff";}s:35:"input.changed,input.changedSelected";a:1:{s:16:"background-color";s:6:"yellow";}s:37:"select.changed,select.changedSelected";a:1:{s:16:"background-color";s:6:"yellow";}s:41:"textarea.changed,textarea.changedSelected";a:1:{s:16:"background-color";s:6:"yellow";}s:11:"input.error";a:1:{s:16:"background-color";s:7:"#ff4500";}s:14:"input.required";a:1:{s:16:"background-color";s:7:"#abcdef";}s:51:"input[disabled],select[disabled],textarea[disabled]";a:6:{s:16:"background-color";s:7:"#f0f0f0";s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #ffFFff";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #ffFFff";s:5:"color";s:7:"#000000";}s:12:"td.x6Input a";a:1:{s:12:"padding-left";s:3:"3px";}s:10:"div.x6menu";a:4:{s:16:"background-color";s:7:"#d0d0d0";s:11:"line-height";s:4:"21px";s:6:"height";s:4:"23px";s:5:"width";s:5:"991px";}s:13:"div.x6menu ul";a:3:{s:6:"margin";s:1:"0";s:7:"padding";s:1:"0";s:7:"z-index";s:4:"1000";}s:15:"div.x6menu ul a";a:4:{s:15:"text-decoration";s:4:"none";s:5:"color";s:7:"#000000";s:7:"display";s:5:"block";s:7:"z-index";s:4:"1000";}s:16:"div.x6menu ul li";a:12:{s:7:"display";s:6:"inline";s:5:"float";s:4:"left";s:6:"height";s:4:"auto";s:7:"z-index";s:4:"1000";s:6:"cursor";s:7:"pointer";s:10:"border-top";s:17:"1px solid #d0d0d0";s:13:"border-bottom";s:17:"1px solid #d0d0d0";s:11:"border-left";s:17:"1px solid #d0d0d0";s:12:"border-right";s:17:"1px solid #d0d0d0";s:12:"padding-left";s:3:"6px";s:13:"padding-right";s:3:"6px";s:14:"padding-bottom";s:3:"2px";}s:25:"div.x6menu ul li.selected";a:6:{s:16:"background-color";s:7:"#4A79B5";s:5:"color";s:7:"#ffffff";s:10:"border-top";s:17:"1px solid #000000";s:13:"border-bottom";s:1:"0";s:11:"border-left";s:17:"1px solid #000000";s:12:"border-right";s:17:"1px solid #000000";}s:27:"div.x6menu ul li.selected a";a:1:{s:5:"color";s:7:"#ffffff";}s:16:"div.x6menu ul ul";a:2:{s:7:"display";s:5:"block";s:8:"position";s:8:"absolute";}s:25:"div.x6menu ul ul.dropdown";a:9:{s:7:"z-index";s:4:"1000";s:10:"border-top";s:17:"1px solid #000000";s:13:"border-bottom";s:17:"1px solid #000000";s:11:"border-left";s:17:"1px solid #000000";s:12:"border-right";s:17:"1px solid #000000";s:16:"background-color";s:7:"#ffffff";s:5:"width";s:5:"200px";s:11:"margin-left";s:4:"-7px";s:10:"margin-top";s:3:"2px";}s:19:"div.x6menu ul li li";a:3:{s:7:"display";s:5:"block";s:5:"float";s:4:"none";s:7:"z-index";s:4:"1000";}s:22:"div.x6menu ul li ul li";a:4:{s:11:"text-indent";s:1:"0";s:6:"margin";s:1:"0";s:7:"padding";s:1:"0";s:6:"border";s:1:"0";}s:24:"div.x6menu ul li ul li a";a:4:{s:11:"padding-top";s:3:"3px";s:14:"padding-bottom";s:3:"3px";s:12:"padding-left";s:3:"6px";s:13:"padding-right";s:1:"0";}s:33:"div.x6menu ul li.selected ul li a";a:1:{s:5:"color";s:7:"#000000";}s:30:"div.x6menu ul li ul li a;hover";a:2:{s:16:"background-color";s:7:"#4A79B5";s:5:"color";s:7:"#ffffff";}s:16:"@x6menu_left div";a:3:{s:11:"font-weight";s:6:"bolder";s:9:"font-size";s:4:"125%";s:6:"cursor";s:7:"pointer";}s:24:"@x6menu_left div.hilight";a:2:{s:16:"background-color";s:7:"#4A79B5";s:5:"color";s:5:"white";}s:21:"@x6menu_right div div";a:6:{s:11:"font-weight";s:6:"bolder";s:9:"font-size";s:4:"105%";s:6:"cursor";s:7:"pointer";s:11:"line-height";s:4:"200%";s:12:"padding-left";s:3:"3px";s:13:"padding-right";s:3:"3px";}s:29:"@x6menu_right div div.hilight";a:1:{s:16:"background-color";s:7:"#d0d0d0";}s:14:"table.x6Detail";a:2:{s:14:"border-spacing";s:1:"0";s:15:"border-collapse";s:8:"collapse";}s:12:"td.x6Caption";a:5:{s:10:"text-align";s:5:"right";s:11:"padding-top";s:3:"3px";s:12:"padding-left";s:3:"3px";s:14:"padding-bottom";s:3:"3px";s:14:"vertical-align";s:3:"top";}s:12:".ui-tabs-nav";a:14:{s:10:"list-style";s:4:"none";s:5:"float";s:4:"left";s:8:"position";s:8:"relative";s:6:"bottom";s:4:"-1px";s:7:"z-index";s:1:"1";s:10:"margin-top";s:1:"0";s:13:"margin-bottom";s:1:"0";s:11:"margin-left";s:1:"0";s:12:"margin-right";s:1:"0";s:11:"padding-top";s:1:"0";s:14:"padding-bottom";s:1:"0";s:12:"padding-left";s:1:"0";s:13:"padding-right";s:1:"0";s:12:"border-right";s:17:"1px solid #909090";}s:15:".ui-tabs-nav li";a:16:{s:15:"text-decoration";s:4:"none";s:10:"list-style";s:4:"none";s:5:"float";s:4:"left";s:11:"line-height";s:4:"16px";s:10:"margin-top";s:1:"0";s:13:"margin-bottom";s:1:"0";s:11:"margin-left";s:1:"0";s:12:"margin-right";s:1:"0";s:11:"padding-top";s:3:"6px";s:14:"padding-bottom";s:3:"6px";s:12:"padding-left";s:3:"6px";s:13:"padding-right";s:3:"6px";s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:1:"0";}s:17:".ui-tabs-nav li a";a:13:{s:10:"list-style";s:4:"none";s:5:"float";s:4:"left";s:15:"text-decoration";s:4:"none";s:7:"outline";s:4:"none";s:5:"color";s:7:"#000000";s:10:"margin-top";s:1:"0";s:13:"margin-bottom";s:1:"0";s:11:"margin-left";s:1:"0";s:12:"margin-right";s:1:"0";s:10:"border-top";s:1:"0";s:13:"border-bottom";s:1:"0";s:11:"border-left";s:1:"0";s:12:"border-right";s:1:"0";}s:14:".ui-tabs-panel";a:16:{s:15:"text-decoration";s:4:"none";s:10:"list-style";s:4:"none";s:5:"clear";s:4:"left";s:7:"outline";s:1:"0";s:10:"margin-top";s:1:"0";s:13:"margin-bottom";s:1:"0";s:11:"margin-left";s:1:"0";s:12:"margin-right";s:1:"0";s:11:"padding-top";s:1:"0";s:14:"padding-bottom";s:1:"0";s:12:"padding-left";s:1:"0";s:13:"padding-right";s:1:"0";s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #909090";}s:13:".ui-tabs-hide";a:1:{s:7:"display";s:4:"none";}s:33:".ui-tabs-nav li.ui-state-active a";a:1:{s:5:"color";s:7:"#ffffff";}s:31:".ui-tabs-nav li.ui-state-active";a:1:{s:16:"background-color";s:7:"#5E71A2";}s:35:".ui-tabs-nav li.ui-state-disabled a";a:2:{s:5:"color";s:7:"#d0d0d0";s:6:"cursor";s:7:"default";}s:11:"span.button";a:5:{s:10:"border-top";s:17:"1px solid #ffFFff";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #ffFFff";s:12:"border-right";s:17:"1px solid #909090";s:6:"cursor";s:7:"pointer";}s:21:"span.button_mousedown";a:5:{s:13:"border-bottom";s:17:"1px solid #ffFFff";s:10:"border-top";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #ffFFff";s:11:"border-left";s:17:"1px solid #909090";s:6:"cursor";s:7:"pointer";}s:24:"div.x6buttonBar a.button";a:14:{s:10:"border-top";s:17:"1px solid #ffFFff";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #ffFFff";s:12:"border-right";s:17:"1px solid #909090";s:5:"color";s:7:"#ffffff";s:16:"background-color";s:7:"#4A79B5";s:11:"margin-left";s:3:"3px";s:10:"margin-top";s:3:"3px";s:13:"margin-bottom";s:3:"3px";s:11:"padding-top";s:3:"3px";s:14:"padding-bottom";s:3:"3px";s:12:"padding-left";s:3:"3px";s:13:"padding-right";s:3:"3px";s:11:"line-height";s:4:"12px";}s:34:"div.x6buttonBar a.button_mousedown";a:4:{s:13:"border-bottom";s:17:"1px solid #ffFFff";s:10:"border-top";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #ffFFff";s:11:"border-left";s:17:"1px solid #909090";}s:33:"div.x6buttonBar a.button_disabled";a:13:{s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #909090";s:5:"color";s:7:"#909090";s:11:"margin-left";s:3:"3px";s:10:"margin-top";s:3:"3px";s:13:"margin-bottom";s:3:"3px";s:11:"padding-top";s:3:"3px";s:14:"padding-bottom";s:3:"3px";s:12:"padding-left";s:3:"3px";s:13:"padding-right";s:3:"3px";s:11:"line-height";s:4:"12px";}s:13:"div.thead div";a:2:{s:6:"height";s:4:"24px";s:16:"background-color";s:7:"#d0d0d0";}s:17:"div.thead div div";a:8:{s:5:"float";s:4:"left";s:11:"line-height";s:4:"24px";s:10:"border-top";s:17:"1px solid #ffFFff";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #ffFFff";s:12:"border-right";s:17:"1px solid #909090";s:13:"padding-right";s:3:"3px";s:12:"padding-left";s:3:"3px";}s:9:"div.tbody";a:3:{s:10:"overflow-x";s:6:"hidden";s:10:"overflow-y";s:6:"scroll";s:5:"clear";s:4:"both";}s:17:"div.tbody div div";a:10:{s:5:"float";s:4:"left";s:8:"overflow";s:6:"hidden";s:10:"border-top";s:1:"0";s:13:"border-bottom";s:1:"0";s:11:"border-left";s:17:"1px solid #f0f0f0";s:12:"border-right";s:17:"1px solid #f0f0f0";s:13:"padding-right";s:3:"3px";s:12:"padding-left";s:3:"3px";s:11:"line-height";s:4:"24px";s:6:"height";s:4:"24px";}s:28:"div.tbody div.selected input";a:2:{s:11:"margin-left";s:4:"-2px";s:12:"margin-right";s:4:"-2px";}s:25:"div.tbody div.flavor0 div";a:3:{s:16:"background-color";s:7:"#A0FFA0";s:11:"border-left";s:17:"1px solid #A0FFA0";s:12:"border-right";s:17:"1px solid #A0FFA0";}s:25:"div.tbody div.flavor1 div";a:3:{s:16:"background-color";s:7:"#A0A0FF";s:11:"border-left";s:17:"1px solid #A0A0FF";s:12:"border-right";s:17:"1px solid #A0A0FF";}s:25:"div.tbody div.flavor2 div";a:3:{s:16:"background-color";s:7:"#FFA0A0";s:11:"border-left";s:17:"1px solid #FFA0A0";s:12:"border-right";s:17:"1px solid #FFA0A0";}s:25:"div.tbody div.flavor3 div";a:3:{s:16:"background-color";s:7:"#FF00FF";s:11:"border-left";s:17:"1px solid #FF00FF";s:12:"border-right";s:17:"1px solid #FF00FF";}s:15:"div.tbody input";a:2:{s:11:"padding-top";s:3:"3px";s:6:"height";s:4:"18px";}s:25:"div.tbody div.hilight div";a:3:{s:16:"background-color";s:7:"#d0d0d0";s:11:"border-left";s:17:"1px solid #d0d0d0";s:12:"border-right";s:17:"1px solid #d0d0d0";}s:18:"div.x6select table";a:2:{s:14:"border-spacing";s:1:"0";s:16:"background-color";s:7:"#ffffff";}s:38:"div.x6select table tbody tr.hilight td";a:1:{s:16:"background-color";s:7:"#d0d0d0";}s:30:"div.x6select table thead tr th";a:5:{s:10:"border-top";s:17:"1px solid #ffFFff";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #ffFFff";s:12:"border-right";s:17:"1px solid #909090";s:16:"background-color";s:7:"#f0f0f0";}s:10:"@dialogbox";a:2:{s:6:"border";s:17:"6px solid #4A79B5";s:16:"background-color";s:7:"#ffffff";}s:13:".x6modalblock";a:9:{s:7:"z-index";s:5:"10000";s:16:"background-color";s:7:"#000000";s:6:"cursor";s:4:"wait";s:7:"display";s:4:"none";s:8:"position";s:8:"absolute";s:3:"top";s:7:"-5000px";s:4:"left";s:7:"-5000px";s:5:"width";s:7:"20000px";s:6:"height";s:7:"20000px";}s:8:".x6modal";a:9:{s:8:"position";s:8:"absolute";s:7:"display";s:4:"none";s:7:"z-index";s:5:"10001";s:10:"border-top";s:17:"1px solid #ffFFff";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #ffFFff";s:12:"border-right";s:17:"1px solid #909090";s:16:"background-color";s:7:"#d0d0d0";s:7:"padding";s:3:"3px";}s:11:".x6modaltop";a:2:{s:6:"height";s:4:"24px";s:11:"line-height";s:4:"24px";}s:13:".x6modaltop a";a:1:{s:15:"text-decoration";s:4:"none";}s:13:".x6modalinner";a:6:{s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #ffFFff";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #ffFFff";s:7:"padding";s:3:"3px";s:16:"background-color";s:7:"#f0f0f0";}}} \ No newline at end of file +a:2:{s:7:"defines";a:68:{s:4:"link";s:4:"blue";s:7:"bgcdark";s:7:"#d0d0d0";s:8:"bgclight";s:7:"#f0f0f0";s:11:"shadowlight";s:7:"#ffFFff";s:10:"shadowdark";s:7:"#909090";s:5:"black";s:7:"#000000";s:5:"white";s:7:"#ffffff";s:7:"bgcmenu";s:7:"#4A79B5";s:4:"dark";s:7:"#5E71A2";s:8:"selected";s:7:"#30FF30";s:7:"flavor0";s:7:"#A0FFA0";s:7:"flavor1";s:7:"#A0A0FF";s:7:"flavor2";s:7:"#FFA0A0";s:7:"flavor3";s:7:"#FF00FF";s:10:"clrChanged";s:6:"yellow";s:8:"clrError";s:7:"#ff4500";s:5:"clrOk";s:7:"#7fff00";s:11:"clrRequired";s:7:"#abcdef";s:3:"bw0";s:3:"1px";s:4:"zero";s:1:"0";s:3:"ff0";s:7:"verdana";s:3:"bs0";s:5:"solid";s:5:"bor1t";s:17:"1px solid #909090";s:5:"bor1b";s:17:"1px solid #ffFFff";s:5:"bor1l";s:17:"1px solid #909090";s:5:"bor1r";s:17:"1px solid #ffFFff";s:5:"bor2t";s:17:"1px solid #ffFFff";s:5:"bor2b";s:17:"1px solid #909090";s:5:"bor2l";s:17:"1px solid #ffFFff";s:5:"bor2r";s:17:"1px solid #909090";s:5:"bor3t";s:17:"1px solid #909090";s:5:"bor3b";s:17:"1px solid #909090";s:5:"bor3l";s:17:"1px solid #909090";s:5:"bor3r";s:17:"1px solid #909090";s:5:"bordr";s:17:"1px solid #f0f0f0";s:6:"bordr2";s:17:"1px solid #d0d0d0";s:12:"insideheight";s:5:"605px";s:10:"tinpheight";s:4:"18px";s:9:"barheight";s:4:"24px";s:5:"barlh";s:4:"25px";s:3:"fs0";s:4:"12px";s:3:"lh0";s:4:"18px";s:3:"lh1";s:4:"16px";s:5:"lhtab";s:4:"16px";s:6:"fsfoot";s:4:"10px";s:6:"lhfoot";s:4:"16px";s:8:"lhstatus";s:4:"20px";s:8:"lhbutton";s:4:"12px";s:6:"lhmbar";s:4:"21px";s:4:"fsh1";s:4:"18px";s:4:"lhh1";s:4:"28px";s:4:"fsh2";s:4:"16px";s:4:"lhh2";s:4:"24px";s:10:"menumartop";s:3:"2px";s:8:"menupadb";s:3:"2px";s:8:"menupost";s:4:"23px";s:12:"outsidewidth";s:5:"991px";s:11:"insidewidth";s:5:"990px";s:7:"menupad";s:3:"6px";s:6:"tabpad";s:4:"12px";s:4:"pad0";s:3:"3px";s:8:"pad0more";s:3:"4px";s:8:"pad0less";s:3:"2px";s:4:"pad1";s:3:"6px";s:8:"tinppadt";s:3:"3px";s:13:"dropdownwidth";s:5:"200px";s:13:"dropdownshift";s:4:"-7px";s:18:"dropdowninnerwidth";s:5:"188px";}s:3:"css";a:85:{s:7:".fadein";a:1:{s:7:"display";s:4:"none";}s:7:".x6main";a:4:{s:8:"position";s:8:"relative";s:16:"background-color";s:7:"#f0f0f0";s:12:"padding-left";s:3:"3px";s:13:"padding-right";s:3:"3px";}s:17:"a.button_disabled";a:2:{s:6:"cursor";s:7:"default";s:7:"outline";s:1:"0";}s:1:"a";a:1:{s:7:"outline";s:1:"0";}s:42:"a.button_disabled,a.button,div.thead div a";a:2:{s:15:"text-decoration";s:4:"none";s:7:"display";s:5:"block";}s:8:".flavor1";a:1:{s:16:"background-color";s:7:"#A0A0FF";}s:8:".flavor2";a:1:{s:16:"background-color";s:7:"#FFA0A0";}s:8:".flavor3";a:1:{s:16:"background-color";s:7:"#FF00FF";}s:4:"body";a:9:{s:16:"background-color";s:7:"#d0d0d0";s:5:"color";s:7:"#000000";s:11:"font-family";s:7:"verdana";s:9:"font-size";s:4:"12px";s:11:"line-height";s:4:"16px";s:10:"margin-top";s:1:"0";s:13:"margin-bottom";s:1:"0";s:11:"margin-left";s:3:"3px";s:12:"margin-right";s:3:"3px";}s:6:"body a";a:1:{s:5:"color";s:4:"blue";}s:2:"h1";a:7:{s:9:"font-size";s:4:"18px";s:11:"line-height";s:4:"28px";s:11:"font-weight";s:6:"bolder";s:10:"margin-top";s:1:"0";s:13:"margin-bottom";s:1:"0";s:11:"padding-top";s:3:"3px";s:14:"padding-bottom";s:3:"6px";}s:2:"h2";a:2:{s:6:"height";s:4:"16px";s:11:"font-weight";s:6:"bolder";}s:5:".box1";a:5:{s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #ffFFff";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #ffFFff";s:16:"background-color";s:7:"#f0f0f0";}s:5:".box2";a:5:{s:10:"border-top";s:17:"1px solid #ffFFff";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #ffFFff";s:12:"border-right";s:17:"1px solid #909090";s:16:"background-color";s:7:"#d0d0d0";}s:5:".box3";a:4:{s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #909090";}s:7:".x6body";a:7:{s:16:"background-color";s:7:"#f0f0f0";s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #ffFFff";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #ffFFff";s:6:"height";s:5:"605px";s:5:"width";s:5:"990px";}s:13:".x6commandBar";a:6:{s:16:"background-color";s:7:"#d0d0d0";s:10:"border-top";s:17:"1px solid #ffFFff";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #ffFFff";s:12:"border-right";s:17:"1px solid #909090";s:12:"padding-left";s:3:"3px";}s:10:".statusBar";a:2:{s:11:"line-height";s:4:"20px";s:9:"font-size";s:3:"80%";}s:19:".statusBar .sbright";a:1:{s:5:"float";s:5:"right";}s:18:".statusBar .sbleft";a:1:{s:5:"float";s:4:"left";}s:9:".x6footer";a:5:{s:11:"padding-top";s:3:"3px";s:9:"font-size";s:4:"10px";s:11:"line-height";s:4:"16px";s:16:"background-color";s:7:"#d0d0d0";s:5:"width";s:5:"991px";}s:21:"select,input,textarea";a:6:{s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #ffFFff";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #ffFFff";s:11:"font-family";s:7:"verdana";s:9:"font-size";s:4:"12px";}s:11:"tr.selected";a:2:{s:16:"background-color";s:7:"#5E71A2";s:5:"color";s:7:"#ffffff";}s:35:"input.changed,input.changedSelected";a:1:{s:16:"background-color";s:6:"yellow";}s:37:"select.changed,select.changedSelected";a:1:{s:16:"background-color";s:6:"yellow";}s:41:"textarea.changed,textarea.changedSelected";a:1:{s:16:"background-color";s:6:"yellow";}s:11:"input.error";a:1:{s:16:"background-color";s:7:"#ff4500";}s:14:"input.required";a:1:{s:16:"background-color";s:7:"#abcdef";}s:51:"input[disabled],select[disabled],textarea[disabled]";a:6:{s:16:"background-color";s:7:"#f0f0f0";s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #ffFFff";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #ffFFff";s:5:"color";s:7:"#000000";}s:12:"td.x6Input a";a:1:{s:12:"padding-left";s:3:"3px";}s:10:"div.x6menu";a:4:{s:16:"background-color";s:7:"#d0d0d0";s:11:"line-height";s:4:"21px";s:6:"height";s:4:"23px";s:5:"width";s:5:"991px";}s:13:"div.x6menu ul";a:3:{s:6:"margin";s:1:"0";s:7:"padding";s:1:"0";s:7:"z-index";s:4:"1000";}s:15:"div.x6menu ul a";a:4:{s:15:"text-decoration";s:4:"none";s:5:"color";s:7:"#000000";s:7:"display";s:5:"block";s:7:"z-index";s:4:"1000";}s:16:"div.x6menu ul li";a:12:{s:7:"display";s:6:"inline";s:5:"float";s:4:"left";s:6:"height";s:4:"auto";s:7:"z-index";s:4:"1000";s:6:"cursor";s:7:"pointer";s:10:"border-top";s:17:"1px solid #d0d0d0";s:13:"border-bottom";s:17:"1px solid #d0d0d0";s:11:"border-left";s:17:"1px solid #d0d0d0";s:12:"border-right";s:17:"1px solid #d0d0d0";s:12:"padding-left";s:3:"6px";s:13:"padding-right";s:3:"6px";s:14:"padding-bottom";s:3:"2px";}s:25:"div.x6menu ul li.selected";a:6:{s:16:"background-color";s:7:"#4A79B5";s:5:"color";s:7:"#ffffff";s:10:"border-top";s:17:"1px solid #000000";s:13:"border-bottom";s:1:"0";s:11:"border-left";s:17:"1px solid #000000";s:12:"border-right";s:17:"1px solid #000000";}s:27:"div.x6menu ul li.selected a";a:1:{s:5:"color";s:7:"#ffffff";}s:16:"div.x6menu ul ul";a:2:{s:7:"display";s:5:"block";s:8:"position";s:8:"absolute";}s:25:"div.x6menu ul ul.dropdown";a:9:{s:7:"z-index";s:4:"1000";s:10:"border-top";s:17:"1px solid #000000";s:13:"border-bottom";s:17:"1px solid #000000";s:11:"border-left";s:17:"1px solid #000000";s:12:"border-right";s:17:"1px solid #000000";s:16:"background-color";s:7:"#ffffff";s:5:"width";s:5:"200px";s:11:"margin-left";s:4:"-7px";s:10:"margin-top";s:3:"2px";}s:19:"div.x6menu ul li li";a:3:{s:7:"display";s:5:"block";s:5:"float";s:4:"none";s:7:"z-index";s:4:"1000";}s:22:"div.x6menu ul li ul li";a:4:{s:11:"text-indent";s:1:"0";s:6:"margin";s:1:"0";s:7:"padding";s:1:"0";s:6:"border";s:1:"0";}s:24:"div.x6menu ul li ul li a";a:4:{s:11:"padding-top";s:3:"3px";s:14:"padding-bottom";s:3:"3px";s:12:"padding-left";s:3:"6px";s:13:"padding-right";s:1:"0";}s:33:"div.x6menu ul li.selected ul li a";a:1:{s:5:"color";s:7:"#000000";}s:30:"div.x6menu ul li ul li a;hover";a:2:{s:16:"background-color";s:7:"#4A79B5";s:5:"color";s:7:"#ffffff";}s:16:"@x6menu_left div";a:3:{s:11:"font-weight";s:6:"bolder";s:9:"font-size";s:4:"125%";s:6:"cursor";s:7:"pointer";}s:24:"@x6menu_left div.hilight";a:2:{s:16:"background-color";s:7:"#4A79B5";s:5:"color";s:5:"white";}s:21:"@x6menu_right div div";a:6:{s:11:"font-weight";s:6:"bolder";s:9:"font-size";s:4:"105%";s:6:"cursor";s:7:"pointer";s:11:"line-height";s:4:"200%";s:12:"padding-left";s:3:"3px";s:13:"padding-right";s:3:"3px";}s:29:"@x6menu_right div div.hilight";a:1:{s:16:"background-color";s:7:"#d0d0d0";}s:14:"table.x6Detail";a:2:{s:14:"border-spacing";s:1:"0";s:15:"border-collapse";s:8:"collapse";}s:12:"td.x6Caption";a:5:{s:10:"text-align";s:5:"right";s:11:"padding-top";s:3:"3px";s:12:"padding-left";s:3:"3px";s:14:"padding-bottom";s:3:"3px";s:14:"vertical-align";s:3:"top";}s:12:".ui-tabs-nav";a:14:{s:10:"list-style";s:4:"none";s:5:"float";s:4:"left";s:8:"position";s:8:"relative";s:6:"bottom";s:4:"-1px";s:7:"z-index";s:1:"1";s:10:"margin-top";s:1:"0";s:13:"margin-bottom";s:1:"0";s:11:"margin-left";s:1:"0";s:12:"margin-right";s:1:"0";s:11:"padding-top";s:1:"0";s:14:"padding-bottom";s:1:"0";s:12:"padding-left";s:1:"0";s:13:"padding-right";s:1:"0";s:12:"border-right";s:17:"1px solid #909090";}s:15:".ui-tabs-nav li";a:16:{s:15:"text-decoration";s:4:"none";s:10:"list-style";s:4:"none";s:5:"float";s:4:"left";s:11:"line-height";s:4:"16px";s:10:"margin-top";s:1:"0";s:13:"margin-bottom";s:1:"0";s:11:"margin-left";s:1:"0";s:12:"margin-right";s:1:"0";s:11:"padding-top";s:3:"6px";s:14:"padding-bottom";s:3:"6px";s:12:"padding-left";s:3:"6px";s:13:"padding-right";s:3:"6px";s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:1:"0";}s:17:".ui-tabs-nav li a";a:13:{s:10:"list-style";s:4:"none";s:5:"float";s:4:"left";s:15:"text-decoration";s:4:"none";s:7:"outline";s:4:"none";s:5:"color";s:7:"#000000";s:10:"margin-top";s:1:"0";s:13:"margin-bottom";s:1:"0";s:11:"margin-left";s:1:"0";s:12:"margin-right";s:1:"0";s:10:"border-top";s:1:"0";s:13:"border-bottom";s:1:"0";s:11:"border-left";s:1:"0";s:12:"border-right";s:1:"0";}s:14:".ui-tabs-panel";a:16:{s:15:"text-decoration";s:4:"none";s:10:"list-style";s:4:"none";s:5:"clear";s:4:"left";s:7:"outline";s:1:"0";s:10:"margin-top";s:1:"0";s:13:"margin-bottom";s:1:"0";s:11:"margin-left";s:1:"0";s:12:"margin-right";s:1:"0";s:11:"padding-top";s:1:"0";s:14:"padding-bottom";s:1:"0";s:12:"padding-left";s:1:"0";s:13:"padding-right";s:1:"0";s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #909090";}s:13:".ui-tabs-hide";a:1:{s:7:"display";s:4:"none";}s:33:".ui-tabs-nav li.ui-state-active a";a:1:{s:5:"color";s:7:"#ffffff";}s:31:".ui-tabs-nav li.ui-state-active";a:1:{s:16:"background-color";s:7:"#5E71A2";}s:35:".ui-tabs-nav li.ui-state-disabled a";a:2:{s:5:"color";s:7:"#d0d0d0";s:6:"cursor";s:7:"default";}s:11:"span.button";a:5:{s:10:"border-top";s:17:"1px solid #ffFFff";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #ffFFff";s:12:"border-right";s:17:"1px solid #909090";s:6:"cursor";s:7:"pointer";}s:21:"span.button_mousedown";a:5:{s:13:"border-bottom";s:17:"1px solid #ffFFff";s:10:"border-top";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #ffFFff";s:11:"border-left";s:17:"1px solid #909090";s:6:"cursor";s:7:"pointer";}s:24:"div.x6buttonBar a.button";a:14:{s:10:"border-top";s:17:"1px solid #ffFFff";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #ffFFff";s:12:"border-right";s:17:"1px solid #909090";s:5:"color";s:7:"#ffffff";s:16:"background-color";s:7:"#4A79B5";s:11:"margin-left";s:3:"3px";s:10:"margin-top";s:3:"3px";s:13:"margin-bottom";s:3:"3px";s:11:"padding-top";s:3:"3px";s:14:"padding-bottom";s:3:"3px";s:12:"padding-left";s:3:"3px";s:13:"padding-right";s:3:"3px";s:11:"line-height";s:4:"12px";}s:34:"div.x6buttonBar a.button_mousedown";a:4:{s:13:"border-bottom";s:17:"1px solid #ffFFff";s:10:"border-top";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #ffFFff";s:11:"border-left";s:17:"1px solid #909090";}s:33:"div.x6buttonBar a.button_disabled";a:13:{s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #909090";s:5:"color";s:7:"#909090";s:11:"margin-left";s:3:"3px";s:10:"margin-top";s:3:"3px";s:13:"margin-bottom";s:3:"3px";s:11:"padding-top";s:3:"3px";s:14:"padding-bottom";s:3:"3px";s:12:"padding-left";s:3:"3px";s:13:"padding-right";s:3:"3px";s:11:"line-height";s:4:"12px";}s:13:"div.thead div";a:2:{s:6:"height";s:4:"24px";s:16:"background-color";s:7:"#d0d0d0";}s:17:"div.thead div div";a:8:{s:5:"float";s:4:"left";s:11:"line-height";s:4:"24px";s:10:"border-top";s:17:"1px solid #ffFFff";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #ffFFff";s:12:"border-right";s:17:"1px solid #909090";s:13:"padding-right";s:3:"3px";s:12:"padding-left";s:3:"3px";}s:9:"div.tbody";a:3:{s:10:"overflow-x";s:6:"hidden";s:10:"overflow-y";s:6:"scroll";s:5:"clear";s:4:"both";}s:17:"div.tbody div div";a:10:{s:5:"float";s:4:"left";s:8:"overflow";s:6:"hidden";s:10:"border-top";s:1:"0";s:13:"border-bottom";s:1:"0";s:11:"border-left";s:17:"1px solid #f0f0f0";s:12:"border-right";s:17:"1px solid #f0f0f0";s:13:"padding-right";s:3:"3px";s:12:"padding-left";s:3:"3px";s:11:"line-height";s:4:"24px";s:6:"height";s:4:"24px";}s:28:"div.tbody div.selected input";a:2:{s:11:"margin-left";s:4:"-2px";s:12:"margin-right";s:4:"-2px";}s:25:"div.tbody div.flavor0 div";a:3:{s:16:"background-color";s:7:"#A0FFA0";s:11:"border-left";s:17:"1px solid #A0FFA0";s:12:"border-right";s:17:"1px solid #A0FFA0";}s:25:"div.tbody div.flavor1 div";a:3:{s:16:"background-color";s:7:"#A0A0FF";s:11:"border-left";s:17:"1px solid #A0A0FF";s:12:"border-right";s:17:"1px solid #A0A0FF";}s:25:"div.tbody div.flavor2 div";a:3:{s:16:"background-color";s:7:"#FFA0A0";s:11:"border-left";s:17:"1px solid #FFA0A0";s:12:"border-right";s:17:"1px solid #FFA0A0";}s:25:"div.tbody div.flavor3 div";a:3:{s:16:"background-color";s:7:"#FF00FF";s:11:"border-left";s:17:"1px solid #FF00FF";s:12:"border-right";s:17:"1px solid #FF00FF";}s:15:"div.tbody input";a:2:{s:11:"padding-top";s:3:"3px";s:6:"height";s:4:"18px";}s:25:"div.tbody div.hilight div";a:3:{s:16:"background-color";s:7:"#d0d0d0";s:11:"border-left";s:17:"1px solid #d0d0d0";s:12:"border-right";s:17:"1px solid #d0d0d0";}s:18:"div.x6select table";a:2:{s:14:"border-spacing";s:1:"0";s:16:"background-color";s:7:"#ffffff";}s:38:"div.x6select table tbody tr.hilight td";a:1:{s:16:"background-color";s:7:"#d0d0d0";}s:30:"div.x6select table thead tr th";a:5:{s:10:"border-top";s:17:"1px solid #ffFFff";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #ffFFff";s:12:"border-right";s:17:"1px solid #909090";s:16:"background-color";s:7:"#f0f0f0";}s:10:"@dialogbox";a:2:{s:6:"border";s:17:"6px solid #4A79B5";s:16:"background-color";s:7:"#ffffff";}s:13:".x6modalblock";a:9:{s:7:"z-index";s:5:"10000";s:16:"background-color";s:7:"#000000";s:6:"cursor";s:4:"wait";s:7:"display";s:4:"none";s:8:"position";s:8:"absolute";s:3:"top";s:7:"-5000px";s:4:"left";s:7:"-5000px";s:5:"width";s:7:"20000px";s:6:"height";s:7:"20000px";}s:8:".x6modal";a:9:{s:8:"position";s:8:"absolute";s:7:"display";s:4:"none";s:7:"z-index";s:5:"10001";s:10:"border-top";s:17:"1px solid #ffFFff";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #ffFFff";s:12:"border-right";s:17:"1px solid #909090";s:16:"background-color";s:7:"#d0d0d0";s:7:"padding";s:3:"3px";}s:11:".x6modaltop";a:2:{s:6:"height";s:4:"24px";s:11:"line-height";s:4:"24px";}s:13:".x6modaltop a";a:1:{s:15:"text-decoration";s:4:"none";}s:13:".x6modalinner";a:6:{s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #ffFFff";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #ffFFff";s:7:"padding";s:3:"3px";s:16:"background-color";s:7:"#f0f0f0";}s:16:"table.x6standard";a:5:{s:10:"max-height";s:5:"605px";s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #909090";}s:28:"table.x6standard thead tr th";a:1:{s:16:"background-color";s:7:"#d0d0d0";}s:28:"table.x6standard tbody tr td";a:1:{s:14:"vertical-align";s:3:"top";}}} \ No newline at end of file Modified: trunk/andro/templates/x6/skinsphp/x6skin.Default.Gray.1280.ser.txt =================================================================== --- trunk/andro/templates/x6/skinsphp/x6skin.Default.Gray.1280.ser.txt 2009-01-28 19:42:00 UTC (rev 1169) +++ trunk/andro/templates/x6/skinsphp/x6skin.Default.Gray.1280.ser.txt 2009-01-28 19:42:53 UTC (rev 1170) @@ -1 +1 @@ -a:2:{s:7:"defines";a:68:{s:4:"link";s:4:"blue";s:7:"bgcdark";s:7:"#d0d0d0";s:8:"bgclight";s:7:"#f0f0f0";s:11:"shadowlight";s:7:"#ffFFff";s:10:"shadowdark";s:7:"#909090";s:5:"black";s:7:"#000000";s:5:"white";s:7:"#ffffff";s:7:"bgcmenu";s:7:"#4A79B5";s:4:"dark";s:7:"#5E71A2";s:8:"selected";s:7:"#30FF30";s:7:"flavor0";s:7:"#A0FFA0";s:7:"flavor1";s:7:"#A0A0FF";s:7:"flavor2";s:7:"#FFA0A0";s:7:"flavor3";s:7:"#FF00FF";s:10:"clrChanged";s:6:"yellow";s:8:"clrError";s:7:"#ff4500";s:5:"clrOk";s:7:"#7fff00";s:11:"clrRequired";s:7:"#abcdef";s:3:"bw0";s:3:"1px";s:4:"zero";s:1:"0";s:3:"ff0";s:7:"verdana";s:3:"bs0";s:5:"solid";s:5:"bor1t";s:17:"1px solid #909090";s:5:"bor1b";s:17:"1px solid #ffFFff";s:5:"bor1l";s:17:"1px solid #909090";s:5:"bor1r";s:17:"1px solid #ffFFff";s:5:"bor2t";s:17:"1px solid #ffFFff";s:5:"bor2b";s:17:"1px solid #909090";s:5:"bor2l";s:17:"1px solid #ffFFff";s:5:"bor2r";s:17:"1px solid #909090";s:5:"bor3t";s:17:"1px solid #909090";s:5:"bor3b";s:17:"1px solid #909090";s:5:"bor3l";s:17:"1px solid #909090";s:5:"bor3r";s:17:"1px solid #909090";s:5:"bordr";s:17:"1px solid #f0f0f0";s:6:"bordr2";s:17:"1px solid #d0d0d0";s:12:"insideheight";s:5:"806px";s:10:"tinpheight";s:4:"24px";s:9:"barheight";s:4:"32px";s:5:"barlh";s:4:"33px";s:3:"fs0";s:4:"16px";s:3:"lh0";s:4:"24px";s:3:"lh1";s:4:"21px";s:5:"lhtab";s:4:"21px";s:6:"fsfoot";s:4:"13px";s:6:"lhfoot";s:4:"21px";s:8:"lhstatus";s:4:"26px";s:8:"lhbutton";s:4:"16px";s:6:"lhmbar";s:4:"28px";s:4:"fsh1";s:4:"24px";s:4:"lhh1";s:4:"37px";s:4:"fsh2";s:4:"21px";s:4:"lhh2";s:4:"32px";s:10:"menumartop";s:3:"2px";s:8:"menupadb";s:3:"2px";s:8:"menupost";s:4:"30px";s:12:"outsidewidth";s:6:"1238px";s:11:"insidewidth";s:6:"1237px";s:7:"menupad";s:3:"7px";s:6:"tabpad";s:4:"15px";s:4:"pad0";s:3:"3px";s:8:"pad0more";s:3:"5px";s:8:"pad0less";s:3:"2px";s:4:"pad1";s:3:"7px";s:8:"tinppadt";s:3:"3px";s:13:"dropdownwidth";s:5:"250px";s:13:"dropdownshift";s:4:"-8px";s:18:"dropdowninnerwidth";s:5:"235px";}s:3:"css";a:79:{s:7:".fadein";a:1:{s:7:"display";s:4:"none";}s:7:".x6main";a:4:{s:8:"position";s:8:"relative";s:16:"background-color";s:7:"#f0f0f0";s:12:"padding-left";s:3:"3px";s:13:"padding-right";s:3:"3px";}s:17:"a.button_disabled";a:2:{s:6:"cursor";s:7:"default";s:7:"outline";s:1:"0";}s:1:"a";a:1:{s:7:"outline";s:1:"0";}s:42:"a.button_disabled,a.button,div.thead div a";a:2:{s:15:"text-decoration";s:4:"none";s:7:"display";s:5:"block";}s:4:"body";a:9:{s:16:"background-color";s:7:"#d0d0d0";s:5:"color";s:7:"#000000";s:11:"font-family";s:7:"verdana";s:9:"font-size";s:4:"16px";s:11:"line-height";s:4:"21px";s:10:"margin-top";s:1:"0";s:13:"margin-bottom";s:1:"0";s:11:"margin-left";s:3:"3px";s:12:"margin-right";s:3:"3px";}s:6:"body a";a:1:{s:5:"color";s:4:"blue";}s:2:"h1";a:7:{s:9:"font-size";s:4:"24px";s:11:"line-height";s:4:"37px";s:11:"font-weight";s:6:"bolder";s:10:"margin-top";s:1:"0";s:13:"margin-bottom";s:1:"0";s:11:"padding-top";s:3:"3px";s:14:"padding-bottom";s:3:"7px";}s:2:"h2";a:2:{s:6:"height";s:4:"21px";s:11:"font-weight";s:6:"bolder";}s:5:".box1";a:5:{s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #ffFFff";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #ffFFff";s:16:"background-color";s:7:"#f0f0f0";}s:5:".box2";a:5:{s:10:"border-top";s:17:"1px solid #ffFFff";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #ffFFff";s:12:"border-right";s:17:"1px solid #909090";s:16:"background-color";s:7:"#d0d0d0";}s:5:".box3";a:4:{s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #909090";}s:7:".x6body";a:7:{s:16:"background-color";s:7:"#f0f0f0";s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #ffFFff";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #ffFFff";s:6:"height";s:5:"806px";s:5:"width";s:6:"1237px";}s:13:".x6commandBar";a:6:{s:16:"background-color";s:7:"#d0d0d0";s:10:"border-top";s:17:"1px solid #ffFFff";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #ffFFff";s:12:"border-right";s:17:"1px solid #909090";s:12:"padding-left";s:3:"3px";}s:10:".statusBar";a:2:{s:11:"line-height";s:4:"26px";s:9:"font-size";s:3:"80%";}s:19:".statusBar .sbright";a:1:{s:5:"float";s:5:"right";}s:18:".statusBar .sbleft";a:1:{s:5:"float";s:4:"left";}s:9:".x6footer";a:5:{s:11:"padding-top";s:3:"3px";s:9:"font-size";s:4:"13px";s:11:"line-height";s:4:"21px";s:16:"background-color";s:7:"#d0d0d0";s:5:"width";s:6:"1238px";}s:21:"select,input,textarea";a:6:{s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #ffFFff";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #ffFFff";s:11:"font-family";s:7:"verdana";s:9:"font-size";s:4:"16px";}s:11:"tr.selected";a:2:{s:16:"background-color";s:7:"#5E71A2";s:5:"color";s:7:"#ffffff";}s:35:"input.changed,input.changedSelected";a:1:{s:16:"background-color";s:6:"yellow";}s:37:"select.changed,select.changedSelected";a:1:{s:16:"background-color";s:6:"yellow";}s:41:"textarea.changed,textarea.changedSelected";a:1:{s:16:"background-color";s:6:"yellow";}s:11:"input.error";a:1:{s:16:"background-color";s:7:"#ff4500";}s:14:"input.required";a:1:{s:16:"background-color";s:7:"#abcdef";}s:51:"input[disabled],select[disabled],textarea[disabled]";a:6:{s:16:"background-color";s:7:"#f0f0f0";s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #ffFFff";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #ffFFff";s:5:"color";s:7:"#000000";}s:12:"td.x6Input a";a:1:{s:12:"padding-left";s:3:"3px";}s:10:"div.x6menu";a:4:{s:16:"background-color";s:7:"#d0d0d0";s:11:"line-height";s:4:"28px";s:6:"height";s:4:"30px";s:5:"width";s:6:"1238px";}s:13:"div.x6menu ul";a:3:{s:6:"margin";s:1:"0";s:7:"padding";s:1:"0";s:7:"z-index";s:4:"1000";}s:15:"div.x6menu ul a";a:4:{s:15:"text-decoration";s:4:"none";s:5:"color";s:7:"#000000";s:7:"display";s:5:"block";s:7:"z-index";s:4:"1000";}s:16:"div.x6menu ul li";a:12:{s:7:"display";s:6:"inline";s:5:"float";s:4:"left";s:6:"height";s:4:"auto";s:7:"z-index";s:4:"1000";s:6:"cursor";s:7:"pointer";s:10:"border-top";s:17:"1px solid #d0d0d0";s:13:"border-bottom";s:17:"1px solid #d0d0d0";s:11:"border-left";s:17:"1px solid #d0d0d0";s:12:"border-right";s:17:"1px solid #d0d0d0";s:12:"padding-left";s:3:"7px";s:13:"padding-right";s:3:"7px";s:14:"padding-bottom";s:3:"2px";}s:25:"div.x6menu ul li.selected";a:6:{s:16:"background-color";s:7:"#4A79B5";s:5:"color";s:7:"#ffffff";s:10:"border-top";s:17:"1px solid #000000";s:13:"border-bottom";s:1:"0";s:11:"border-left";s:17:"1px solid #000000";s:12:"border-right";s:17:"1px solid #000000";}s:27:"div.x6menu ul li.selected a";a:1:{s:5:"color";s:7:"#ffffff";}s:16:"div.x6menu ul ul";a:2:{s:7:"display";s:5:"block";s:8:"position";s:8:"absolute";}s:25:"div.x6menu ul ul.dropdown";a:9:{s:7:"z-index";s:4:"1000";s:10:"border-top";s:17:"1px solid #000000";s:13:"border-bottom";s:17:"1px solid #000000";s:11:"border-left";s:17:"1px solid #000000";s:12:"border-right";s:17:"1px solid #000000";s:16:"background-color";s:7:"#ffffff";s:5:"width";s:5:"250px";s:11:"margin-left";s:4:"-8px";s:10:"margin-top";s:3:"2px";}s:19:"div.x6menu ul li li";a:3:{s:7:"display";s:5:"block";s:5:"float";s:4:"none";s:7:"z-index";s:4:"1000";}s:22:"div.x6menu ul li ul li";a:4:{s:11:"text-indent";s:1:"0";s:6:"margin";s:1:"0";s:7:"padding";s:1:"0";s:6:"border";s:1:"0";}s:24:"div.x6menu ul li ul li a";a:4:{s:11:"padding-top";s:3:"3px";s:14:"padding-bottom";s:3:"3px";s:12:"padding-left";s:3:"7px";s:13:"padding-right";s:1:"0";}s:33:"div.x6menu ul li.selected ul li a";a:1:{s:5:"color";s:7:"#000000";}s:30:"div.x6menu ul li ul li a;hover";a:2:{s:16:"background-color";s:7:"#4A79B5";s:5:"color";s:7:"#ffffff";}s:16:"@x6menu_left div";a:3:{s:11:"font-weight";s:6:"bolder";s:9:"font-size";s:4:"125%";s:6:"cursor";s:7:"pointer";}s:24:"@x6menu_left div.hilight";a:2:{s:16:"background-color";s:7:"#4A79B5";s:5:"color";s:5:"white";}s:21:"@x6menu_right div div";a:6:{s:11:"font-weight";s:6:"bolder";s:9:"font-size";s:4:"105%";s:6:"cursor";s:7:"pointer";s:11:"line-height";s:4:"200%";s:12:"padding-left";s:3:"3px";s:13:"padding-right";s:3:"3px";}s:29:"@x6menu_right div div.hilight";a:1:{s:16:"background-color";s:7:"#d0d0d0";}s:14:"table.x6Detail";a:2:{s:14:"border-spacing";s:1:"0";s:15:"border-collapse";s:8:"collapse";}s:12:"td.x6Caption";a:5:{s:10:"text-align";s:5:"right";s:11:"padding-top";s:3:"3px";s:12:"padding-left";s:3:"3px";s:14:"padding-bottom";s:3:"3px";s:14:"vertical-align";s:3:"top";}s:12:".ui-tabs-nav";a:14:{s:10:"list-style";s:4:"none";s:5:"float";s:4:"left";s:8:"position";s:8:"relative";s:6:"bottom";s:4:"-1px";s:7:"z-index";s:1:"1";s:10:"margin-top";s:1:"0";s:13:"margin-bottom";s:1:"0";s:11:"margin-left";s:1:"0";s:12:"margin-right";s:1:"0";s:11:"padding-top";s:1:"0";s:14:"padding-bottom";s:1:"0";s:12:"padding-left";s:1:"0";s:13:"padding-right";s:1:"0";s:12:"border-right";s:17:"1px solid #909090";}s:15:".ui-tabs-nav li";a:16:{s:15:"text-decoration";s:4:"none";s:10:"list-style";s:4:"none";s:5:"float";s:4:"left";s:11:"line-height";s:4:"21px";s:10:"margin-top";s:1:"0";s:13:"margin-bottom";s:1:"0";s:11:"margin-left";s:1:"0";s:12:"margin-right";s:1:"0";s:11:"padding-top";s:3:"7px";s:14:"padding-bottom";s:3:"7px";s:12:"padding-left";s:3:"7px";s:13:"padding-right";s:3:"7px";s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:1:"0";}s:17:".ui-tabs-nav li a";a:13:{s:10:"list-style";s:4:"none";s:5:"float";s:4:"left";s:15:"text-decoration";s:4:"none";s:7:"outline";s:4:"none";s:5:"color";s:7:"#000000";s:10:"margin-top";s:1:"0";s:13:"margin-bottom";s:1:"0";s:11:"margin-left";s:1:"0";s:12:"margin-right";s:1:"0";s:10:"border-top";s:1:"0";s:13:"border-bottom";s:1:"0";s:11:"border-left";s:1:"0";s:12:"border-right";s:1:"0";}s:14:".ui-tabs-panel";a:16:{s:15:"text-decoration";s:4:"none";s:10:"list-style";s:4:"none";s:5:"clear";s:4:"left";s:7:"outline";s:1:"0";s:10:"margin-top";s:1:"0";s:13:"margin-bottom";s:1:"0";s:11:"margin-left";s:1:"0";s:12:"margin-right";s:1:"0";s:11:"padding-top";s:1:"0";s:14:"padding-bottom";s:1:"0";s:12:"padding-left";s:1:"0";s:13:"padding-right";s:1:"0";s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #909090";}s:13:".ui-tabs-hide";a:1:{s:7:"display";s:4:"none";}s:33:".ui-tabs-nav li.ui-state-active a";a:1:{s:5:"color";s:7:"#ffffff";}s:31:".ui-tabs-nav li.ui-state-active";a:1:{s:16:"background-color";s:7:"#5E71A2";}s:35:".ui-tabs-nav li.ui-state-disabled a";a:2:{s:5:"color";s:7:"#d0d0d0";s:6:"cursor";s:7:"default";}s:11:"span.button";a:5:{s:10:"border-top";s:17:"1px solid #ffFFff";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #ffFFff";s:12:"border-right";s:17:"1px solid #909090";s:6:"cursor";s:7:"pointer";}s:21:"span.button_mousedown";a:5:{s:13:"border-bottom";s:17:"1px solid #ffFFff";s:10:"border-top";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #ffFFff";s:11:"border-left";s:17:"1px solid #909090";s:6:"cursor";s:7:"pointer";}s:24:"div.x6buttonBar a.button";a:14:{s:10:"border-top";s:17:"1px solid #ffFFff";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #ffFFff";s:12:"border-right";s:17:"1px solid #909090";s:5:"color";s:7:"#ffffff";s:16:"background-color";s:7:"#4A79B5";s:11:"margin-left";s:3:"3px";s:10:"margin-top";s:3:"3px";s:13:"margin-bottom";s:3:"3px";s:11:"padding-top";s:3:"3px";s:14:"padding-bottom";s:3:"3px";s:12:"padding-left";s:3:"3px";s:13:"padding-right";s:3:"3px";s:11:"line-height";s:4:"16px";}s:34:"div.x6buttonBar a.button_mousedown";a:4:{s:13:"border-bottom";s:17:"1px solid #ffFFff";s:10:"border-top";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #ffFFff";s:11:"border-left";s:17:"1px solid #909090";}s:33:"div.x6buttonBar a.button_disabled";a:13:{s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #909090";s:12:"border-right";s:17:"1px solid #909090";s:5:"color";s:7:"#909090";s:11:"margin-left";s:3:"3px";s:10:"margin-top";s:3:"3px";s:13:"margin-bottom";s:3:"3px";s:11:"padding-top";s:3:"3px";s:14:"padding-bottom";s:3:"3px";s:12:"padding-left";s:3:"3px";s:13:"padding-right";s:3:"3px";s:11:"line-height";s:4:"16px";}s:13:"div.thead div";a:2:{s:6:"height";s:4:"32px";s:16:"background-color";s:7:"#d0d0d0";}s:17:"div.thead div div";a:8:{s:5:"float";s:4:"left";s:11:"line-height";s:4:"32px";s:10:"border-top";s:17:"1px solid #ffFFff";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #ffFFff";s:12:"border-right";s:17:"1px solid #909090";s:13:"padding-right";s:3:"3px";s:12:"padding-left";s:3:"3px";}s:9:"div.tbody";a:3:{s:10:"overflow-x";s:6:"hidden";s:10:"overflow-y";s:6:"scroll";s:5:"clear";s:4:"both";}s:17:"div.tbody div div";a:10:{s:5:"float";s:4:"left";s:8:"overflow";s:6:"hidden";s:10:"border-top";s:1:"0";s:13:"border-bottom";s:1:"0";s:11:"border-left";s:17:"1px solid #f0f0f0";s:12:"border-right";s:17:"1px solid #f0f0f0";s:13:"padding-right";s:3:"3px";s:12:"padding-left";s:3:"3px";s:11:"line-height";s:4:"32px";s:6:"height";s:4:"32px";}s:28:"div.tbody div.selected input";a:2:{s:11:"margin-left";s:4:"-2px";s:12:"margin-right";s:4:"-2px";}s:25:"div.tbody div.flavor0 div";a:3:{s:16:"background-color";s:7:"#A0FFA0";s:11:"border-left";s:17:"1px solid #A0FFA0";s:12:"border-right";s:17:"1px solid #A0FFA0";}s:25:"div.tbody div.flavor1 div";a:3:{s:16:"background-color";s:7:"#A0A0FF";s:11:"border-left";s:17:"1px solid #A0A0FF";s:12:"border-right";s:17:"1px solid #A0A0FF";}s:25:"div.tbody div.flavor2 div";a:3:{s:16:"background-color";s:7:"#FFA0A0";s:11:"border-left";s:17:"1px solid #FFA0A0";s:12:"border-right";s:17:"1px solid #FFA0A0";}s:25:"div.tbody div.flavor3 div";a:3:{s:16:"background-color";s:7:"#FF00FF";s:11:"border-left";s:17:"1px solid #FF00FF";s:12:"border-right";s:17:"1px solid #FF00FF";}s:15:"div.tbody input";a:2:{s:11:"padding-top";s:3:"3px";s:6:"height";s:4:"24px";}s:25:"div.tbody div.hilight div";a:3:{s:16:"background-color";s:7:"#d0d0d0";s:11:"border-left";s:17:"1px solid #d0d0d0";s:12:"border-right";s:17:"1px solid #d0d0d0";}s:18:"div.x6select table";a:2:{s:14:"border-spacing";s:1:"0";s:16:"background-color";s:7:"#ffffff";}s:38:"div.x6select table tbody tr.hilight td";a:1:{s:16:"background-color";s:7:"#d0d0d0";}s:30:"div.x6select table thead tr th";a:5:{s:10:"border-top";s:17:"1px solid #ffFFff";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #ffFFff";s:12:"border-right";s:17:"1px solid #909090";s:16:"background-color";s:7:"#f0f0f0";}s:10:"@dialogbox";a:2:{s:6:"border";s:17:"7px solid #4A79B5";s:16:"background-color";s:7:"#ffffff";}s:13:".x6modalblock";a:9:{s:7:"z-index";s:5:"10000";s:16:"background-color";s:7:"#000000";s:6:"cursor";s:4:"wait";s:7:"display";s:4:"none";s:8:"position";s:8:"absolute";s:3:"top";s:7:"-5000px";s:4:"left";s:7:"-5000px";s:5:"width";s:7:"20000px";s:6:"height";s:7:"20000px";}s:8:".x6modal";a:9:{s:8:"position";s:8:"absolute";s:7:"display";s:4:"none";s:7:"z-index";s:5:"10001";s:10:"border-top";s:17:"1px solid #ffFFff";s:13:"border-bottom";s:17:"1px solid #909090";s:11:"border-left";s:17:"1px solid #ffFFff";s:12:"border-right";s:17:"1px solid #909090";s:16:"background-color";s:7:"#d0d0d0";s:7:"padding";s:3:"3px";}s:11:".x6modaltop";a:2:{s:6:"height";s:4:"32px";s:11:"line-height";s:4:"32px";}s:13:".x6modaltop a";a:1:{s:15:"text-decoration";s:4:"none";}s:13:".x6modalinner";a:6:{s:10:"border-top";s:17:"1px solid #909090";s:13:"border-bottom";s:17:"1px solid #ffFFff";s:11:"b... [truncated message content] |
From: <ken...@us...> - 2009-01-28 19:42:03
|
Revision: 1169 http://andro.svn.sourceforge.net/andro/?rev=1169&view=rev Author: kendowns Date: 2009-01-28 19:42:00 +0000 (Wed, 28 Jan 2009) Log Message: ----------- three things 1) Hardcoded hack to only show 7 tabs in 'conventional' profile. This must be replaced with something that works better, but lets me go ahead with the one customer that has too many tabs. 2) Put the "x6exit" input onto all x6 pages. If you pass in &x6exit=Y, then when user hits ESC on the screen the window will close. 3) Modified HTML Form() command to put out enctype=multipart..., eventually to use for media uploads. Modified Paths: -------------- trunk/andro/lib/androX6.php Modified: trunk/andro/lib/androX6.php =================================================================== --- trunk/andro/lib/androX6.php 2009-01-28 19:40:07 UTC (rev 1168) +++ trunk/andro/lib/androX6.php 2009-01-28 19:42:00 UTC (rev 1169) @@ -36,6 +36,9 @@ # context from screen to screen. # $this->hld = aFromGp('hld_'); + + # If the x6exit variable was passed in, put it out + hidden('x6exit',gp('x6exit','N')); } # =================================================================== @@ -95,7 +98,7 @@ $row0 = aFromGP('x6v_'); $row1 = aFromgp('x6inp_'.$table_id.'_'); $row = array_merge($row0,$row1); - if(a($row,'skey',0)==0) unset($row['skey']); + if(arr($row,'skey',0)==0) unset($row['skey']); # KFD 12/20/08, prevent ui saves if dd does not allow them if(!isset($row['skey'])) { @@ -111,8 +114,15 @@ x6Error("Updates not allowed from this screen"); return; } - } + } + + # Add in values from parent + if(gp('tableIdPar',false)) { + $vals2 = $this->fetchParent(); + $row = array_merge($row,$vals2); + } + # KFD 12/8/08, More generalized code to allow for # inserts before or after a row. # @@ -306,12 +316,7 @@ $vals2 = array(); } else { - $ddpar = ddTable(gp('tableIdPar')); - $pks = $ddpar['pks']; - $stab = ddView(gp('tableIdPar')); - $skey = SQLFN(gp('skeyPar')); - $vals2 = SQL_OneRow("SELECT $pks FROM $stab WHERE skey = $skey"); - if(!$vals2) $vals2=array(); + $vals2 = $this->fetchParent(); $vals = array_merge($vals,$vals2); # KFD 12/27/08, if the sortdesc flag has been set on any @@ -619,7 +624,7 @@ foreach($dd['flat'] as $colname=>$colinfo) { if(strtolower($colinfo['automation_id'])=='queuepos') { $queuepos = $colname; - jqDocReady("u.bb.vgfSet('queuepos_$table_id','$colname')"); + jqDocReady("x6bb.fwSet('queuepos_$table_id','$colname')"); break; } } @@ -904,11 +909,17 @@ $tabKids = $detail->addTabs('kids_'.$table_id,$hempty,$options); $tabKids->ul->hp['xOffset'] = 2; $tab = $tabKids->addTab("Hide"); + $idx = 0; foreach($dd['fk_children'] as $child=>$info) { - # KFD 1/2/08. If x6display is 'none', skip it + # KFD 1/2/09. If x6display is 'none', skip it if(trim(arr($info,'x6display',''))=='none') continue; - $top->addTableController($child); + # KFD 1/28/09, Hardcoded hack to limit entries. + # Will have to come out eventually. + if($idx++ > 6) continue; + + $tc = $top->addTableController($child); + $tc->hp['x6tablepar'] = $table_id; $tab = $tabKids->addTab($info['description']); $tab->ap['x6tablePar'] = $table_id; $tab->ap['x6table' ] = $child; @@ -1044,6 +1055,16 @@ } } + function fetchParent() { + $ddpar = ddTable(gp('tableIdPar')); + $pks = $ddpar['pks']; + $stab = ddView(gp('tableIdPar')); + $skey = SQLFN(gp('skeyPar')); + $vals2 = SQL_OneRow("SELECT $pks FROM $stab WHERE skey = $skey"); + if(!$vals2) $vals2=array(); + return $vals2; + } + # Makes a generic grid. First created 11/3/08 so we can add # cells to it for a browseFetch and then pluck out the tbody html function gridGeneric(&$grid,$dd,$tabPar='',$vals2=array()) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-01-28 19:40:10
|
Revision: 1168 http://andro.svn.sourceforge.net/andro/?rev=1168&view=rev Author: kendowns Date: 2009-01-28 19:40:07 +0000 (Wed, 28 Jan 2009) Log Message: ----------- did some preliminary work for allowing uploads in x6 interfaces, but will not follow up until Release 1 is out the door. Modified Paths: -------------- trunk/andro/lib/androLib.php Modified: trunk/andro/lib/androLib.php =================================================================== --- trunk/andro/lib/androLib.php 2009-01-28 19:39:11 UTC (rev 1167) +++ trunk/andro/lib/androLib.php 2009-01-28 19:40:07 UTC (rev 1168) @@ -1344,8 +1344,10 @@ $form->hp['name'] = $name; $form->hp['method'] = $method; $form->hp['action'] = $action; + $form->hp['enctype']="multipart/form-data"; if($x6page <> '') { - $form->hp['action'].="?x6page=".$x6page; + $symbol = strpos($action,'?')===false ? '?' : '&'; + $form->hp['action'].=$symbol."x6page=".$x6page; } return $form; } @@ -2106,7 +2108,7 @@ $thead = html('thead',$this); $tr = html('tr',$thead); foreach($thvalues as $th) { - $tr->h('td',$th,$class); + $tr->h('th',$th,$class); } return $thead; } @@ -2838,7 +2840,7 @@ $input->hp['xClassRow'] = 0; $input->hp['xTabGroup'] = 'rowEdit'; $wrapper->addClass('cell_'.$colname); - if(!in_array($colinfo['type_id'],array('cbool','gender'))) { + if(!in_array($colinfo['type_id'],array('cbool','gender'))){ unset($input->hp['size']); } $wrapper->addChild($input); @@ -2934,6 +2936,11 @@ $this->colStyles['div.cell_'.$column_id.' input'] ="width: {$iWidth}px; $cssExtra"; } + else if($type_id = 'mime-f') { + $iWidth -= x6cssdefine('bodyfs','12px')*.67*20; + $this->colStyles['div.cell_'.$column_id.' input'] + ="width: {$iWidth}px; $cssExtra"; + } else if(!in_array($type_id,array('cbool','gender'))) { $this->colStyles['div.cell_'.$column_id.' input'] ="width: {$iWidth}px; $cssExtra"; @@ -3163,7 +3170,9 @@ } function noResults() { + return; $div = $this->dbody->h('div'); + $div->hp['id'] = $this->hp['x6table'].'_noresults'; $div->hp['style'] = 'text-align: center; padding-top: 20px'; $div->setHTML('<b>No results found</b>'); } @@ -3639,7 +3648,12 @@ ="javascript:x6inputs.viewClob(this,'$table_id','$column_id')"; return $input; } - if($type_id=='gender') { + if(trim($type_id)=='mime-f' && $x6) { + $input = html('input'); + $input->hp['type'] = 'file'; + $input->addClass('x6fileupload'); + } + elseif($type_id=='gender') { $input = html('select'); $option = html('option',$input); // this is a blank option $option = html('option',$input,'M'); @@ -4592,6 +4606,7 @@ case 'ssn': case 'ph12': case "gender": + case 'mime-f': if($clip>0 && strlen($v) > $clip) $v = substr($v,0,$clip); // KFD 9/10/07, one of the doctors wants all caps if(configGet('ALLCAPS')=='Y') { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-01-28 19:39:14
|
Revision: 1167 http://andro.svn.sourceforge.net/andro/?rev=1167&view=rev Author: kendowns Date: 2009-01-28 19:39:11 +0000 (Wed, 28 Jan 2009) Log Message: ----------- Several Changes: 1) When user hits ESC, if there is a widget id='x6exit' value 'Y', the window will close. This is good for having custom buttons on detail screens that send the user to a custom screen. When they are done they just hit ESC and they pop back to the original. 2) Fixed bug in conventional profile when editing children -- pk values of parents were not getting into the insert commands. 3) Cleaned up some event handling on tabShow to use the 'objectFocus' event. Modified Paths: -------------- trunk/andro/clib/x6.js Modified: trunk/andro/clib/x6.js =================================================================== --- trunk/andro/clib/x6.js 2009-01-27 21:53:09 UTC (rev 1166) +++ trunk/andro/clib/x6.js 2009-01-28 19:39:11 UTC (rev 1167) @@ -722,18 +722,23 @@ var exitApproved = x6bb.fwGet('exitApproved',false); x6.console.log("Key dispatch, ESC, exitapproved: ",exitApproved); if(exitApproved) { - x6.console.log("exit for ESC was approved, going to menu"); - setTimeout( - function() { - var x6page_prior=x6.p(x6.byId('x6page'),'value'); - var x6mod_prior =x6.p(x6.byId('x6module'),'value'); - var str = '?x6page=menu' - +'&x6page_prior='+x6page_prior - +'&x6mod_prior='+x6mod_prior; - window.location.replace(str); - } - ,10 - ); + x6.console.log("exit for ESC was approved"); + if($('#x6exit').val()=='Y') { + window.close(); + } + else { + setTimeout( + function() { + var x6page_prior=x6.p(x6.byId('x6page'),'value'); + var x6mod_prior =x6.p(x6.byId('x6module'),'value'); + var str = '?x6page=menu' + +'&x6page_prior='+x6page_prior + +'&x6mod_prior='+x6mod_prior; + window.location.replace(str); + } + ,10 + ); + } } } else { @@ -4317,22 +4322,12 @@ self['receiveEvent_reqEditRow_'+table] = function(skey) { x6.console.group("tableController reqEditRow "+this.zTable+", "+skey); var skeynow = this.zSkey; - // KFD 1/23/09. Big change. Table Controller must not - // decide what to do, must let the UI elements - // decide, because they may have to change - // tabs, set focus, etc. - //if(skeynow == skey) { - // x6.console.log("Request to edit same row, no action"); - //} - //else { - var result = this.saveOk(); - x6bb.fwSet('lastSave_'+this.zTable,result); - if(result!='fail') { - x6events.fireEvent('uiEditRow_'+this.zTable,skey); - this.zSkey = skey; - } - //} - // KFD 1/23/09 (END) + var result = this.saveOk(); + x6bb.fwSet('lastSave_'+this.zTable,result); + if(result!='fail') { + x6events.fireEvent('uiEditRow_'+this.zTable,skey); + this.zSkey = skey; + } x6.console.groupEnd(); return true; } @@ -4432,6 +4427,16 @@ x6.json.addParm('x6action','save'); x6.json.addParm('x6v_skey',this.zSkey); x6.json.inputs(jq); + + // If we have a parent assigned, add that and the skey + var tp = $(this).prop('x6tablepar',''); + if(tp != '') { + var skeypar = x6bb.fwGet('skey_'+tp+'_'+this.zTable); + x6.console.log("Setting parent table skey: "+tp+" "+skeypar); + x6.json.addParm('tableIdPar',tp); + x6.json.addParm('skeyPar',skeypar); + } + // Look for an "skey after" to send back var queuepos = x6bb.fwGet('queuepos_'+this.zTable,false); if(queuepos) { @@ -4506,6 +4511,7 @@ x6.json.addParm('json',1); if(x6.json.execute()) { x6events.fireEvent('uiDelRow_'+table,skey); + this.zSkey = -1; } } } @@ -5060,6 +5066,11 @@ if(id!=this.id) { this.keyboardOff(); x6inputs.objectFocusBlur(this.id); + + if(this.x6profile=='grid') { + x6events.fireEvent('buttonsNew_'+this.zTable,false); + x6events.fireEvent('buttonsEdit_'+this.zTable,false); + } } // If it IS us, turn everything on, and set // the bulletin board. But if we already have @@ -5069,10 +5080,12 @@ x6bb.fwSet('objectFocus',id); this.keyboardOn(); - x6events.fireEvent('buttonsNew_'+this.zTable,true); if(this.x6profile == 'grid') { x6events.fireEvent('key_DownArrow','DownArrow'); + if($(this).prop('uiEditRow','N')=='Y') { + x6events.fireEvent('buttonsNew_'+this.zTable,true); + } } if(this.x6profile == 'conventional') { x6inputs.objectFocusFocus(this.id,':input[id^=search]'); @@ -5201,7 +5214,7 @@ // Send a message and get lost this.zSkey = 0; - x6events.fireEvent('buttonsOnEdit_'+this.zTable); + x6events.fireEvent('buttonsEdit_'+this.zTable,true); x6grid.removeHighlight(this.zTable); x6.console.log('New row created, ready to edit'); x6.console.groupEnd(); @@ -5774,8 +5787,13 @@ self.goRow = function(ordinal) { var row = $(this).find('.tbody > div')[ordinal]; var skey= this.skeyForRow(row); - x6.console.log("goRow for ",ordinal,' has picked skey ',skey); - this.goRowBySkey(skey); + if(skey==undefined || skey=='') { + x6.console.log('goRow for '+ordinal+' found no skey, no action'); + } + else { + x6.console.log("goRow for ",ordinal,' has picked skey ',skey); + this.goRowBySkey(skey); + } } self.goRowJq = function(jqRow) { var skey = this.skeyForRow(jqRow[0]); @@ -5985,65 +6003,51 @@ // IE/Firefox Event handling. This event comes from // jQuery so we can trust it is ok. tabsShow: function(tabsUl,event,ui) { - x6.console.group("x6tabs tabsShow"); + x6.console.group("x6tabs tabsShow "+tabsUl.id+", "+ui.tab.text); var tabs = tabsUl; var profile = x6.p(tabs,'x6profile',''); - // A "kids" profile must do slideup, and get busy turning - // buttons on and off for other tabs. + // A "kids" profile must do slideup, and get + // busy setting object focus if(profile=='kids') { // disable all other tabs until we are finished, this is // the easiest way to prevent user from clicking on some // other tab while processing is going on. tabs.disableAll([ui.index]); - // First job for kids is to turn parent stuff on/off + // If we set objectfocus to '--null--', we turn off events + // for all objects, which is good, user can't go clicking + // things during animations. But if they clicked 'hide' + // we turn the parent back on. var tablePar = x6.p(tabs,'x6parentTable'); if(ui.index > 0) { - x6events.fireEvent('buttonsOff_'+tablePar,true); + x6events.fireEvent('objectFocus','--null--'); } else { - x6events.fireEvent('buttonsOn_'+tablePar,true); + x6events.fireEvent('objectFocus','ddisp_'+tablePar); } - // Next job is to turn previous tab's buttons on/off. - // Find the first item with a tableid property and - // assume that is the culprit. - var previousTabId = x6.p(tabs,'zCurrentId',''); - if(previousTabId != '') { - var jqTable = $('#'+previousTabId+' [xtableid]:first'); - var oldTable = x6.p(jqTable[0],'xTableId',''); - x6events.fireEvent('buttonsOff_'+oldTable,true); - $('#'+previousTabId+' div[x6plugin=x6grid]').each( - function() { this.keyboardOff(); } - ); - } - var topPane = x6.p(tabs,'x6slideUp'); var tpi = x6.p(tabs,'x6slideUpInner'); x6tabs.slideUp(tabsUl,event,ui,topPane,tpi); } - /* - * Nice little trick, always set focus to first item - * - */ - var id = $(ui.panel).attr('x6ObjectFocusId'); - if( id != '') { - x6events.fireEvent('objectFocus',id); - } else { - // this is a fallback thing, you should really - // assign an object in the tab to get focus. - var str = '#' + ui.panel.id; - str+=' :input:not([disabled]):first'; - x6.jqSetFocus(str); + // Set focus to the first object if it has been named + var id = $(ui.panel).attr('x6ObjectFocusId'); + if( id != '') { + x6events.fireEvent('objectFocus',id); + } + else { + // this is a fallback thing, you should really + // assign an object in the tab to get focus. + var str = '#' + ui.panel.id; + str+=' :input:not([disabled]):first'; + x6.jqSetFocus(str); + } } - /* - * Save the id and index of the newly shown tab - * - */ + // Save some state information tabs.zCurrentId = ui.panel.id; tabs.zCurrentIndex = ui.index; x6.console.groupEnd(); @@ -6055,7 +6059,7 @@ var currentChild = obj.currentChild var newChild = ui.panel.id; - // if UI.index = 0, they clicked hide. Make the + // if UI.index = 0, they clicked hide. if(ui.index==0) { if(currentChild!='*') { var newHeight = $('#'+topPane).height()+350; @@ -6132,7 +6136,8 @@ var skeyDid = x6bb.fwGet('skey_'+tablePar+'_'+table,0); if(skeyDid==skeyPar) { tabsUl.enableAll(); - x6events.fireEvent('buttonsOn_'+table,true); + x6events.fireEvent('objectFocus','grid_'+table); + //x6events.fireEvent('buttonsOn_'+table,true); } else { var json = new x6JSON( 'x6page' ,table ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-01-27 22:42:31
|
Revision: 1164 http://andro.svn.sourceforge.net/andro/?rev=1164&view=rev Author: kendowns Date: 2009-01-27 21:39:36 +0000 (Tue, 27 Jan 2009) Log Message: ----------- Corrected a link on the x_welcome.php page that got stranded in the docs purge. Modified Paths: -------------- trunk/andro/application/x_welcome.php Modified: trunk/andro/application/x_welcome.php =================================================================== --- trunk/andro/application/x_welcome.php 2009-01-27 21:28:44 UTC (rev 1163) +++ trunk/andro/application/x_welcome.php 2009-01-27 21:39:36 UTC (rev 1164) @@ -1,7 +1,29 @@ <?php class x_welcome extends x_table2 { function main() { + /* FUTURE X6 VERSION OF NODE MANAGER ?> + <h1>Node Manager Upgrade Required</h1> + + <p>The new version of the Node Manager uses the "x6" + interface to provide a richer experience. Please click + the link below to upgrade your Node Manager. Once the + upgrade is complete, log out and back in. + </p> + + <p><a href="javascript:Popup('index.php?gp_page=a_builder&gp_out=none&x2=1&txt_application=andro','Build')" + >Upgrade Node Manager Now</a>.</p> + + <p><a href="?st2logout=1">Logout After Upgrade</a>.</p> + + <?php + return; + */ + # <------- EARLY RETURN. + # KFD 1/10/08, The old x_welcome screen is not used anymore, + # we have the new 'cpanel' now in x6. + # =============================================================== + ?> <h1>Welcome to the Andromeda Node Manager</h1> <?php @@ -62,7 +84,7 @@ If you want to start programming a new application right away, <a target="_blank" href= - "http://www.andromeda-project.org/pages/cms/Starting+A+New+Application" + "http://www.andromeda-project.org/pages/cms/creating+an+application.html" >The instructions are here</a>, or you can just <a href="?gp_page=applications&gp_mode=ins">define a new application here.</a> <br/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-01-27 22:42:20
|
Revision: 1165 http://andro.svn.sourceforge.net/andro/?rev=1165&view=rev Author: kendowns Date: 2009-01-27 21:52:35 +0000 (Tue, 27 Jan 2009) Log Message: ----------- Sourceforge bug fixes Added Paths: ----------- dev-releases/2009.01.27/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-01-27 22:42:15
|
Revision: 1166 http://andro.svn.sourceforge.net/andro/?rev=1166&view=rev Author: kendowns Date: 2009-01-27 21:53:09 +0000 (Tue, 27 Jan 2009) Log Message: ----------- Rollup Added Paths: ----------- releases/2009.01.27/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-01-27 21:28:46
|
Revision: 1163 http://andro.svn.sourceforge.net/andro/?rev=1163&view=rev Author: kendowns Date: 2009-01-27 21:28:44 +0000 (Tue, 27 Jan 2009) Log Message: ----------- Made property and object definitions case insenstive, made project name case insensitive. Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2009-01-26 23:16:46 UTC (rev 1162) +++ trunk/andro/application/androBuild.php 2009-01-27 21:28:44 UTC (rev 1163) @@ -199,13 +199,16 @@ // it otherwise // $cnx = - " dbname=".$parm["APP"]. + " dbname=".strtolower($parm["APP"]). " user=".$parm["UID"]. " password=".$pw; $con2 = pg_connect($cnx,PGSQL_CONNECT_FORCE_NEW); if (!$con2) { $this->LogEntry("Database does not exist, creating it now."); - pg_query($GLOBALS["dbconna"],"create database ".$parm["APP"]); + # KFD 1/27/09, case insensitivity + pg_query($GLOBALS["dbconna"] + ,"create database ".strtolower($parm["APP"]) + ); $con2 = pg_connect($cnx,PGSQL_CONNECT_FORCE_NEW); if (!$con2) { @@ -218,7 +221,7 @@ // Load driver and establish connection // Wow that comment "load driver" is from the java version! $cnx = - " dbname=".$parm["APP"]. + " dbname=".strtolower($parm["APP"]). " user=".$parm["UID"]. " password=".$pw; $this->LogEntry(preg_replace('/password=.*/','password=***',$cnx)); @@ -999,6 +1002,9 @@ $retval = true; foreach ($arr as $keyword=>$object) { + # KFD 1/27/09, put all keywords into lowercase + $keyword = strtolower($keyword); + // Ignore prop/value pairs at even-numbered rows if (! is_array($object)) { continue; } @@ -1033,6 +1039,8 @@ // Whatever is not a child object is a property/value pair foreach ($properties as $colname=>$colvalue) { + # KFD 1/27/09, case insensitivity + $colname = strtolower($colname); if (! is_array($colvalue)) { $row[$colname] = $colvalue; if ($keystub <> "" && $colname == "__keystub") { @@ -7731,15 +7739,7 @@ ); if($count[0]['cnt']==0) { $this->LogEntry("Adding a row to $table_id"); - if($table_id == 'configfw') { - $this->SQL("insert into $table_id (skey_quiet) values ('Y')"); - } - else { - $this->SQL( - "insert into $table_id (description_comp,skey_quiet) - values ('x','Y')" - ); - } + $this->SQL("insert into $table_id (skey_quiet) values ('Y')"); } } @@ -8707,19 +8707,19 @@ foreach($colvals as $name=>$value) { if(!isset($this->utabs[$table]['flat'][$name])) { # Don't stop on our hardcoded meta values - if($name=='__keystub') continue; - if($name=='uicolseq') continue; - if($name=='srcfile') continue; - if($name=='auto') continue; - if($name=='columns' && $value=='values') continue; + if($name=='__keystub') continue; // generated + if($name=='uicolseq') continue; // generated + if($name=='srcfile') continue; // generated + if($name=='auto') continue; // shortcut, gets parsed + if($name=='columns') continue; // for content if($name=='suffix' && $table=='perm_cols') continue; if($name=='prefix' && $table=='perm_cols') continue; - if($table=='colchainargs') continue; - if($table=='colchaintests') continue; - if($table=='colchains') continue; - if($table=='tabchainargs') continue; - if($table=='tabchaintests') continue; - if($table=='tabchains') continue; + if($table=='colchainargs') continue; // derived tables + if($table=='colchaintests') continue; // derived tables + if($table=='colchains') continue; // derived tables + if($table=='tabchainargs') continue; // derived tables + if($table=='tabchaintests') continue; // derived tables + if($table=='tabchains') continue; // derived tables x_EchoFlush(""); @@ -9950,7 +9950,7 @@ return false; } } - + // clear the log // no need to depend on external system calls $handle = fopen($pLogPath, 'w'); @@ -9998,6 +9998,11 @@ } $parm = &$GLOBALS["parm"]; + # KFD 1/27/09, convert app and instance to lower case + $parm['APP'] = strtolower($parm['APP']); + if(isset($parm['INST'])) $parm['INST'] = strtolower($parm['INST']); + + if($this->zzArraySafe($parm,'ROLE_LOGIN','')=='') { $parm['ROLE_LOGIN']='Y'; } @@ -10013,7 +10018,7 @@ $this->LogEntry(" ANDROMEDA CLIENT UPGRADE PROGRAM "); $this->LogEntry("==================================================="); $this->LogEntry("Starting Log at ".date("r")); - $this->LogEntry("This program: ".__FILE__); + $this->LogEntry("This program: ".__FILE__); $this->LogEntry("==================================================="); $this->LogEntry("Parameters: "); $this->LogEntry("Application Code : ". $parm["APP"]); @@ -10022,9 +10027,9 @@ $this->LogEntry("Application Description: ". $parm["APPDSC"]); $this->LogEntry("Node Public Directory : ". $parm["DIR_PUBLIC"]); $this->LogEntry("App Public SubDir : ". $parm["DIR_PUBLIC_APP"]); - $this->LogEntry("App Public Directory : ". $parm["DIR_PUB"]); - $this->LogEntry("Library Symlink Source : ". $this->zzArray($parm,"DIR_LINK_LIB")); - $this->LogEntry("Application Symlink Src: ". $this->zzArray($parm,"DIR_LINK_APP")); + $this->LogEntry("App Public Directory : ". $parm["DIR_PUB"]); + $this->LogEntry("Library Symlink Source : ". $this->zzArray($parm,"DIR_LINK_LIB")); + $this->LogEntry("Application Symlink Src: ". $this->zzArray($parm,"DIR_LINK_APP")); $this->LogEntry("Database Server : ". $parm["DBSERVER_URL"]); $this->LogEntry("Connecting as user : ". $parm["UID"]); $this->LogEntry("Password : *** NOT DISPLAYED ***"); @@ -10032,8 +10037,8 @@ $this->LogEntry("Bootstrap Dictionary : ". $parm["SPEC_BOOT"]); $this->LogEntry("Universal Dictionary : ". $parm["SPEC_LIB"]); $this->LogEntry("Application Dictionary : ". $parm["SPEC_LIST"]); - $this->LogEntry("ROLE Logins allowed : ". $parm['ROLE_LOGIN']); - $this->LogEntry("Hardened PW Security : ". $parm['FLAG_PWMD5']); + $this->LogEntry("ROLE Logins allowed : ". $parm['ROLE_LOGIN']); + $this->LogEntry("Hardened PW Security : ". $parm['FLAG_PWMD5']); $this->LogEntry("Log File: ".$pLogFile); $this->LogEntry("---------------------------------------------------"); $parm["DIR_WORKING"]=dirname(__FILE__); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |