From: <ken...@us...> - 2008-07-22 20:13:43
|
Revision: 470 http://andro.svn.sourceforge.net/andro/?rev=470&view=rev Author: kendowns Date: 2008-07-22 20:13:53 +0000 (Tue, 22 Jul 2008) Log Message: ----------- Fixed reporting glitch in validating menu entries and modules. Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-07-22 13:21:54 UTC (rev 469) +++ trunk/andro/application/androBuild.php 2008-07-22 20:13:53 UTC (rev 470) @@ -1232,14 +1232,14 @@ $errors++; } $sql = - "SELECT menu_page FROM zdd.uimenu + "SELECT menu_page,module FROM zdd.uimenu WHERE NOT EXISTS ( SELECT module FROM zdd.modules WHERE module=zdd.uimenu.module )"; $results=$this->SQLRead($sql); while ($row = pg_fetch_array($results)) { $this->LogEntry(""); - $this->LogEntry("ERROR >> Table ".$row["table_id"]." refers to "); + $this->LogEntry("ERROR >> Table ".$row["menu_page"]." refers to "); $this->LogEntry("ERROR >> undefined module: ".$row['module']); $errors++; } @@ -8578,7 +8578,7 @@ ,t.nomenu,'N' as menuins ,t.linknew,t.linksearch ,'' as menu_parms - ,'N' as uix2 + ,t.uix2 as uix2 FROM zdd.modules m JOIN zdd.tables t ON t.module = m.module WHERE t.nomenu <> 'Y' This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2008-07-28 14:02:34
|
Revision: 475 http://andro.svn.sourceforge.net/andro/?rev=475&view=rev Author: kendowns Date: 2008-07-28 14:02:42 +0000 (Mon, 28 Jul 2008) Log Message: ----------- Fix pk_change feature for PROMAT project Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-07-22 20:26:10 UTC (rev 474) +++ trunk/andro/application/androBuild.php 2008-07-28 14:02:42 UTC (rev 475) @@ -3688,11 +3688,25 @@ $tkid = trim($ukid['table_id']); $sfx = trim($ukid['suffix']); $pfx = trim($ukid['prefix']); + + # Major addition 6/28/08, originally missed. + # we must add the non-changing pk columns + # to the where clause! + $aWhere = array(); + foreach($keys as $key2) { + if($key2 == $key) continue; + $aWhere[] = "$pfx$key2$sfx = old.$key2"; + } + $eWhere = count($aWhere)>0 + ? "AND ".implode("\n AND ",$aWhere) + : ""; + $s1="\n" ." -- 3100 PK Change Cascade\n" ." IF new.$key <> old.$key THEN\n" ." UPDATE $tkid SET $pfx$key$sfx = new.$key\n" - ." WHERE $pfx$key$sfx = old.$key;\n" + ." WHERE $pfx$key$sfx = old.$key\n" + ." ".$eWhere.";\n" ." END IF;\n" ." -- 3100 END\n"; $this->SpecDDL_TriggerFragment( @@ -7287,7 +7301,7 @@ $this->SQL("insert into $table_id (skey_quiet) values ('Y')"); } } - + # Now run the load $this->DBB_LoadContent(false,$this->content,"",""); return true; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2008-08-08 19:31:08
|
Revision: 503 http://andro.svn.sourceforge.net/andro/?rev=503&view=rev Author: kendowns Date: 2008-08-08 19:31:16 +0000 (Fri, 08 Aug 2008) Log Message: ----------- Allow multiple fetch_dom columns to same child table. Normal syntax still works which is: column xxxx: auto: fetch_dom, child_table.child_column ...which will pick the first dominant column it finds in the table. If there are multiple dominant columns in the child table you can now do this: column xxxx: auto: fetch_dom, child_table.child_column:dominant_column And it will find the row based on "dominant_column" and pick the value from there. Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-08-02 16:13:21 UTC (rev 502) +++ trunk/andro/application/androBuild.php 2008-08-08 19:31:16 UTC (rev 503) @@ -4704,8 +4704,17 @@ $ads = array(); foreach($qps as $qp) { list($tab_chd,$col_chd) = explode('.',$qp['auto_formula']); + + # KFD 8/7/08, split $col_chd to see if they named + # a dominant column to use + $dc = explode(':',$col_chd); + $col_chd = $dc[0]; + $col_dom = count($dc)==2 ? $dc[1] : ''; + $ads[$tab_chd][$qp['table_id']][] = array( - 'col_chd'=>$col_chd,'col_par'=>$qp['column_id'] + 'col_chd'=>$col_chd + ,'col_dom'=>$col_dom + ,'col_par'=>$qp['column_id'] ); } @@ -4729,42 +4738,57 @@ foreach($adss1 as $tab_par=>$adss2) { // Now convert the pairs into SQL comparisons $compares = ''; + + // Fetch the dominant column + # KFD 8/7/08, Move this up + $col_domdef = $dom[$tab_chd][$tab_par]; + + # KFD 8/7/08. Big change, make one command for each + # fetch_dom. This is less efficient but + # allows for multiple fetch_dom and falls + # back to only one command for only + # one fetch_dom column foreach($adss2 as $adss3) { + $pairs = array(); $col_chd = $adss3['col_chd']; $col_par = $adss3['col_par']; + # KFD 8/7/08, override dominant if explicitly assigned + if($adss3['col_dom']<>'') { + $col_dom = $adss3['col_dom']; + } + else { + $col_dom = $col_domdef; + } $pairs[] = "$col_par = new.$col_chd"; $compares[] = "new.$col_chd <> old.$col_chd"; + + // Get the SQL Match + $match = $this->ufks[$tab_chd.'_'.$tab_par.'_']['cols_match']; + $match = str_replace('chd.','new.' ,$match); + $match = str_replace('par.',"$tab_par.",$match); + $SWhere = $match; + + // Create the insert.... + $sq="\n" + ." --- 4001 AGGREGATE DOMINANT upsaves\n" + ." IF new.$col_dom = ##Y## THEN\n" + ." UPDATE $tab_par SET ".implode("\n ,",$pairs)."\n" + ." WHERE $SWhere; \n" + ." END IF;\n"; + $this->SpecDDL_TriggerFragment($tab_chd,"INSERT","AFTER" ,"4002",$sq); + + // Create the update... + $sq="\n" + ." --- 4001 AGGREGATE DOMINANT upsaves\n" + ." IF new.$col_dom = ##Y## AND old.$col_dom = ##N## \n" + ." OR ( new.$col_dom = ##Y## \n" + ." AND ( (".implode( ")\n OR (",$compares)." ) " + .")) THEN\n" + ." UPDATE $tab_par SET ".implode("\n ,",$pairs)."\n" + ." WHERE $SWhere; \n" + ." END IF;\n"; + $this->SpecDDL_TriggerFragment($tab_chd,"UPDATE","AFTER" ,"4001",$sq); } - - // Get the SQL Match - $match = $this->ufks[$tab_chd.'_'.$tab_par.'_']['cols_match']; - $match = str_replace('chd.','new.' ,$match); - $match = str_replace('par.',"$tab_par.",$match); - $SWhere = $match; - - // Fetch the dominant column - $col_dom = $dom[$tab_chd][$tab_par]; - - // Create the insert.... - $sq="\n" - ." --- 4001 AGGREGATE DOMINANT upsaves\n" - ." IF new.$col_dom = ##Y## THEN\n" - ." UPDATE $tab_par SET ".implode("\n ,",$pairs)."\n" - ." WHERE $SWhere; \n" - ." END IF;\n"; - $this->SpecDDL_TriggerFragment($tab_chd,"INSERT","AFTER" ,"4002",$sq); - - // Create the update... - $sq="\n" - ." --- 4001 AGGREGATE DOMINANT upsaves\n" - ." IF new.$col_dom = ##Y## AND old.$col_dom = ##N## \n" - ." OR ( new.$col_dom = ##Y## \n" - ." AND ( (".implode( ")\n OR (",$compares)." ) " - .")) THEN\n" - ." UPDATE $tab_par SET ".implode("\n ,",$pairs)."\n" - ." WHERE $SWhere; \n" - ." END IF;\n"; - $this->SpecDDL_TriggerFragment($tab_chd,"UPDATE","AFTER" ,"4001",$sq); } } return true; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2008-08-20 16:34:45
|
Revision: 563 http://andro.svn.sourceforge.net/andro/?rev=563&view=rev Author: kendowns Date: 2008-08-20 16:34:52 +0000 (Wed, 20 Aug 2008) Log Message: ----------- MINIFICATION IN BUILD: Currently the system *copies* a JS file straight over to a new name, "androLib.js.mjs", but does not minify it. This turns out to be actually very fast. Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-08-20 14:46:28 UTC (rev 562) +++ trunk/andro/application/androBuild.php 2008-08-20 16:34:52 UTC (rev 563) @@ -81,8 +81,10 @@ $retval = $retval && $this->LogStart(); $retval = $retval && $this->DB_Connect(); $retval = $retval && $this->FS_Prepare(); + + // If we can read files, minify + $retval = $retval && $this->JSMinify(); - // If we passed most basic, we prepare the database // by loading stored procedures and making the zdd // schema to use during build. @@ -134,6 +136,7 @@ // build scripts may alter configs, so write them out last $retval = $retval && $this->CodeGenerate_config(); + $this->DB_Close(); $this->LogClose($retval,$ts); $GLOBALS['retval']=$retval; @@ -8779,6 +8782,72 @@ } // ========================================================== +// Pre-minify JS Routines +// ========================================================== +function jsMinify() { + $this->logStage("Minifying JS Files in clib"); + + require 'jsmin-1.1.0.php'; + require 'class.JavaScriptPacker.php'; + + #$dirTop = $GLOBALS['parm']['DIR_PUB'].$GLOBALS['parm']['DIR_PUBLIC_APP']; + $dirTop = $GLOBALS['parm']['DIR_PUB']; + $dirCLib= $dirTop.'clib/'; + $dirALib= $dirTop.'appclib/'; + + $this->jsMinifyDir($dirCLib); + $this->jsMinifyDir($dirALib); +} + +function jsMinifyDir($dir) { + $this->logEntry("Examining ".$dir); + $files = scandir($dir); + foreach($files as $file) { + if(substr($file,-3)<>'.js') continue; + $this->logEntry("Examining File: "); + $this->logEntry(" ".$dir.$file); + + $md5 = md5(file_get_contents($dir.$file)); + $fMarker = $dir.$file.".$md5.mjs"; + $fMin = $dir.$file.".mjs"; + if(file_exists($fMarker) && file_exists($fMin)) { + $this->logEntry(' -- Minified File and Marker exist, no action'); + } + else { + $this->logEntry(" -- Will create marker:"); + $this->logEntry(" ".$fMarker); + + # Remove all markers + foreach($files as $filedel) { + if(substr($filedel,0,strlen($file))==$file) { + if(substr($filedel,-4)=='.mjs') { + $this->logEntry(" -- Removing previous marker: "); + $this->logEntry(" ".$dir.$filedel); + unlink($dir.$filedel); + } + } + } + # Create the new marker + file_put_contents($fMarker,'marker'); + + + $this->logEntry(" -- Will create file "); + $this->logEntry(" ".$dir.$fMin); + + # Now minify the file + $script = file_get_contents($dir.$file); + #$packer = new JavaScriptPacker($script, 'Normal', true, false); + #$packed = $packer->pack(); + #$packed.=JSMin::minify($script); + #file_put_contents($fMin, $packed); + copy($dir.$file,$fMin); + + } + } +} + + +// ========================================================== // Database Access Routines // ========================================================== function SQLRead($sqlText,$noReport=false) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2008-08-20 16:37:50
|
Revision: 566 http://andro.svn.sourceforge.net/andro/?rev=566&view=rev Author: kendowns Date: 2008-08-20 16:37:59 +0000 (Wed, 20 Aug 2008) Log Message: ----------- Rem'd out the call to the minification routine, since it is just copying right now. Will put it back in when we are happy with pack/minify process. Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-08-20 16:37:13 UTC (rev 565) +++ trunk/andro/application/androBuild.php 2008-08-20 16:37:59 UTC (rev 566) @@ -82,8 +82,10 @@ $retval = $retval && $this->DB_Connect(); $retval = $retval && $this->FS_Prepare(); - // If we can read files, minify - $retval = $retval && $this->JSMinify(); + // If we can read files, minify. Turn this back on if + // we get a more foolproof minify/pack program that + // always reduces. + #$retval = $retval && $this->JSMinify(); // If we passed most basic, we prepare the database // by loading stored procedures and making the zdd This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-01-24 17:45:46
|
Revision: 1144 http://andro.svn.sourceforge.net/andro/?rev=1144&view=rev Author: kendowns Date: 2009-01-24 17:45:37 +0000 (Sat, 24 Jan 2009) Log Message: ----------- Skeleton Files! Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2009-01-23 23:33:36 UTC (rev 1143) +++ trunk/andro/application/androBuild.php 2009-01-24 17:45:37 UTC (rev 1144) @@ -9484,7 +9484,7 @@ function FS_PrepareCheck() { $this->LogStage("Confirming server has proper file permissions"); $grp = $this->ShellWhoAmI(); - global $parm; + global $parm; $app = $GLOBALS["parm"]["APP"]; $scn = "/tmp/andro_fix_$app.sh"; @@ -9681,7 +9681,34 @@ `rm $dir_pubx/htaccess`; } - return true; + # KFD 1/24/09, copy any skeleton files found if not + # an instance + if(!isset($parm['IVER'])) { + $this->LogEntry(""); + $this->LogEntry("This is not an instance, looking for skeleton files"); + # Pull all files named "skeleton" out of the andro library + $raw = scandir($dirl.'lib/'); + foreach($raw as $onefile) { + if(substr($onefile,0,9)<>'skeleton.') continue; + $filedest = substr($onefile,9); + if($filedest=='dd.yaml') + $filedest = $GLOBALS["parm"]["APP"].".dd.yaml"; + if(file_exists("$dir_pubx/application/$filedest")) { + $this->LogEntry( + " -> File $filedest is already in application, no action" + ); + } + else { + $this->LogEntry( + " -> Creating $filedest from skeleton file" + ); + $fc = file_get_contents($dirl."lib/$onefile"); + file_put_contents("$dir_pubx/application/$filedest",$fc); + } + } + } + + return true; } function FSCopyTree($src,$tgt,$name) { @@ -9835,8 +9862,10 @@ fclose($FILEOUT); } +function fs_Skeleton_copy($src,$dst) { + +} - // ========================================================== // Wrappers to PHP functions. The general idea is to wrap // anything that needs error handling. The idea is *NOT* to This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dor...@us...> - 2009-03-24 02:11:22
|
Revision: 1331 http://andro.svn.sourceforge.net/andro/?rev=1331&view=rev Author: dorgan1983 Date: 2009-03-24 02:11:19 +0000 (Tue, 24 Mar 2009) Log Message: ----------- slight mod so that file is truncated if rewritten but clause was added for only writing/creating file when it doesnt exist because user might add custom rewrite rules...we should add a way to create custom rewrite rules to the YAML. Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2009-03-24 01:49:11 UTC (rev 1330) +++ trunk/andro/application/androBuild.php 2009-03-24 02:11:19 UTC (rev 1331) @@ -10073,15 +10073,12 @@ if ($changequotes) { $text = str_replace("#","\"",$text); } - // Might have to check file line by line in - // the future for $text and write if doesnt exist + $text = $text ."\r\n"; if ( !is_file( $file ) ) { - $text = $text ."\r\n"; - // DO 3-23-2009 Changed to write only mode - // Since apache is currently using the .htacess file - $FILEOUT = fopen( $file , 'a' ); - fwrite($FILEOUT,$text); - fclose($FILEOUT); + // DO 3-23-2009 Changed mode + $FILEOUT = fopen( $file , 'w+' ); + fwrite($FILEOUT,$text); + fclose($FILEOUT); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2008-09-07 02:32:35
|
Revision: 617 http://andro.svn.sourceforge.net/andro/?rev=617&view=rev Author: kendowns Date: 2008-09-07 02:32:46 +0000 (Sun, 07 Sep 2008) Log Message: ----------- Slight mods to log entries for new columns Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-09-05 16:19:39 UTC (rev 616) +++ trunk/andro/application/androBuild.php 2008-09-07 02:32:46 UTC (rev 617) @@ -6213,6 +6213,8 @@ $changes = array(); while ($row = pg_fetch_array($results)) { if($row['xfate']=='N') { + $this->LogEntry(" Adding column ".$row['column_id'].' as ' + .$row['formula']); $changes[] = " ADD ".$row["column_id"]." ".$row["formula"]; $newcols[]=$row["column_id"]; } @@ -6220,7 +6222,7 @@ $changes[] ="ALTER COLUMN ".$row["column_id"] ." TYPE ".$row["formula"]; - $this->LogEntry("Altering column ".$row['column_id'].' to ' + $this->LogEntry(" Altering column ".$row['column_id'].' to ' .$row['formula'].' from '.$row['formula_r']); } @@ -9759,6 +9761,7 @@ } + // ========================================================================= // End of Class Definition // ========================================================================= This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2008-09-11 02:40:26
|
Revision: 651 http://andro.svn.sourceforge.net/andro/?rev=651&view=rev Author: kendowns Date: 2008-09-11 02:40:37 +0000 (Thu, 11 Sep 2008) Log Message: ----------- Allowed defautl values for dtime types by adding a case to SQL_FormatLiteral Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-09-11 02:39:49 UTC (rev 650) +++ trunk/andro/application/androBuild.php 2008-09-11 02:40:37 UTC (rev 651) @@ -8946,9 +8946,10 @@ case "vchar": case "text": case "cbool": - case 'ssn': - case 'ph12': - case "gender": + case 'dtime': + case 'ssn': + case 'ph12': + case "gender": $retval = $q.trim($val).$q; break; case "int": This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2008-09-11 21:36:02
|
Revision: 655 http://andro.svn.sourceforge.net/andro/?rev=655&view=rev Author: kendowns Date: 2008-09-11 21:36:12 +0000 (Thu, 11 Sep 2008) Log Message: ----------- Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-09-11 03:56:44 UTC (rev 654) +++ trunk/andro/application/androBuild.php 2008-09-11 21:36:12 UTC (rev 655) @@ -3829,18 +3829,31 @@ // The EMPTY clause determines what to do if empty. // Normally that is an error, but the "Allow_empty" flag - // gives 'em a pass. Notice the HUGE ASSUMPTION that - // allow empty has a single-column key. + // gives 'em a pass. + // KFD 9/11/08, this used to ASSUME a single-column key, + // now we allow multi-column keys // if ($ufk["allow_empty"] == "Y") { - $chd = $chdlist[0]; - $chd_type = $this->utabs[$ufk["table_id_chd"]]["flat"][$chd]["formshort"]; - //$this->logEntry("Doing $chd_type for $chd"); - $chd_blank= ($chd_type=='int' || $chd_type=='numb') ? "0" : '####'; - //$emptyList .= $this->AddList($emptyList," || ")."COALESCE(new.".$chd.",####)"; + # KFD 9/11/08. For PROMAT application, our first need to + # + #$chd = $chdlist[0]; + #$chd_type = $this->utabs[$ufk["table_id_chd"]]["flat"][$chd]["formshort"]; + #$chd_blank= ($chd_type=='int' || $chd_type=='numb') ? "0" : '####'; + #$onEmpty = + # " -- 8001 FK Insert/Update Child Validation\n". + # " IF COALESCE(new.$chd,$chd_blank) <> $chd_blank THEN\n"; + $lEmpty = array(); + foreach($chdlist as $chd) { + $chd_type + =$this->utabs[$ufk["table_id_chd"]]["flat"][$chd]["formshort"]; + $chd_blank= ($chd_type=='int' || $chd_type=='numb') ? "0" : '####'; + $lEmpty[] = "COALESCE(NEW.$chd,$chd_blank) <> $chd_blank"; + } $onEmpty = - " -- 8001 FK Insert/Update Child Validation\n". - " IF COALESCE(new.$chd,$chd_blank) <> $chd_blank THEN\n"; + " -- 8001 FK Insert/Update Child Validation\n". + " IF ".implode("\n AND ",$lEmpty)." THEN\n"; + # + # KFD 9/11/08 (END) } else { $onEmpty=""; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2008-09-13 20:47:04
|
Revision: 664 http://andro.svn.sourceforge.net/andro/?rev=664&view=rev Author: kendowns Date: 2008-09-13 20:47:15 +0000 (Sat, 13 Sep 2008) Log Message: ----------- Corrected a flaw in user creation. When you insert into the users table, a new user is created if it does not already exist. The check was going to the pg_shadow table, but it should have been going to the pg_roles table. It now checks the pg_roles table, and does LOWER(TRIM()) on both sides to disallow case-different spellings of the same user id. Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-09-12 23:49:15 UTC (rev 663) +++ trunk/andro/application/androBuild.php 2008-09-13 20:47:15 UTC (rev 664) @@ -2866,7 +2866,9 @@ $sql = " -- 1000 Add user to system, goes in as nologin, no password new.member_password=####; - SELECT INTO AnyInt COUNT(*) FROM pg_shadow WHERE usename = CAST(new.user_id as name); + SELECT INTO AnyInt COUNT(*) + FROM pg_roles + WHERE LOWER(TRIM(rolname)) = LOWER(TRIM(CAST(new.user_id as name))); IF AnyInt = 0 THEN EXECUTE ##CREATE USER ## || new.user_id || ## NOLOGIN ##; ELSE @@ -2883,7 +2885,9 @@ new.member_password=##temp##; END IF; - SELECT INTO AnyInt COUNT(*) FROM pg_shadow WHERE usename = CAST(new.user_id as name); + SELECT INTO AnyInt COUNT(*) + FROM pg_roles + WHERE LOWER(TRIM(rolname)) = LOWER(TRIM(CAST(new.user_id as name))); IF AnyInt = 0 THEN EXECUTE ##CREATE USER ## || new.user_id || ## PASSWORD ## || quote_literal(new.member_password); ELSE This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2008-09-24 14:27:56
|
Revision: 685 http://andro.svn.sourceforge.net/andro/?rev=685&view=rev Author: kendowns Date: 2008-09-24 14:27:31 +0000 (Wed, 24 Sep 2008) Log Message: ----------- Tightened up server-side emails to always include From:, taken from system variables EMAIL_FROM. Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-09-23 16:48:30 UTC (rev 684) +++ trunk/andro/application/androBuild.php 2008-09-24 14:27:31 UTC (rev 685) @@ -290,9 +290,7 @@ $smtp->data(); $smtp->datasend("To: $sendTo\n"); $smtp->datasend("Subject: $Subject\n"); - if($from ne \'\') { - $smtp->datasend("From: ".$from."\n"); - } + $smtp->datasend("From: ".$from."\n"); $smtp->datasend("Content-Type: text/plain;\n\n"); $smtp->datasend($Message); $smtp->dataend(); @@ -3055,12 +3053,12 @@ $sq=' -- 8000 Send out email with link in it SELECT INTO AnyInt Count(*) - FROM users WHERE user_id = new.user_id; + FROM users WHERE LOWER(user_id) = LOWER(new.user_id); IF AnyInt > 0 THEN SELECT INTO AnyChar email - FROM users WHERE user_id = new.user_id; + FROM users WHERE LOWER(user_id) = LOWER(new.user_id); SELECT INTO AnyChar4 member_password - FROM users WHERE user_id = new.user_id; + FROM users WHERE LOWER(user_id) = LOWER(new.user_id); SELECT INTO AnyChar2 variable_value FROM variables WHERE variable = ##PW_EMAILCONTENT##; @@ -3097,7 +3095,7 @@ -- 8000 If link is ok, set the password SELECT INTO AnyInt Count(*) FROM users_pwrequests - WHERE user_id = new.user_id + WHERE LOWER(user_id) = LOWER(new.user_id) AND md5 = new.md5 AND age(now(),ts_ins) < ##20 min##; IF AnyInt = 0 THEN @@ -3121,6 +3119,9 @@ SELECT INTO AnyChar2 variable_value FROM variables WHERE variable = ##SMTP_SERVER##; + SELECT INTO AnyChar4 variable_value + FROM variables + WHERE variable ='EMAIL_FROM'; AnyChar =##Database Server Time is ## || cast(now() as varchar) || ##\n## @@ -3136,6 +3137,7 @@ ,##Log Event: ## || new.elogcode || ## ## || new.elogdesc ,AnyChar ,AnyChar2 + ,AnyChar4 ); END LOOP; END IF; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dor...@us...> - 2008-09-24 19:23:14
|
Revision: 688 http://andro.svn.sourceforge.net/andro/?rev=688&view=rev Author: dorgan1983 Date: 2008-09-24 19:23:09 +0000 (Wed, 24 Sep 2008) Log Message: ----------- Fix to androBuild.php Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-09-24 14:30:48 UTC (rev 687) +++ trunk/andro/application/androBuild.php 2008-09-24 19:23:09 UTC (rev 688) @@ -288,7 +288,7 @@ $smtp->mail(\'\'); $smtp->recipient($sendTo); $smtp->data(); - $smtp->datasend("To: $sendTo\n"); + $smtp->datasend("To: $sendTo\n");z $smtp->datasend("Subject: $Subject\n"); $smtp->datasend("From: ".$from."\n"); $smtp->datasend("Content-Type: text/plain;\n\n"); @@ -3121,7 +3121,7 @@ WHERE variable = ##SMTP_SERVER##; SELECT INTO AnyChar4 variable_value FROM variables - WHERE variable ='EMAIL_FROM'; + WHERE variable =##EMAIL_FROM##; AnyChar =##Database Server Time is ## || cast(now() as varchar) || ##\n## This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dor...@us...> - 2008-09-24 19:23:35
|
Revision: 690 http://andro.svn.sourceforge.net/andro/?rev=690&view=rev Author: dorgan1983 Date: 2008-09-24 19:23:32 +0000 (Wed, 24 Sep 2008) Log Message: ----------- minor spacing change Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-09-24 19:23:15 UTC (rev 689) +++ trunk/andro/application/androBuild.php 2008-09-24 19:23:32 UTC (rev 690) @@ -3121,7 +3121,7 @@ WHERE variable = ##SMTP_SERVER##; SELECT INTO AnyChar4 variable_value FROM variables - WHERE variable =##EMAIL_FROM##; + WHERE variable = ##EMAIL_FROM##; AnyChar =##Database Server Time is ## || cast(now() as varchar) || ##\n## This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2008-09-24 19:25:00
|
Revision: 691 http://andro.svn.sourceforge.net/andro/?rev=691&view=rev Author: kendowns Date: 2008-09-24 19:24:56 +0000 (Wed, 24 Sep 2008) Log Message: ----------- Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-09-24 19:23:32 UTC (rev 690) +++ trunk/andro/application/androBuild.php 2008-09-24 19:24:56 UTC (rev 691) @@ -3122,6 +3122,7 @@ SELECT INTO AnyChar4 variable_value FROM variables WHERE variable = ##EMAIL_FROM##; + WHERE variable = ##EMAIL_FROM##; AnyChar =##Database Server Time is ## || cast(now() as varchar) || ##\n## This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2008-09-24 19:42:50
|
Revision: 693 http://andro.svn.sourceforge.net/andro/?rev=693&view=rev Author: kendowns Date: 2008-09-24 19:42:45 +0000 (Wed, 24 Sep 2008) Log Message: ----------- Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-09-24 19:29:39 UTC (rev 692) +++ trunk/andro/application/androBuild.php 2008-09-24 19:42:45 UTC (rev 693) @@ -3122,7 +3122,6 @@ SELECT INTO AnyChar4 variable_value FROM variables WHERE variable = ##EMAIL_FROM##; - WHERE variable = ##EMAIL_FROM##; AnyChar =##Database Server Time is ## || cast(now() as varchar) || ##\n## This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dor...@us...> - 2008-09-25 19:22:45
|
Revision: 695 http://andro.svn.sourceforge.net/andro/?rev=695&view=rev Author: dorgan1983 Date: 2008-09-25 19:22:35 +0000 (Thu, 25 Sep 2008) Log Message: ----------- Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-09-24 19:43:49 UTC (rev 694) +++ trunk/andro/application/androBuild.php 2008-09-25 19:22:35 UTC (rev 695) @@ -288,7 +288,7 @@ $smtp->mail(\'\'); $smtp->recipient($sendTo); $smtp->data(); - $smtp->datasend("To: $sendTo\n");z + $smtp->datasend("To: $sendTo\n"); $smtp->datasend("Subject: $Subject\n"); $smtp->datasend("From: ".$from."\n"); $smtp->datasend("Content-Type: text/plain;\n\n"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2008-10-09 13:35:23
|
Revision: 712 http://andro.svn.sourceforge.net/andro/?rev=712&view=rev Author: kendowns Date: 2008-10-09 13:35:18 +0000 (Thu, 09 Oct 2008) Log Message: ----------- trivial change to comment Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-10-08 18:52:59 UTC (rev 711) +++ trunk/andro/application/androBuild.php 2008-10-09 13:35:18 UTC (rev 712) @@ -3994,7 +3994,7 @@ // not 5000. We only need 5000 for the child table, where every // little piece is sequenced. Notice for delete cascade we put it // at the front, so if there are any complex chains, they will all - // be worked out before the rest of the trigger fires. + // be worked out before the rest of the trigger fires. if ($this->zzArray($ufk,"delete_cascade")=="Y") { $prntList = str_replace("chd.","",$prntList); $s1 = "\n". This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2008-10-20 18:58:35
|
Revision: 769 http://andro.svn.sourceforge.net/andro/?rev=769&view=rev Author: kendowns Date: 2008-10-20 18:58:30 +0000 (Mon, 20 Oct 2008) Log Message: ----------- EXPERIMENTAL FEATURE. if a table name ends in "_extracolumns", all of the columns in that table will be added to the base table. This allows you to add columns to andromeda system table. This is most especially useful in adding columns to the users table. How to use: table users_extracolumns: # put in any bogus module, remember to do nomenu module: system uisort: 999 nomenu: "Y" # Make at least one column a pk. Does not matter what, the table is # never actually used column phonex: primary_key: "Y" uisearch: "Y" Now that column will end up in the users table! (and no it will not be part of the primary key). Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-10-20 16:00:19 UTC (rev 768) +++ trunk/andro/application/androBuild.php 2008-10-20 18:58:30 UTC (rev 769) @@ -1903,8 +1903,32 @@ foreach($cols as $colrow) { if($colrow['column_id'] == 'table_id') continue; $acolslist[] = $colrow['column_id']; + if($colrow['column_id'] == 'primary_key') { + $acolslist2[]= "'N'"; + } + else { + $acolslist2[] = 'tf1.'.$colrow['column_id']; + } } $colslist = implode(',',$acolslist); + $colslist2= implode(',',$acolslist2); + + # KFD EXPERIMENTAL 10/20/08 + # Allow any table to be an "extracolumns" table to a + # previously defined table. Originally did this as + # a hardcoded feature for configapp below + # + $this->LogEntry(" -> Copying '_extracolumns' into original tables "); + $sq="INSERT INTO zdd.tabflat (table_id,$colslist) + SELECT replace(tf1.table_id,'_extracolumns',''),$colslist2 + FROM zdd.tabflat tf1 + JOIN zdd.tables t on tf1.table_id = t.table_id || '_extracolumns' + WHERE not exists (select * from zdd.tabflat tf2 + where tf2.table_id = t.table_id + and tf2.column_id = tf1.column_id + )"; + $this->sql($sq); + # The table configapp_extra, if it exists, will have # all of its columns copied to configapp. This is how we This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2008-10-23 13:41:14
|
Revision: 780 http://andro.svn.sourceforge.net/andro/?rev=780&view=rev Author: kendowns Date: 2008-10-23 13:41:04 +0000 (Thu, 23 Oct 2008) Log Message: ----------- Non-functional changes, corrected some indentation errors Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-10-22 12:37:31 UTC (rev 779) +++ trunk/andro/application/androBuild.php 2008-10-23 13:41:04 UTC (rev 780) @@ -8443,52 +8443,58 @@ */ function DBB_LoadContentComplex($arr,$prefix,$suffix) { foreach ($arr as $table_id=>$stuff) { - $this->LogEntry("Processing for table: ".$table_id); + $this->LogEntry("Processing for table: ".$table_id); $pk = $this->utabs[$table_id]["pk"]; - $flat = &$this->utabs[$table_id]["flat"]; + $flat = &$this->utabs[$table_id]["flat"]; $pkarr = explode(",", $pk ); + #if($table_id=='configapp') { + # echo "prefix -$prefix- suffix -$suffix- pk -$pk-"; + # hprint_r($flat); + # hprint_r($pkarr); + # hprint_r($arr); + #} foreach ($stuff as $onelist) { if ($onelist["__type"]=="columns") { $cols = $onelist; } else { $colvals = $this->array_combine($cols,$onelist); - // Get the PK stuff - # KFD 6/14, special override for config tables - if($table_id == 'configfw' || $table_id=='configapp') { - $match = ' 1 = 1 '; - } - else { - $match = ""; - foreach ($pkarr as $pkcol) { - $match .= $this->AddList($match," AND ").$pkcol. " = '".$colvals[$pkcol]."'"; + // Get the PK stuff + # KFD 6/14, special override for config tables + if($table_id == 'configfw' || $table_id=='configapp') { + $match = ' 1 = 1 '; } - } - $sql = "SELECT * FROM $table_id WHERE $match"; - $result = $this->SQLRead($sql); - if (pg_num_rows($result)==0) { - $this->DBB_Insert($prefix,$table_id,$suffix,$colvals,true); - } - else { - if ($onelist["__type"]=="update") { - // Get list of columns w/o PK stuff - $colvals2 = $colvals; - unset($colvals2['columns']); - foreach ($pkarr as $pkcol) { unset($colvals2[$pkcol]); } - $update = ''; - foreach ($colvals2 as $colname=>$colvalue) { - $update - .=$this->zzListComma($update) - .$colname.' = ' - .$this->SQLFormatLiteral( - $colvalue - ,$flat[$colname]['type_id'] - ,false,false); - } - $sql = "UPDATE $table_id SET $update WHERE $match"; - $this->SQL($sql); - } - } + else { + $match = ""; + foreach ($pkarr as $pkcol) { + $match .= $this->AddList($match," AND ").$pkcol. " = '".$colvals[$pkcol]."'"; + } + } + $sql = "SELECT * FROM $table_id WHERE $match"; + $result = $this->SQLRead($sql); + if (pg_num_rows($result)==0) { + $this->DBB_Insert($prefix,$table_id,$suffix,$colvals,true); + } + else { + if ($onelist["__type"]=="update") { + // Get list of columns w/o PK stuff + $colvals2 = $colvals; + unset($colvals2['columns']); + foreach ($pkarr as $pkcol) { unset($colvals2[$pkcol]); } + $update = ''; + foreach ($colvals2 as $colname=>$colvalue) { + $update + .=$this->zzListComma($update) + .$colname.' = ' + .$this->SQLFormatLiteral( + $colvalue + ,$flat[$colname]['type_id'] + ,false,false); + } + $sql = "UPDATE $table_id SET $update WHERE $match"; + $this->SQL($sql); + } + } } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2008-10-25 23:03:35
|
Revision: 794 http://andro.svn.sourceforge.net/andro/?rev=794&view=rev Author: kendowns Date: 2008-10-25 23:03:30 +0000 (Sat, 25 Oct 2008) Log Message: ----------- Small Change. The file generated/appinfo.php is written during a build. I added the key "group_login" to identify the effective group ID of anonymous users. Normally that id is generated when people login. If they do not login, it is blank, and there is no way to find it. Now there is a place to find it. Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-10-25 18:40:34 UTC (rev 793) +++ trunk/andro/application/androBuild.php 2008-10-25 23:03:30 UTC (rev 794) @@ -8564,18 +8564,28 @@ function CodeGenerate_Info() { $this->LogStage("Generating Application information files."); $this->LogEntry("Generating Info file: generated/appinfo.php"); - global $parm; - $localhost_suffix=$this->zzArraySafe($parm,'LOCALHOST_SUFFIX'); + global $parm; + # KFD 10/25/08, write out name of effective group for the + # $LOGIN group + $app = $parm['APP']; + if(isset($parm['INST'])) $app.='_'.$parm['INST']; + $dbres = $this->SQLRead("Select group_id_eff from zdd.groups_eff + where grouplist = '$app'"); + $row = pg_fetch_all($dbres); + $group_eff = $row[0]['group_id_eff']; + + $localhost_suffix=$this->zzArraySafe($parm,'LOCALHOST_SUFFIX'); $text = "<?php\n". "\$AG['application']='".$parm["APP"]."';\n". + "\$AG['group_login']='".$group_eff."';\n". "\$AG['app_desc']='".$parm["APPDSC"]."';\n". - "\$AG['localhost_suffix']='".$localhost_suffix."';\n". - "\$AG['template']='".$this->zzArraySafe($parm,'TEMPLATE')."';\n". - "\$AG['flag_pwmd5']='".$parm['FLAG_PWMD5']."';\n". - "?>"; + "\$AG['localhost_suffix']='".$localhost_suffix."';\n". + "\$AG['template']='".$this->zzArraySafe($parm,'TEMPLATE')."';\n". + "\$AG['flag_pwmd5']='".$parm['FLAG_PWMD5']."';\n". + "?>"; $this->zzFileWriteGenerated($text,'appinfo.php'); - return true; + return true; } // ===================================================================== This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2008-10-26 23:19:30
|
Revision: 800 http://andro.svn.sourceforge.net/andro/?rev=800&view=rev Author: kendowns Date: 2008-10-26 23:19:23 +0000 (Sun, 26 Oct 2008) Log Message: ----------- Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-10-25 23:10:56 UTC (rev 799) +++ trunk/andro/application/androBuild.php 2008-10-26 23:19:23 UTC (rev 800) @@ -8568,7 +8568,7 @@ # KFD 10/25/08, write out name of effective group for the # $LOGIN group $app = $parm['APP']; - if(isset($parm['INST'])) $app.='_'.$parm['INST']; + #if(isset($parm['INST'])) $app.='_'.$parm['INST']; $dbres = $this->SQLRead("Select group_id_eff from zdd.groups_eff where grouplist = '$app'"); $row = pg_fetch_all($dbres); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2008-10-28 16:02:43
|
Revision: 811 http://andro.svn.sourceforge.net/andro/?rev=811&view=rev Author: kendowns Date: 2008-10-28 16:02:39 +0000 (Tue, 28 Oct 2008) Log Message: ----------- Modified all file creation to chmod 2770, so that all files created will be in group www-data and will be modifiable by both www-data and the programmer working on a dev station. Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-10-28 15:29:24 UTC (rev 810) +++ trunk/andro/application/androBuild.php 2008-10-28 16:02:39 UTC (rev 811) @@ -81,6 +81,7 @@ $retval = $retval && $this->LogStart(); $retval = $retval && $this->DB_Connect(); $retval = $retval && $this->FS_Prepare(); + return true; // If we can read files, minify. Turn this back on if // we get a more foolproof minify/pack program that @@ -9337,7 +9338,7 @@ $this->LogEntry("Processing subdir: $tgt"); if(!file_exists($dir_pubx.$tgt)) { - $this->LogEntry(" -> Creating this directory"); + $this->LogEntry(" -> Creating this directory: $dir_pubx.$tgt"); mkdir($dir_pubx.$tgt); } @@ -9520,7 +9521,7 @@ } else { mkdir($dir); - chmod($dir,0770); + chmod($dir,02770); $this->FS_MKDIR_Noaccess($dir,$noaccess); } return true; @@ -9546,7 +9547,7 @@ $SCRIPT.="\n"; $SCRIPT.="mkdir $dir\n"; $SCRIPT.="chgrp ".$grp." $dir \n" ; - $SCRIPT.="chmod g+wr $dir\n"; + $SCRIPT.="chmod 2770 $dir\n"; } else { // Don't check subversion directories @@ -9554,8 +9555,8 @@ if (! is_writable($dir) || !is_readable($dir)) { $this->LogError("Wrong read/write perms on directory: $dir"); - $SCRIPT.="chgrp $grp $dir \n"; - $SCRIPT.="chmod g+wr $dir\n"; + $SCRIPT.="chgrp $grp -R $dir \n"; + $SCRIPT.="chmod 2770 -R $dir\n"; } else { // The "Checkallfiles" checks files and also recurses @@ -9570,7 +9571,7 @@ $this->LogError("Unwritable file in directory: $dir"); $this->LogEntry("-- file is: ".$file); $SCRIPT.="chgrp $grp $dir -R\n"; - $SCRIPT.="chmod g+wr $dir -R\n"; + $SCRIPT.="chmod 2770 $dir -R\n"; break; } if (is_dir($dir.$file)) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2008-10-28 20:59:31
|
Revision: 816 http://andro.svn.sourceforge.net/andro/?rev=816&view=rev Author: kendowns Date: 2008-10-28 20:59:30 +0000 (Tue, 28 Oct 2008) Log Message: ----------- Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-10-28 19:38:31 UTC (rev 815) +++ trunk/andro/application/androBuild.php 2008-10-28 20:59:30 UTC (rev 816) @@ -81,7 +81,6 @@ $retval = $retval && $this->LogStart(); $retval = $retval && $this->DB_Connect(); $retval = $retval && $this->FS_Prepare(); - return true; // If we can read files, minify. Turn this back on if // we get a more foolproof minify/pack program that This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2008-11-03 15:52:25
|
Revision: 844 http://andro.svn.sourceforge.net/andro/?rev=844&view=rev Author: kendowns Date: 2008-11-03 15:52:20 +0000 (Mon, 03 Nov 2008) Log Message: ----------- Removed creation of inputMask during build, as this was experimental and it will now be done in PHP code at run-time, which is much more flexible. (Also, the actual mask generation was wrong). Modified Paths: -------------- trunk/andro/application/androBuild.php Modified: trunk/andro/application/androBuild.php =================================================================== --- trunk/andro/application/androBuild.php 2008-11-02 20:01:52 UTC (rev 843) +++ trunk/andro/application/androBuild.php 2008-11-03 15:52:20 UTC (rev 844) @@ -1651,12 +1651,10 @@ ,c.colprec,c.colscale,c.colres,c.type_id ,case when c.inputmask <> '' then c.inputmask + when COALESCE(tc.inputmask,'') <> '' + then tc.inputmask when t.inputmask <> '' then t.inputmask - when t.type_id = 'numb' - then lpad(''::text,c.colprec::int,' '::text) - ||'.'|| - lpad(''::text,c.colscale::int,' '::text) else '' end ,case when coalesce(tc.flagcarry,'') <> '' then tc.flagcarry This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |