phpBMS

Changeset 485 for trunk/phpbms/install

Show
Ignore:
Timestamp:
04/07/09 11:44:18 (3 years ago)
Author:
nate
Message:
  • Merged Nathan branch back into trunk.
Location:
trunk/phpbms/install
Files:
4 removed
17 modified
6 copied

Legend:

Unmodified
Added
Removed
  • trunk/phpbms/install/createtables.sql

    r427 r485  
    5858  `assignedtodate` date default NULL, 
    5959  `subject` varchar(128) default NULL, 
    60   `type` char(2) default NULL, 
     60  `type` char(2) NOT NULL default 'NT', 
    6161  `createdby` int(11) NOT NULL default '0', 
    6262  `creationdate` datetime NOT NULL default '0000-00-00 00:00:00', 
     
    115115  `displayorder` int(11) NOT NULL default '0', 
    116116  `roleid` int(11) NOT NULL default '0', 
    117   `reportfile` varchar(128) default NULL, 
     117  `reportfile` varchar(128) NOT NULL, 
    118118  `description` text, 
    119119  `createdby` int(11) NOT NULL default '0', 
     
    169169  `modifieddate` timestamp NOT NULL, 
    170170  PRIMARY KEY  (`id`) 
    171 ) ENGINE=INNODB  AUTO_INCREMENT=1000;  
     171) ENGINE=INNODB  AUTO_INCREMENT=1000; 
    172172 
    173173CREATE TABLE tablefindoptions ( 
     
    180180  PRIMARY KEY  (id), 
    181181  KEY tabledef (tabledefid) 
    182 ) ENGINE=INNODB  AUTO_INCREMENT=2000;  
     182) ENGINE=INNODB  AUTO_INCREMENT=2000; 
    183183 
    184184CREATE TABLE tableoptions ( 
     
    193193  PRIMARY KEY  (id), 
    194194  KEY tabledef (tabledefid) 
    195 ) ENGINE=INNODB  AUTO_INCREMENT=2000;  
     195) ENGINE=INNODB  AUTO_INCREMENT=2000; 
    196196 
    197197CREATE TABLE tablesearchablefields ( 
     
    211211  firstname varchar(64) NOT NULL default '', 
    212212  lastname varchar(64) NOT NULL default '', 
     213  `lastip` VARCHAR(45) NOT NULL DEFAULT '', 
    213214  creationdate datetime NOT NULL default '0000-00-00 00:00:00', 
    214215  revoked tinyint(1) NOT NULL default '0', 
     
    259260  `roleid` int(11) NOT NULL default '0', 
    260261  PRIMARY KEY  (`id`) 
    261 ) ENGINE=INNODB  AUTO_INCREMENT=100;  
     262) ENGINE=INNODB  AUTO_INCREMENT=100; 
    262263 
    263264CREATE TABLE `attachments` ( 
     
    274275  KEY `thetable` (`tabledefid`), 
    275276  KEY `thefile` (`fileid`) 
    276 ) ENGINE=INNODB ;  
     277) ENGINE=INNODB ; 
    277278 
    278279CREATE TABLE `roles` ( 
     
    280281  `name` VARCHAR(64) NOT NULL, 
    281282  `description` TEXT, 
    282   `inactive` tinyint(4) NOT NULL, 
     283  `inactive` tinyint(4) NOT NULL DEFAULT 0, 
    283284  `createdby` INTEGER UNSIGNED, 
    284285  `creationdate` DATETIME, 
     
    351352  PRIMARY KEY  (`id`) 
    352353) ENGINE=INNODB; 
    353  
  • trunk/phpbms/install/install.css

    r285 r485  
    1 .bodyline,#topTitle{width:740px; margin:10px auto;} 
    2 h1{margin-bottom:20px;} 
    3 p{margin:0;padding:0px 10px 10px;} 
     1li{ 
     2    margin-bottom: 20px; 
     3} 
     4 
     5.bodyline,#topTitle{ 
     6    width:100%; 
     7    max-width: 740px; 
     8    margin:10px auto; 
     9} 
     10 
     11h1{ 
     12    margin-bottom:20px; 
     13} 
     14 
     15p{ 
     16    margin:10px 0; 
     17    padding:0; 
     18} 
     19 
     20#navPanel{ 
     21    float: left; 
     22    width: 190px; 
     23} 
     24 
     25#navSelect{ 
     26    font-size: 12px; 
     27    padding:0; 
     28    width: 98% 
     29} 
     30 
     31#stepsPanel{ 
     32    margin-left: 198px; 
     33    min-height: 400px; 
     34    border-left: 1px solid #CCCCCC; 
     35    padding-left: 8px; 
     36} 
     37 
     38 
     39.success{ 
     40    color: green; 
     41    line-height: 16px; 
     42    background: url("success.gif") no-repeat left; 
     43    padding:2px 0 2px 20px; 
     44} 
     45 
     46.fail { 
     47    color: red; 
     48    line-height: 16px; 
     49    background: url("fail.gif") no-repeat left; 
     50    padding:2px 0 2px 20px; 
     51} 
     52 
     53.warning { 
     54    line-height: 16px; 
     55    background: url("warning.gif") no-repeat left; 
     56    padding:2px 0 2px 20px; 
     57} 
     58 
     59.running { 
     60    line-height: 16px; 
     61    background: url("../common/image/spinner.gif") no-repeat left; 
     62    padding:2px 0 2px 20px; 
     63} 
     64 
     65 
     66#sysRequirements td{ 
     67    border-bottom: 1px solid #CCCCCC; 
     68    padding: 5px 10px; 
     69} 
    470 
    571.results{width:99%;font-family:'Courier New', Courier, mono;font-size:13px;} 
    672.testButtonsP{text-align:center; padding:20px;} 
    773 
    8 .nextprevP{text-align:right;} 
    9 .nextprevButtons{padding-right:20px;padding-left:20px;} 
     74.nextprevP{ 
     75    float: right; 
     76    margin: 0; 
     77} 
    1078 
    11 #moduleInformation h2{margin-top:0;padding-top:5px;} 
     79.nextButtons, .prevButtons{ 
     80    padding:3px 20px; 
     81} 
     82 
     83.debugResults{ 
     84    display: none; 
     85} 
     86 
     87#moduleTable td{ 
     88 
     89    padding: 5px 10px; 
     90    border-top: 1px solid #CCCCCC; 
     91    vertical-align: top; 
     92} 
     93 
     94#moduleTable td h3{ 
     95    margin-top: 0; 
     96    margin-left: 0; 
     97} 
     98 
     99#moduleTable th{ 
     100    text-align: left; 
     101    background: #7B8DA1; 
     102    color: white; 
     103    padding: 10px; 
     104} 
     105 
     106.moduleInstall{ 
     107    white-space: nowrap; 
     108    min-width: 120px; 
     109} 
     110 
     111#userpassTable{ 
     112 
     113    margin: 0 auto; 
     114 
     115} 
     116 
     117    #userpassTable td{ 
     118 
     119        font-size: 22px; 
     120 
     121    } 
  • trunk/phpbms/install/install.js

    r308 r485  
    1 window.onload = function(){ 
    2         var sections = getElementsByClassName("bodyline"); 
    3          
    4         var i; 
    5         for(i=0; i< sections.length; i++){ 
    6                 if(sections[i].id != "step1"){ 
    7                         sections[i].style.display = "none"; 
     1installer = { 
     2 
     3        testConnection: function(){ 
     4 
     5                var response = installer.runCommand("testconnection"); 
     6                var testConnectionNoDebug = getObjectFromID("testConnectionNoDebug"); 
     7 
     8                if(response.success === true){ 
     9                        testConnectionNoDebug.className = "success" 
     10                        testConnectionNoDebug.innerHTML = "Connection Successful"; 
     11                } else { 
     12                        testConnectionNoDebug.className = "fail" 
     13                        testConnectionNoDebug.innerHTML = "Connection Failed"; 
    814                } 
     15 
     16        },//endfunction testConnection 
     17 
     18 
     19        createDatabase: function(){ 
     20 
     21                var response = installer.runCommand("createdatabase"); 
     22                var noDebug = getObjectFromID("createDatabaseNoDebug"); 
     23 
     24                if(response.success === true){ 
     25 
     26                        noDebug.className = "success" 
     27                        noDebug.innerHTML = "Database Schema Created"; 
     28 
     29                } else { 
     30 
     31                        noDebug.className = "fail" 
     32                        noDebug.innerHTML = "Database Schema Creation Failed"; 
     33 
     34                }//endif 
     35 
     36        }, // endfunction createdatabase 
     37 
     38 
     39        coreDataInstall: function(){ 
     40 
     41                var noDebug = getObjectFromID("coreDataNoDebug"); 
     42 
     43                noDebug.className = "running"; 
     44                noDebug.innerHTML = "Running..."; 
     45 
     46 
     47                //we pass the entered application name and e-mail address as a "::" separated pair 
     48                var appname = getObjectFromID("appname"); 
     49                var email = getObjectFromID("email"); 
     50 
     51                var extras = encodeURIComponent(appname.value + "::" + email.value) 
     52 
     53                var response = installer.runCommand("coredatainstall", extras); 
     54 
     55                if(response.success === true){ 
     56 
     57                        noDebug.className = "success"; 
     58                        noDebug.innerHTML = "Core Data Installed Succefully"; 
     59 
     60                        var pass2 = getObjectFromID("pass2") 
     61 
     62                        pass2.innerHTML = response.extras; 
     63 
     64                } else { 
     65 
     66                        noDebug.className = "fail"; 
     67                        noDebug.innerHTML = "Core Data Installation Failed"; 
     68 
     69                }//endif 
     70 
     71        }, // endfunction coreDataInstall 
     72 
     73 
     74        moduleInstall: function(e){ 
     75 
     76                var theButton = e.src(); 
     77 
     78                var foo = ""; 
     79 
     80                var module = theButton.id.substring(12); 
     81 
     82                var noDebug = getObjectFromID("Results"+module); 
     83 
     84                noDebug.className = "running"; 
     85                noDebug.innerHTML = "Running..."; 
     86 
     87                var response = installer.runCommand("moduleinstall", module); 
     88 
     89                if(response.success === true){ 
     90 
     91                        noDebug.className = "success"; 
     92                        noDebug.innerHTML = "Module Installed"; 
     93 
     94                } else { 
     95 
     96                        noDebug.className = "fail"; 
     97                        noDebug.innerHTML = "Installation Failed"; 
     98 
     99                }//endif 
     100 
     101        },//end function moduleInstall 
     102 
     103 
     104        runCommand: function(command, extras){ 
     105 
     106                if(typeof(extras) == "undefined") 
     107                        extras = ""; 
     108                else 
     109                        extras = "&extras=" + extras 
     110 
     111                var theURL = "installajax.php?command=" + command + extras; 
     112 
     113                loadXMLDoc(theURL,null,false); 
     114 
     115                var JSONresponse; 
     116                eval("JSONresponse = (" + req.responseText +")"); 
     117 
     118                var responseText = getObjectFromID(command + "results"); 
     119                if(typeof(responseText) != "undefined"){ 
     120 
     121                        if(responseText.value) 
     122                                responseText.value += "\n"; 
     123 
     124                        responseText.value += JSONresponse.details; 
     125 
     126                }//endif 
     127 
     128                return JSONresponse 
     129 
     130        },//endfunction runCommand 
     131 
     132 
     133        toggleDebug: function(){ 
     134 
     135                var debug = getObjectFromID("debug"); 
     136                var display = "none"; 
     137                if(debug.checked) 
     138                        display = "block"; 
     139 
     140                var debugDisplays = getElementsByClassName("debugResults"); 
     141 
     142                for(var i = 0; i < debugDisplays.length; i ++) 
     143                        debugDisplays[i].style.display = display; 
     144 
     145        }//end function toggleDebug 
     146 
     147}//end class installer 
     148 
     149 
     150 
     151stepsNav = { 
     152 
     153        currentSection: 1, 
     154        sections: null, 
     155 
     156        navNext: function(){ 
     157 
     158                if(stepsNav.currentSection + 1 <= stepsNav.sections.length){ 
     159                        stepsNav.navTo(stepsNav.currentSection + 1); 
     160                } 
     161        }, 
     162 
     163 
     164        navPrev: function(){ 
     165                if(stepsNav.currentSection - 1 > 0) 
     166                        stepsNav.navTo(stepsNav.currentSection - 1); 
     167        }, 
     168 
     169 
     170        navTo: function(section){ 
     171 
     172                for(var i=0; i< stepsNav.sections.length; i++){ 
     173 
     174                        if(stepsNav.sections[i].id != "step" + section){ 
     175                                stepsNav.sections[i].style.display = "none"; 
     176                        } else { 
     177                                stepsNav.sections[i].style.display = "block"; 
     178                        }//endif 
     179 
     180                }//endfor 
     181 
     182                navBar = getObjectFromID("navSelect"); 
     183                for(i=0; i < navBar.options.length; i++){ 
     184                        if(navBar.options[i].value == section){ 
     185                                navBar.options[i].selected = true; 
     186                        } 
     187                }//endfor 
     188                //navBar.selectedIndex = section 
     189 
     190                stepsNav.currentSection = section; 
     191 
     192        },//end function navTo 
     193 
     194 
     195        navLeft: function(){ 
     196 
     197                var navSelect = getObjectFromID("navSelect"); 
     198                stepsNav.navTo(parseInt(navSelect.value)); 
     199 
     200 
    9201        } 
     202 
    10203} 
    11204 
    12 function goSection(direction){ 
    13         var sections = getElementsByClassName("bodyline"); 
    14         var currSection = 1; 
    15          
    16         for(i=0; i< sections.length; i++){ 
    17                 if(sections[i].style.display == "block")                         
    18                         currSection = parseInt(sections[i].id.substr(4),10); 
    19         } 
    20          
    21         if(direction == "next") 
    22                 direction = 1; 
    23         else 
    24                 direction = -1; 
    25          
    26         if(currSection + direction == 0) 
    27                 return false; 
    28         else{ 
    29                 var currDiv = getObjectFromID("step"+currSection); 
    30                 var newDiv = getObjectFromID("step"+(currSection + direction)) 
    31  
    32                 currDiv.style.display = "none"; 
    33                 newDiv.style.display = "block"; 
    34         } 
    35 }//end function 
    36  
    37  
    38         function runCommand(command){ 
    39                 var theURL="installxml.php?command="+command; 
    40                 if(command=="updatesettings"){ 
    41                         var mServer=getObjectFromID("mysqlserver"); 
    42                         var mDatabase=getObjectFromID("mysqldb"); 
    43                         var mUser=getObjectFromID("mysqluser"); 
    44                         var mPassword=getObjectFromID("mysqluserpass"); 
    45                         theURL+="&ms="+encodeURIComponent(mServer.value); 
    46                         theURL+="&mdb="+encodeURIComponent(mDatabase.value); 
    47                         theURL+="&mu="+encodeURIComponent(mUser.value); 
    48                         theURL+="&mup="+encodeURIComponent(mPassword.value); 
    49                 } 
    50                 var responseText= getObjectFromID(command+"results"); 
    51                 loadXMLDoc(theURL,null,false); 
    52                 if(req.responseXML) 
    53                         response = req.responseXML.documentElement.firstChild.data+"\n"; 
    54                 else  
    55                         response = req.responseText+"\n"; 
    56                 responseText.value += response; 
    57         } 
    58          
    59  
    60         function changeModule(){ 
    61                 var moduleSel=getObjectFromID("modules"); 
    62                 var installButton=getObjectFromID("installmodule"); 
    63                 var modinfo = getObjectFromID("moduleInformation"); 
    64                  
    65                 var modName = getObjectFromID("modulename"); 
    66                 var modVer = getObjectFromID("moduleversion"); 
    67                 var modDesc = getObjectFromID("moduledescription"); 
    68                 var modReq = getObjectFromID("modulerequirements"); 
    69                  
    70                 if(moduleSel.value!=0){ 
    71                         installButton.disabled=false; 
    72                          
    73                         modName.innerHTML = modules[moduleSel.value]["name"]; 
    74                         modVer.innerHTML = modules[moduleSel.value]["version"]; 
    75                         modDesc.innerHTML = modules[moduleSel.value]["description"]; 
    76                         modReq.innerHTML = modules[moduleSel.value]["requirements"]; 
    77                          
    78                         modinfo.style.display = "block";                                                 
    79                 } 
    80                 else{ 
    81                         installButton.disabled=true; 
    82                         modinfo.style.display = "none";                  
    83                 } 
    84         } 
    85          
    86         function runModuleInstall(){ 
    87                 var themodule=getObjectFromID("modules"); 
    88                 var responseText= getObjectFromID("moduleresults"); 
    89                 if(themodule.value=="") 
    90                         alert("You must select a module to install first."); 
    91                 else { 
    92                         var theURL="../modules/"+themodule.value+"/install/install.php"; 
    93                         loadXMLDoc(theURL,null,false); 
    94                         if(req.responseXML) 
    95                                 response = req.responseXML.documentElement.firstChild.data+"\n"; 
    96                         else  
    97                                 response = req.responseText; 
    98                         responseText.value+=response; 
    99                 } 
    100         } 
     205// ====== Init Listeners ======================================================= 
     206 
     207connect(window,"onload",function() { 
     208 
     209        stepsNav.sections = getElementsByClassName("steps"); 
     210        stepsNav.navTo(1); 
     211 
     212        var nextButtons = getElementsByClassName("nextButtons"); 
     213        for(var i=0; i< nextButtons.length; i++) 
     214                connect(nextButtons[i], "onclick", stepsNav.navNext); 
     215 
     216        var prevButtons = getElementsByClassName("prevButtons"); 
     217        for(var i=0; i< prevButtons.length; i++) 
     218                connect(prevButtons[i], "onclick", stepsNav.navPrev); 
     219 
     220        var navSelect = getObjectFromID("navSelect"); 
     221        connect(navSelect, "onchange", stepsNav.navLeft); 
     222 
     223        var debug = getObjectFromID("debug"); 
     224        connect(debug, "onchange", installer.toggleDebug); 
     225 
     226        var testConnectionButton = getObjectFromID("testConnectionButton"); 
     227        connect(testConnectionButton, "onclick", installer.testConnection); 
     228 
     229        var createDatabaseButton = getObjectFromID("createDatabaseButton"); 
     230        connect(createDatabaseButton, "onclick", installer.createDatabase) 
     231 
     232        var coreDataButton = getObjectFromID("coreDataButton"); 
     233        connect(coreDataButton, "onclick", installer.coreDataInstall); 
     234 
     235        moduleButtons = getElementsByClassName("moduleButtons"); 
     236        for(i = 0; i < moduleButtons.length; i++) 
     237                connect(moduleButtons[i], "onclick", installer.moduleInstall); 
     238 
     239}) 
  • trunk/phpbms/install/install_include.php

    r448 r485  
    11<?php 
    2 function processSQLfile($db,$filename){ 
    3         global $dblink; 
    4  
    5         $thefile = @ fopen($filename,"r"); 
    6         if(!$thefile) 
    7                 return "Could not open the file ".$filename.".\n"; 
    8  
    9         $thereturn="Processing SQL from file '".$filename."'\n"; 
    10                 while(!feof($thefile)) { 
    11                         $sqlstatement=trim(fgets($thefile,2048)); 
    12                         if(strrpos($sqlstatement,";")==strlen($sqlstatement)-1){ 
    13                                 $theresult=$db->query($sqlstatement); 
    14                                 if($db->error) 
    15                                         $thereturn = "Error processing SQL file  ".$filename.": ".$db->error."\n".$sqlstatement; 
    16                                 $sqlstatement=""; 
    17                         }//end if; 
    18                 }//end while 
    19  
    20         $thereturn.="Done processing SQL from file '".$filename."'. \n\n"; 
    21         return $thereturn; 
    22 }//end function 
    23  
    24  
    25 function verifyAdminLogin($db,$user,$pass){ 
    26  
    27         if((real) getCurrentVersion($db,"base")>=.7) 
    28                 $querystatement="SELECT id FROM users WHERE login=\"".mysql_real_escape_string($user)."\" AND password=encode(\"".mysql_real_escape_string($pass)."\",\"".ENCRYPTION_SEED."\") AND admin=1"; 
    29         else 
    30                 $querystatement="SELECT id FROM users WHERE login=\"".mysql_real_escape_string($user)."\" AND password=encode(\"".mysql_real_escape_string($pass)."\",\"".ENCRYPTION_SEED."\") AND accesslevel>=90"; 
    31  
    32         $queryresult=$db->query($querystatement); 
    33  
    34         if(!$queryresult) 
    35                 return false; 
    36         return ($db->numRows($queryresult)>0); 
    37 } 
    38  
    39  
    40 function getCurrentVersion($db,$module){ 
    41  
    42         $querystatement="SELECT version FROM modules WHERE name=\"".mysql_real_escape_string($module)."\";"; 
    43         $queryresult=$db->query($querystatement); 
    44  
    45         $ver=$db->fetchArray($queryresult); 
    46         return $ver["version"]; 
    47 } 
    48  
    49  
    50 function loadModules($type){ 
    51         $currdirectory = @getcwd(); 
    52  
    53         $thedir= @ opendir("../modules/"); 
    54  
    55         echo 'modules = Array();'."\n"; 
    56  
    57         $modules = array(); 
    58         while($entry=readdir($thedir)){ 
    59                 if($entry != "." && $entry != ".." && $entry != "base" && $entry != "sample" && is_dir("../modules/".$entry)){ 
    60                         if(file_exists("../modules/".$entry."/install/".$type.".php") && file_exists("../modules/".$entry."/install/version.php")){ 
    61                                 include("../modules/".$entry."/install/version.php"); 
    62                         } 
    63                 } 
    64         } 
    65  
    66         foreach($modules as $name=>$module) 
    67                 if(is_array($module)){ 
    68                         echo 'modules["'.$name.'"] = Array()'."\n"; 
    69                         foreach($module as $key=>$value) 
    70                                 echo 'modules["'.$name.'"]["'.$key.'"] = "'.$value.'";'."\n"; 
    71                 } 
    72  
    73         @ chdir ($currdirectory); 
    74  
    75         return $modules; 
    76 }//end function 
    77  
    78  
    79 function showModules($modules){ 
    80         if(is_array($modules)){ 
    81                 foreach($modules as $name => $module) 
    82                         if($name != "base") 
    83                                 if(is_array($module)){ 
    84                                         ?><option value="<?php echo $name ?>"><?php echo $module["name"]?></option><?php 
    85                                 } 
    86         } 
    87 } 
    88  
    89  
    90 function createTables($db,$sqlfile){ 
    91  
    92         $sqlstatement=""; 
    93         $thereturn = ""; 
    94  
    95         $createfile = @ fopen("createtables.sql","r"); 
    96         if(!$createfile) 
    97                 return "Could not open SQL file: ".$sqlfile; 
    98         else{ 
    99                 while(!feof($createfile)) { 
    100                         $sqlstatement.= @ fgets($createfile,1024); 
    101                         if(strpos($sqlstatement,";")){ 
    102  
    103                                 $theresult = $db->query(trim($sqlstatement)); 
    104  
    105                                 if($db->error){ 
    106                                         return "Error creating tables: ".$db->error."\n\n".trim($sqlstatement); 
    107                                 } 
    108                                 $sqlstatement=""; 
    109                         }//end if; 
    110                 }//end while 
    111  
    112         }//end if 
    113  
    114         return true; 
    115 } 
    116  
    117  
    118 function importData($db,$tablename){ 
    119  
    120         $tablefile = @ fopen($tablename.".sql","rb"); 
    121         if(!$tablefile) 
    122                 return "Could not open the file ".$tablename.".sql\n"; 
    123  
    124         $thereturn=""; 
    125         $counter=0; 
    126         $failure = false; 
    127  
    128         while(!feof($tablefile)) { 
    129                 $sqlstatement=trim(fgets($tablefile,8184)); 
    130                 if(strrpos($sqlstatement,";")==strlen($sqlstatement)-1){ 
    131  
    132                         $theresult=$db->query($sqlstatement); 
    133  
    134                         if($db->error){ 
    135                                 $failure = true; 
    136                                 $thereturn .= "Error importing record into ".$tablename.": ".$db->error."\n"; 
    137                         } 
     2        class installer{ 
     3 
     4                var $db; 
     5 
     6                function installer($db){ 
     7 
     8                        $this->db = $db; 
     9 
     10                }//end function init 
     11 
     12 
     13                function createTables($sqlfile){ 
     14 
     15                        $sqlstatement=""; 
     16                        $thereturn = ""; 
     17                        $line = 1; 
     18 
     19                        $filePointer = @ fopen($sqlfile,"r"); 
     20 
     21                        if(!$filePointer) 
     22                                return "Could not open SQL file: ".$sqlfile; 
     23 
     24                        while(!feof($filePointer)) { 
     25 
     26                                $createstatement .= @ fgets($filePointer,1024); 
     27 
     28                                if(strpos($createstatement,";")){ 
     29 
     30                                        $this->db->query(trim($createstatement)); 
     31 
     32                                        if($this->db->error) 
     33                                                return "Error creating tables on line ".$line.": ".$this->db->error." SQL Statement: ".trim($createstatement); 
     34 
     35                                        $createstatement = ""; 
     36 
     37                                }//end if; 
     38 
     39                                $line++; 
     40 
     41                        }//end while 
     42 
     43                        return true; 
     44 
     45                }//end function createTables 
     46 
     47 
     48                function processSQLfile($filename){ 
     49 
     50                        $thefile = @ fopen($filename,"r"); 
     51                        $line = 1; 
     52                        $thereturn = ""; 
     53 
     54                        if(!$thefile) 
     55                                return "Could not open the SQL file ".$filename; 
     56 
     57                        while(!feof($thefile)) { 
     58 
     59                                $sqlstatement .= @ trim(fgets($thefile)); 
     60 
     61                                // we look for the ; at the end of the line 
     62                                // If it is not there, we keep adding to the sql statement 
     63                                if(strrpos($sqlstatement,";") == strlen($sqlstatement)-1){ 
     64 
     65                                        $this->db->query(trim($sqlstatement)); 
     66                                        if($this->db->error) 
     67                                                $thereturn .= "Error processing SQL file '".$filename."' on line ".$line.": ".$this->db->error." - SQL Statement: ".$sqlstatement."\n"; 
     68 
     69                                        $sqlstatement = ""; 
     70 
     71                                }//end if; 
     72 
     73                                $line++; 
     74 
     75                        }//end while 
     76 
     77                        if($thereturn) 
     78                                return $thereturn; 
    13879                        else 
    139                                 $counter++; 
    140  
    141                         $sqlstatement=""; 
    142                 }//end if; 
    143         }//end while 
    144  
    145         if($failure) 
    146                 $threturn = "Importing of some records in ".$tablename." occured.\n\n"; 
    147         else 
    148                 $thereturn.="Import of ".$counter." record(s) for '".$tablename."' complete.\n"; 
    149  
    150         return $thereturn; 
    151 }//end function 
     80                                return true; 
     81 
     82                }//end function 
     83 
     84        }//end class 
     85 
     86 
     87 
     88        class modules{ 
     89 
     90                var $list = array(); 
     91 
     92                // this loads the modules in to an array 
     93                // type looks for either update, to make sure the 
     94                // module folder has an install folder, and inside the install 
     95                // folder is an install.php or update .php (depending on type) 
     96                // and that it has a version.php file; 
     97                function modules($type = "install"){ 
     98 
     99                        $currdirectory = @getcwd(); 
     100 
     101                        $thedir= @ opendir("../modules/"); 
     102 
     103                        $modules = array(); 
     104 
     105                        //this helps build the modules array 
     106                        // each included modules version.php should add to the 
     107                        // array 
     108                        while($entry = readdir($thedir)){ 
     109 
     110                                if($entry != "." && $entry != ".." && $entry != "base" && $entry != "sample" && is_dir("../modules/".$entry)){ 
     111 
     112                                        if(file_exists("../modules/".$entry."/install/".$type.".php") && file_exists("../modules/".$entry."/version.php")){ 
     113 
     114                                                include("../modules/".$entry."/version.php"); 
     115 
     116                                        }//endif 
     117 
     118                                }//endif 
     119 
     120                        }//end if 
     121 
     122                        @ chdir ($currdirectory); 
     123 
     124                        $this->list = $modules; 
     125 
     126                }//end function init 
     127 
     128 
     129                function displpayJS(){ 
     130 
     131                        echo 'modules = Array();'."\n"; 
     132 
     133                        foreach($this->list as $name=>$module) 
     134                                if(is_array($module) && $name != "base"){ 
     135 
     136                                        echo 'modules["'.$name.'"] = Array()'."\n"; 
     137                                        foreach($module as $key=>$value) 
     138                                                echo 'modules["'.$name.'"]["'.$key.'"] = "'.$value.'";'."\n"; 
     139                                }//endif 
     140 
     141 
     142                }//end function displayJS 
     143 
     144 
     145                function displayInstallTable(){ 
     146 
     147                        ?> 
     148                        <table id="moduleTable" cellpadding="0" cellspacing="0" border="0"> 
     149                                <thead> 
     150                                        <tr> 
     151                                                <th>module</th> 
     152                                                <th>version</th> 
     153                                                <th>&nbsp;</th> 
     154                                        </tr> 
     155                                </thead> 
     156                                <tbody> 
     157                        <?php 
     158 
     159                        ksort($this->list); 
     160 
     161                        foreach($this->list as $key=>$module){ 
     162 
     163                                if($key != "base"){ 
     164 
     165                                        ?> 
     166                                        <tr> 
     167                                                <td> 
     168                                                        <h3><strong><?php echo $module["name"]?></strong></h3> 
     169                                                        <p><?php echo $module["description"]?></p> 
     170                                                        <p class="notes"><strong>Requirements:</strong> <?php echo $module["requirements"]?></p> 
     171                                                </td> 
     172                                                <td><?php echo $module["version"] ?></td> 
     173                                                <td class="moduleInstall"> 
     174                                                        <button class="Buttons moduleButtons" id="moduleButton<?php echo $key ?>">Install Module</button> 
     175                                                        <p><span class="" id="Results<?php echo $key?>"></span></p> 
     176                                                </td> 
     177                                        </tr> 
     178                                        <?php 
     179 
     180                                }//end if 
     181 
     182                        }//end foreach 
     183 
     184                        ?></tbody></table><?php 
     185 
     186                }//end function displayInstallTable 
     187 
     188        }//end class 
     189 
     190 
     191 
     192        class installUpdateBase{ 
     193 
     194                var $db; 
     195                var $phpbmsSession; 
     196 
     197                function returnJSON($success, $details, $extras = null){ 
     198 
     199                        $thereturn["success"] = $success; 
     200                        $thereturn["details"] = $details; 
     201 
     202                        if($extras) 
     203                                $thereturn["extras"] = $extras; 
     204 
     205                        return json_encode($thereturn); 
     206 
     207                }//endfunction returnJSON 
     208 
     209        }//end class installUpdateBase 
     210 
    152211 
    153212?> 
  • trunk/phpbms/install/menu.sql

    r386 r485  
    1 INSERT INTO `menu` (`id`, `name`, `link`, `parentid`, `displayorder`, `createdby`, `modifiedby`, `creationdate`, `modifieddate`, `roleid`) VALUES ('1', 'Organizer', '', '0', '3', '1', '1', NOW(), NOW(), '0'); 
     1INSERT INTO `menu` (`id`, `name`, `link`, `parentid`, `displayorder`, `createdby`, `modifiedby`, `creationdate`, `modifieddate`, `roleid`) VALUES ('1', 'Tools', '', '0', '3', '1', '1', NOW(), NOW(), '0'); 
    22INSERT INTO `menu` (`id`, `name`, `link`, `parentid`, `displayorder`, `createdby`, `modifiedby`, `creationdate`, `modifieddate`, `roleid`) VALUES ('2', 'Notes', 'search.php?id=12', '1', '1', '1', '1', NOW(), NOW(), '0'); 
    33INSERT INTO `menu` (`id`, `name`, `link`, `parentid`, `displayorder`, `createdby`, `modifiedby`, `creationdate`, `modifieddate`, `roleid`) VALUES ('3', 'Tasks', 'search.php?id=23', '1', '2', '1', '1', NOW(), NOW(), '0'); 
  • trunk/phpbms/install/notes.sql

    r308 r485  
    11INSERT INTO `notes` (`assignedtoid`, `attachedid`, `attachedtabledefid`, `content`, `assignedtodate`, `subject`, `type`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`, `importance`, `parentid`, `startdate`, `enddate`, `completed`, `private`, `status`, `completeddate`, `location`, `category`, `assignedtotime`, `starttime`, `endtime`, `assignedbyid`, `repeating`, `repeattype`, `repeatuntil`, `repeatevery`, `repeattimes`, `repeateachlist`, `repeatontheday`, `repeatontheweek`, `firstrepeat`, `lastrepeat`, `timesrepeated`, `repeatname`) VALUES (NULL,NULL,NULL,'For more help using this software use the following links:\r\n\r\nhttp://www.phpbms.org - community site and wiki.\r\n\r\nhttp://www.phpbms.org/forum -user support forum.\r\n\r\nhttp://www.kreotek.com - paid support and customization.',NULL,'Welcome to phpBMS','SM',1,NOW(),1,NOW(),0,NULL,NULL,NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,'Daily',NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL); 
     2INSERT INTO `notes` (`assignedtoid`, `attachedid`, `attachedtabledefid`, `content`, `assignedtodate`, `subject`, `type`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`, `importance`, `parentid`, `startdate`, `enddate`, `completed`, `private`, `status`, `completeddate`, `location`, `category`, `assignedtotime`, `starttime`, `endtime`, `assignedbyid`, `repeating`, `repeattype`, `repeatuntil`, `repeatevery`, `repeattimes`, `repeateachlist`, `repeatontheday`, `repeatontheweek`, `firstrepeat`, `lastrepeat`, `timesrepeated`, `repeatname`) VALUES (NULL, NULL, NULL, '1) From the menu, navigate to Tools->Notes.\r\n2) From the find drop down, choose \'System Messages\' and then click the search button.\r\n3) Select the record(s) you want to delete and then click the delete (-) button.', NULL, 'How To Delete System Messages', 'SM', 1, NOW(), 1, NOW(), '0', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'Daily', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL); 
  • trunk/phpbms/install/scheduler.sql

    r427 r485  
    1 INSERT INTO `scheduler` (`name`, `job`, `crontab`, `lastrun`, `startdatetime`, `enddatetime`, `description`, `inactive`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('clean import files', '/scheduler_delete_tempimport.php', '30::*::*::*::*', NULL, NOW(), NULL, 'This will delete any temporary import files that are present (for whatever reason) after 30 minutes of their creation.', '0', 1, NOW(), 1, NOW()); 
     1INSERT INTO `scheduler` (`name`, `job`, `crontab`, `lastrun`, `startdatetime`, `enddatetime`, `description`, `inactive`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('Clean Import Files', './scheduler_delete_tempimport.php', '30::*::*::*::*', NULL, NOW(), NULL, 'This will delete any temporary import files that are present (for whatever reason) after 30 minutes of their creation.', '0', 1, NOW(), 1, NOW()); 
     2INSERT INTO `scheduler` (`id`, `name`, `job`, `crontab`, `lastrun`, `startdatetime`, `enddatetime`, `description`, `inactive`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('4', 'Remove Excess System Log Records', './scheduler_delete_logs.php', '*::24::*::*::*', NULL, '2009-03-31 12:00:00', NULL, 'This script will trim the system log when there are more than 2000 records present at the time of its calling (default will be every 24 hours).', '0', 1, NOW(), 1, NOW()); 
  • trunk/phpbms/install/tablecolumns.sql

    r384 r485  
    1 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (9,'log in name','users.login','left','',1,'',0,'',NULL,0); 
    2 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (9,'name','concat(users.firstname,\" \",users.lastname)','left','',0,'',0,'100%',NULL,0); 
    3 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (9,'last login','users.lastlogin','left','',3,'',0,'','datetime',0); 
    4 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (9,'revoked','users.revoked','center','',2,'',0,'','boolean',0); 
    5 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (10,'name','relationships.name','left','',0,'',0,'100%',NULL,0); 
    6 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (10,'to','concat(totable.maintable, \'.\', relationships.tofield)','left','',2,'',0,'',NULL,0); 
    7 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (10,'from','concat(fromtable.maintable, \'.\', relationships.fromfield)','left','',1,'',0,'',NULL,0); 
    8 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (10,'inherent','relationships.inherint','center','',3,'',0,'','boolean',0); 
    9 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (11,'id','tabledefs.id','center','',0,'',0,'',NULL,0); 
    10 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (11,'main table','tabledefs.maintable','left','',3,'',0,'',NULL,0); 
    11 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (11,'display','tabledefs.displayname','left','',1,'',0,'100%',NULL,0); 
    12 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (11,'type','tabledefs.type','center','',2,'',0,'',NULL,0); 
    13 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (12,'done','notes.completed','center','',1,'',0,'','boolean',0); 
    14 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (12,'title','notes.subject','left','',0,'',1,'99%',NULL,0); 
    15 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (16,'id','reports.id','center','',0,'',0,'',NULL,0); 
    16 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (16,'name','reports.name','left','',1,'',0,'100%','noencoding',0); 
    17 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (16,'type','reports.type','left','',3,'',0,'',NULL,0); 
    18 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (16,'order','reports.displayorder','center','',2,'',0,'',NULL,0); 
    19 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (17,'id','usersearches.id','center','',0,'',0,'',NULL,0); 
    20 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (17,'name','usersearches.name','left','',1,'',0,'100%',NULL,0); 
    21 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (17,'user','if(usersearches.userid=0,\"<b>global</b>\",concat(users.lastname,\", \",users.firstname))','left','',2,NULL,0,'','noencoding',0); 
    22 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (19,'id','menu.id','center','',0,'',0,'',NULL,0); 
    23 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (19,'link','menu.link','left','',2,'',1,'',NULL,0); 
    24 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (19,'access','if(menu.roleid=0,\'EVERYONE\',if(menu.roleid=-100,\'Administrators\',roles.name))','left','',3,'',0,'',NULL,0); 
    25 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (19,'Item','menu.name','left','',1,'',0,'100%',NULL,0); 
    26 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (21,'id','modules.id','center','',0,'',0,'',NULL,0); 
    27 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (21,'name','modules.displayname','left','',1,'',1,'100%',NULL,0); 
    28 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (21,'version','modules.version','left','',2,'',0,'',NULL,0); 
    29 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (23,'complete','notes.completed','center','',1,'',0,'','boolean',0); 
    30 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (23,'title','notes.subject','left','',2,'',1,'65%',NULL,0); 
    31 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (23,'repeat','notes.repeatname','left','',3,'',1,'30%',NULL,0); 
    32 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (23,'due date','if(notes.endtime is not null,concat(notes.enddate,\" \",notes.endtime),notes.enddate)','left','',0,'',0,'','datetime',0); 
    33 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (24,'start','if(notes.starttime,concat(notes.startdate,\" \",notes.starttime),notes.startdate)','left','',0,'concat(notes.startdate,\" \",notes.starttime)',0,'','datetime',0); 
    34 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (24,'end','if(notes.endtime,concat(notes.enddate,\" \",notes.endtime),notes.enddate)','left','',1,'concat(notes.enddate,\" \",notes.endtime)',0,'','datetime',0); 
    35 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (24,'title','notes.subject','left','',2,'',1,'65%',NULL,0); 
    36 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (24,'status','notes.status','left','',3,'',0,'',NULL,0); 
    37 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (24,'repeating','notes.repeatname','left','',5,'',1,'30%',NULL,0); 
    38 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (24,'location','notes.location','left','',4,'',1,'',NULL,0); 
    39 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (26,'id','files.id','left','',0,'',0,'',NULL,0); 
    40 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (26,'description','files.description','left','',2,'',1,'99%',NULL,0); 
    41 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (26,'file','files.name','left','',1,'',0,'',NULL,0); 
    42 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (26,'download','files.id','center','',3,'',0,'','filelink',0); 
    43 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (27,'attached','attachments.creationdate','left','',2,'',0,'','datetime',0); 
    44 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (27,'file','concat(\"<b>\",files.name,\"</b>\")','left','',0,NULL,0,'','noencoding',0); 
    45 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (27,'download','files.id','center','',3,'',0,'','filelink',0); 
    46 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (27,'description','files.description','left','',1,'',1,'100%',NULL,0); 
    47 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (200,'name','roles.name','left','',1,'',0,'99%',NULL,0); 
    48 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (200,'inactive','roles.inactive','center','',2,'',0,'','boolean',0); 
    49 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (200,'id','roles.id','left','',0,'',0,'',NULL,0); 
    50 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (201,'name','scheduler.name','left','',0,'',0,'95%',NULL,0); 
    51 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (201,'cron interval','scheduler.crontab','left','',1,'',0,'',NULL,0); 
    52 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (201,'inactive','scheduler.inactive','center','',2,'',0,'','boolean',0); 
    53 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (202,'time','log.stamp','left','',1,'',0,'','datetime',0); 
    54 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (202,'id','log.id','left','',0,'',0,'',NULL,0); 
    55 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (202,'type','log.type','left','',2,'',0,'',NULL,0); 
    56 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (202,'value','log.value','left','',3,'',1,'90%',NULL,0); 
    57 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (202,'user','concat(users.firstname,\" \",users.lastname)','left','',4,'',0,'',NULL,0); 
    58 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (202,'ip address','log.ip','left','',5,'',0,'',NULL,0); 
    59 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (203,'name','tabs.name','left','',1,'',0,'',NULL,0); 
    60 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (203,'location','tabs.location','left','',2,'',1,'95%',NULL,0); 
    61 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (203,'display order','tabs.displayorder','center','',3,'',0,'',NULL,0); 
    62 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (203,'id','tabs.id','left','',0,'',0,'',NULL,0); 
    63 INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES (203,'access','if(tabs.roleid=0,\'EVERYONE\',if(tabs.roleid=-100,\'Administrators\',roles.name))','left','',4,'',0,'',NULL,0); 
     1INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('9', 'log in name', 'users.login', 'left', '', '1', '', '0', '', NULL, '0'); 
     2INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('9', 'name', 'concat(users.firstname,\" \",users.lastname)', 'left', '', '0', '', '0', '100%', NULL, '0'); 
     3INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('9', 'last login', 'users.lastlogin', 'left', '', '3', '', '0', '', 'datetime', '0'); 
     4INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('9', 'revoked', 'users.revoked', 'center', '', '2', '', '0', '', 'boolean', '0'); 
     5INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('10', 'name', 'relationships.name', 'left', '', '0', '', '0', '100%', NULL, '0'); 
     6INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('10', 'to', 'concat(totable.maintable, \'.\', relationships.tofield)', 'left', '', '2', '', '0', '', NULL, '0'); 
     7INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('10', 'from', 'concat(fromtable.maintable, \'.\', relationships.fromfield)', 'left', '', '1', '', '0', '', NULL, '0'); 
     8INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('10', 'inherent', 'relationships.inherint', 'center', '', '3', '', '0', '', 'boolean', '0'); 
     9INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('11', 'id', 'tabledefs.id', 'center', '', '0', '', '0', '', NULL, '0'); 
     10INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('11', 'main table', 'tabledefs.maintable', 'left', '', '3', '', '0', '', NULL, '0'); 
     11INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('11', 'display', 'tabledefs.displayname', 'left', '', '1', '', '0', '100%', NULL, '0'); 
     12INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('11', 'type', 'tabledefs.type', 'center', '', '2', '', '0', '', NULL, '0'); 
     13INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('12', 'done', 'notes.completed', 'center', '', '1', '', '0', '', 'boolean', '0'); 
     14INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('12', 'title', 'notes.subject', 'left', '', '0', '', '1', '99%', NULL, '0'); 
     15INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('16', 'id', 'reports.id', 'center', '', '0', '', '0', '', NULL, '0'); 
     16INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('16', 'name', 'reports.name', 'left', '', '1', '', '0', '100%', 'noencoding', '0'); 
     17INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('16', 'type', 'reports.type', 'left', '', '3', '', '0', '', NULL, '0'); 
     18INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('16', 'order', 'reports.displayorder', 'center', '', '2', '', '0', '', NULL, '0'); 
     19INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('17', 'id', 'usersearches.id', 'center', '', '0', '', '0', '', NULL, '0'); 
     20INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('17', 'name', 'usersearches.name', 'left', '', '1', '', '0', '100%', NULL, '0'); 
     21INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('17', 'user', 'if(usersearches.userid=0,\"<b>global</b>\",concat(users.lastname,\", \",users.firstname))', 'left', '', '2', NULL, '0', '', 'noencoding', '0'); 
     22INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('19', 'id', 'menu.id', 'center', '', '0', '', '0', '', NULL, '0'); 
     23INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('19', 'link', 'menu.link', 'left', '', '2', '', '1', '', NULL, '0'); 
     24INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('19', 'access', 'if(menu.roleid=0,\'EVERYONE\',if(menu.roleid=-100,\'Administrators\',roles.name))', 'left', '', '3', '', '0', '', NULL, '0'); 
     25INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('19', 'Item', 'menu.name', 'left', '', '1', '', '0', '100%', NULL, '0'); 
     26INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('21', 'id', 'modules.id', 'center', '', '0', '', '0', '', NULL, '0'); 
     27INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('21', 'name', 'modules.displayname', 'left', '', '1', '', '1', '100%', NULL, '0'); 
     28INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('21', 'version', 'modules.version', 'left', '', '2', '', '0', '', NULL, '0'); 
     29INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('23', 'complete', 'notes.completed', 'center', '', '1', '', '0', '', 'boolean', '0'); 
     30INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('23', 'title', 'notes.subject', 'left', '', '2', '', '1', '65%', NULL, '0'); 
     31INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('23', 'repeat', 'notes.repeatname', 'left', '', '3', '', '1', '30%', NULL, '0'); 
     32INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('23', 'due date', 'if(notes.endtime is not null,concat(notes.enddate,\" \",notes.endtime),notes.enddate)', 'left', '', '0', '', '0', '', 'datetime', '0'); 
     33INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('24', 'start', 'if(notes.starttime,concat(notes.startdate,\" \",notes.starttime),notes.startdate)', 'left', '', '0', 'concat(notes.startdate,\" \",notes.starttime)', '0', '', 'datetime', '0'); 
     34INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('24', 'end', 'if(notes.endtime,concat(notes.enddate,\" \",notes.endtime),notes.enddate)', 'left', '', '1', 'concat(notes.enddate,\" \",notes.endtime)', '0', '', 'datetime', '0'); 
     35INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('24', 'title', 'notes.subject', 'left', '', '2', '', '1', '65%', NULL, '0'); 
     36INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('24', 'status', 'notes.status', 'left', '', '3', '', '0', '', NULL, '0'); 
     37INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('24', 'repeating', 'notes.repeatname', 'left', '', '5', '', '1', '30%', NULL, '0'); 
     38INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('24', 'location', 'notes.location', 'left', '', '4', '', '1', '', NULL, '0'); 
     39INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('26', 'id', 'files.id', 'left', '', '0', '', '0', '', NULL, '0'); 
     40INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('26', 'description', 'files.description', 'left', '', '2', '', '1', '99%', NULL, '0'); 
     41INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('26', 'file', 'files.name', 'left', '', '1', '', '0', '', NULL, '0'); 
     42INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('26', 'download', 'files.id', 'center', '', '3', '', '0', '', 'filelink', '0'); 
     43INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('27', 'attached', 'attachments.creationdate', 'left', '', '2', '', '0', '', 'datetime', '0'); 
     44INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('27', 'file', 'concat(\"<b>\",files.name,\"</b>\")', 'left', '', '0', NULL, '0', '', 'noencoding', '0'); 
     45INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('27', 'download', 'files.id', 'center', '', '3', '', '0', '', 'filelink', '0'); 
     46INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('27', 'description', 'files.description', 'left', '', '1', '', '1', '100%', NULL, '0'); 
     47INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('200', 'name', 'roles.name', 'left', '', '1', '', '0', '99%', NULL, '0'); 
     48INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('200', 'inactive', 'roles.inactive', 'center', '', '2', '', '0', '', 'boolean', '0'); 
     49INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('200', 'id', 'roles.id', 'left', '', '0', '', '0', '', NULL, '0'); 
     50INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('201', 'name', 'scheduler.name', 'left', '', '0', '', '0', '95%', NULL, '0'); 
     51INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('201', 'cron interval', 'scheduler.crontab', 'left', '', '1', '', '0', '', NULL, '0'); 
     52INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('201', 'inactive', 'scheduler.inactive', 'center', '', '2', '', '0', '', 'boolean', '0'); 
     53INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('202', 'time', 'log.stamp', 'left', '', '1', '', '0', '', 'datetime', '0'); 
     54INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('202', 'id', 'log.id', 'left', '', '0', '', '0', '', NULL, '0'); 
     55INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('202', 'type', 'log.type', 'left', '', '2', '', '0', '', NULL, '0'); 
     56INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('202', 'value', 'log.value', 'left', '', '3', '', '1', '90%', NULL, '0'); 
     57INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('202', 'user', 'concat(users.firstname,\" \",users.lastname)', 'left', '', '4', '', '0', '', NULL, '0'); 
     58INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('202', 'ip address', 'log.ip', 'left', '', '5', '', '0', '', NULL, '0'); 
     59INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('203', 'name', 'tabs.name', 'left', '', '1', '', '0', '', NULL, '0'); 
     60INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('203', 'location', 'tabs.location', 'left', '', '2', '', '1', '95%', NULL, '0'); 
     61INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('203', 'display order', 'tabs.displayorder', 'center', '', '3', '', '0', '', NULL, '0'); 
     62INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('203', 'id', 'tabs.id', 'left', '', '0', '', '0', '', NULL, '0'); 
     63INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('203', 'access', 'if(tabs.roleid=0,\'EVERYONE\',if(tabs.roleid=-100,\'Administrators\',roles.name))', 'left', '', '4', '', '0', '', NULL, '0'); 
    6464INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('204', 'name', 'smartsearches.name', 'left', '', '0', '', '1', '99%', NULL, '0'); 
    6565INSERT INTO `tablecolumns` (`tabledefid`, `name`, `column`, `align`, `footerquery`, `displayorder`, `sortorder`, `wrap`, `size`, `format`, `roleid`) VALUES ('204', 'table', 'tabledefs.displayname', 'left', '', '1', '', '0', '', NULL, '0'); 
  • trunk/phpbms/install/tabledefs.sql

    r427 r485  
    1 INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('9', 'Users', 'system', '1', 'users', 'users', 'modules/base/users_addedit.php', '0', 'modules/base/users_addedit.php', '0', 'modules/base/users_import.php', '-100', '0', '-100', '-100', 'revoke', 'users.id !=0', 'users.id', NULL, NULL, NULL, 1, NOW(), 1, NOW()); 
    2 INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('10', 'Relationships', 'system', '1', 'relationships', '(relationships inner join tabledefs as fromtable on relationships.fromtableid=fromtable.id) inner join tabledefs as totable on relationships.totableid=totable.id', 'modules/base/relationships_addedit.php', '0', 'modules/base/relationships_addedit.php', '0', NULL, '-100', '0', '-100', '-100', 'delete', 'relationships.id != 0', 'fromtable.displayname, name', '', '', '', 1, NOW(), 1, NOW()); 
    3 INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('11', 'Table Definitions', 'system', '1', 'tabledefs', 'tabledefs left join modules on tabledefs.moduleid=modules.id', 'modules/base/tabledefs_addedit.php', '-100', 'modules/base/tabledefs_addedit.php', '-100', NULL, '-100', '-100', '-100', '-100', 'delete', 'tabledefs.id != 0', 'modules.name, tabledefs.displayname', '', '', '', 1, NOW(), 1, NOW()); 
     1INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('9', 'Users', 'system', '1', 'users', 'users', 'modules/base/users_addedit.php', '0', 'modules/base/users_addedit.php', '0', NULL, '-100', '0', '-100', '-100', 'revoke', 'users.id !=0', 'users.id', NULL, NULL, NULL, 1, NOW(), 1, NOW()); 
     2INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('10', 'Relationships', 'system', '1', 'relationships', '(relationships inner join tabledefs as fromtable on relationships.fromtableid=fromtable.id) inner join tabledefs as totable on relationships.totableid=totable.id', 'modules/base/relationships_addedit.php', '0', 'modules/base/relationships_addedit.php', '0', NULL, '-100', '0', '-100', '-100', 'delete', 'relationships.id != 0', 'fromtable.displayname, name', NULL, NULL, NULL, 1, NOW(), 1, NOW()); 
     3INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('11', 'Table Definitions', 'system', '1', 'tabledefs', 'tabledefs left join modules on tabledefs.moduleid=modules.id', 'modules/base/tabledefs_addedit.php', '-100', 'modules/base/tabledefs_addedit.php', '-100', NULL, '-100', '-100', '-100', '-100', 'delete', 'tabledefs.id != 0', 'modules.name, tabledefs.displayname', NULL, NULL, NULL, 1, NOW(), 1, NOW()); 
    44INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('12', 'Notes', 'table', '1', 'notes', 'notes', 'modules/base/notes_addedit.php', '0', 'modules/base/notes_addedit.php', '0', NULL, '-100', '0', '-100', '-100', 'delete', 'notes.type=\'NT\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}} AND completed=0', 'notes.category,notes.type,notes.importance DESC,notes.creationdate', 'search', 'My Unread Notes', 'new', 1, NOW(), 1, NOW()); 
    5 INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('16', 'Reports', 'system', '1', 'reports', 'reports left join tabledefs on reports.tabledefid=tabledefs.id', 'modules/base/reports_addedit.php', '0', 'modules/base/reports_addedit.php', '0', NULL, '-100', '0', '-100', '-100', 'delete', 'reports.id != 0', 'tabledefid,displayorder DESC, reports.name', '', '', '', 1, NOW(), 1, NOW()); 
    6 INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('17', 'Saved Searches/Sorts', 'system', '1', 'usersearches', '(usersearches left join users on usersearches.userid = users.id) inner join tabledefs on usersearches.tabledefid=tabledefs.id', 'modules/base/usersearches_edit.php', '0', 'N/A', '0', NULL, '-100', '0', '-100', '-100', 'delete', 'usersearches.id != 0', 'usersearches.name', '', '', '', 1, NOW(), 1, NOW()); 
    7 INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('19', 'Menu', 'system', '1', 'menu', '((menu LEFT JOIN menu as parentmenu on menu.parentid=parentmenu.id) LEFT JOIN roles on menu.roleid=roles.id)', 'modules/base/menu_addedit.php', '-100', 'modules/base/menu_addedit.php', '-100', NULL, '-100', '-100', '-100', '-100', 'delete', 'menu.id!=0', 'if(parentmenu.name is null,menu.displayorder,parentmenu.displayorder+(menu.displayorder+1)/10000)', '', '', '', 1, NOW(), 1, NOW()); 
     5INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('16', 'Reports', 'system', '1', 'reports', 'reports left join tabledefs on reports.tabledefid=tabledefs.id', 'modules/base/reports_addedit.php', '0', 'modules/base/reports_addedit.php', '0', NULL, '-100', '0', '-100', '-100', 'delete', 'reports.id != 0', 'tabledefid,displayorder DESC, reports.name', NULL, NULL, NULL, 1, NOW(), 1, NOW()); 
     6INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('17', 'Saved Searches/Sorts', 'system', '1', 'usersearches', '(usersearches left join users on usersearches.userid = users.id) inner join tabledefs on usersearches.tabledefid=tabledefs.id', 'modules/base/usersearches_edit.php', '0', 'N/A', '0', NULL, '-100', '0', '-100', '-100', 'delete', 'usersearches.id != 0', 'usersearches.name', NULL, NULL, NULL, 1, NOW(), 1, NOW()); 
     7INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('19', 'Menu', 'system', '1', 'menu', '((menu LEFT JOIN menu as parentmenu on menu.parentid=parentmenu.id) LEFT JOIN roles on menu.roleid=roles.id)', 'modules/base/menu_addedit.php', '-100', 'modules/base/menu_addedit.php', '-100', NULL, '-100', '-100', '-100', '-100', 'delete', 'menu.id!=0', 'if(parentmenu.name is null,menu.displayorder,parentmenu.displayorder+(menu.displayorder+1)/10000)', NULL, NULL, NULL, 1, NOW(), 1, NOW()); 
    88INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('21', 'Installed Modules', 'system', '1', 'modules', 'modules', 'modules/base/modules_view.php', '0', 'modules/base/modules_view.php', '0', NULL, '-100', '0', '-100', '-100', 'NA', 'modules.id!=0', 'modules.name', '', '', '', 1, NOW(), 1, NOW()); 
    99INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('23', 'Tasks', 'view', '1', 'notes', '((notes left join users as assignedto on assignedto.id= notes.assignedtoid)  left join users as assignedby on assignedby.id=notes.assignedbyid)', 'modules/base/notes_addedit.php?backurl=../../search.php?id=23', '0', 'modules/base/notes_addedit.php?ty=TS&backurl=../../search.php?id=23', '0', NULL, '-100', '0', '-100', '-100', 'delete', 'notes.type=\'TS\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}} AND completed=0', 'notes.category,notes.enddate,notes.endtime,notes.startdate,notes.starttime,notes.importance DESC,notes.subject', 'search', 'My Uncompleted Tasks', '', 1, NOW(), 1, NOW()); 
    1010INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('24', 'Events', 'view', '1', 'notes', '((notes left join users as assignedto on assignedto.id= notes.assignedtoid)  left join users as assignedby on assignedby.id=notes.assignedbyid)', 'modules/base/notes_addedit.php?backurl=../../search.php?id=24', '0', 'modules/base/notes_addedit.php?ty=EV&backurl=../../search.php?id=24', '0', NULL, '-100', '0', '-100', '-100', 'delete', 'notes.type=\'EV\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}} AND ((notes.startdate = year(notes.startdate)=year(curdate()) and week(notes.startdate)=week(curdate())))', 'notes.startdate DESC,notes.starttime DESC,notes.enddate DESC,notes.endtime DESC,notes.importance', 'search', NULL, NULL, 1, NOW(), 1, NOW()); 
    11 INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('26', 'Files', 'table', '1', 'files', 'files', 'modules/base/files_addedit.php', '0', 'modules/base/files_addedit.php', '0', NULL, '-100', '-100', '-100', '-100', 'delete', 'files.id=-1', 'files.name', 'search', '', '', 1, NOW(), 1, NOW()); 
     11INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('26', 'Files', 'table', '1', 'files', 'files', 'modules/base/files_addedit.php', '0', 'modules/base/files_addedit.php', '0', NULL, '-100', '-100', '-100', '-100', 'delete', 'files.id=-1', 'files.name', 'search', NULL, NULL, 1, NOW(), 1, NOW()); 
    1212INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('27', 'Attachments', 'table', '1', 'attachments', '(attachments INNER JOIN files on attachments.fileid=files.id)', 'modules/base/files_addedit.php', '0', 'modules/base/files_addedit.php', '0', NULL, '-100', '0', '-100', '-100', 'delete', 'attachments.id!=0', 'attachments.creationdate DESC', 'search', '', '', 1, NOW(), 1, NOW()); 
    13 INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('200', 'Roles', 'table', '1', 'roles', 'roles', 'modules/base/roles_addedit.php', '-100', 'modules/base/roles_addedit.php', '-100', NULL, '-100', '-100', '-100', '-100', 'inactivate', 'roles.id!=-1', 'name', 'search', '', '', 1, NOW(), 1, NOW()); 
    14 INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('201', 'Scheduler', 'system', '1', 'scheduler', 'scheduler', 'modules/base/scheduler_addedit.php', '-100', 'modules/base/scheduler_addedit.php', '-100', NULL, '-100', '-100', '-100', '-100', 'delete', 'scheduler.id!=0', 'scheduler.name', '', '', '', 1, NOW(), 1, NOW()); 
     13INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('200', 'Roles', 'table', '1', 'roles', 'roles', 'modules/base/roles_addedit.php', '-100', 'modules/base/roles_addedit.php', '-100', NULL, '-100', '-100', '-100', '-100', 'inactivate', 'roles.id!=-1', 'name', 'search', NULL, NULL, 1, NOW(), 1, NOW()); 
     14INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('201', 'Scheduler', 'system', '1', 'scheduler', 'scheduler', 'modules/base/scheduler_addedit.php', '-100', 'modules/base/scheduler_addedit.php', '-100', NULL, '-100', '-100', '-100', '-100', 'delete', 'scheduler.id!=0', 'scheduler.name', NULL, NULL, NULL, 1, NOW(), 1, NOW()); 
    1515INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('202', 'System Log', 'system', '1', 'log', 'log LEFT JOIN users ON log.userid=users.id', 'N/A', '-100', 'N/A', '-100', NULL, '-100', '-100', '-100', '-100', 'delete', 'log.stamp> DATE_SUB(CURDATE(),INTERVAL 1 DAY)', 'log.stamp', '', '', '', 1, NOW(), 1, NOW()); 
    1616INSERT INTO `tabledefs` (`id`, `displayname`, `type`, `moduleid`, `maintable`, `querytable`, `editfile`, `editroleid`, `addfile`, `addroleid`, `importfile`, `importroleid`, `searchroleid`, `advsearchroleid`, `viewsqlroleid`, `deletebutton`, `defaultwhereclause`, `defaultsortorder`, `defaultsearchtype`, `defaultcriteriafindoptions`, `defaultcriteriaselection`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('203', 'Tabs', 'system', '1', 'tabs', 'tabs LEFT JOIN roles ON tabs.roleid=roles.id', 'modules/base/tabs_addedit.php', '-100', 'modules/base/tabs_addedit.php', '-100', NULL, '-100', '-100', '-100', '-100', 'delete', 'tabs.id!=0', 'tabs.tabgroup,tabs.displayorder', '', '', '', 1, NOW(), 1, NOW()); 
  • trunk/phpbms/install/tablefindoptions.sql

    r384 r485  
    1 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (3,9,'All Users','users.id!=0',1,0); 
    2 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (4,9,'Revoked Users','users.revoked=1',1,0); 
    3 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (13,10,'All Records','relationships.id !=0',1,0); 
    4 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (5,11,'All Records','tabledefs.id !=0',1,0); 
    5 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (70,12,'Unread Notes Assigned By Me','notes.type=\'NT\' and notes.assignedbyid={{$_SESSION[\'userinfo\'][\'id\']}} and notes.completed=0',3,0); 
    6 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (69,12,'Unread Notes Assigned To Me','notes.type=\'NT\' and notes.assignedtoid={{$_SESSION[\'userinfo\'][\'id\']}} and notes.completed=0',2,0); 
    7 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (20,12,'My Notes','notes.type=\'NT\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}}',1,0); 
    8 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (21,12,'All Viewable Notes and System Notes','notes.type=\'SM\' OR ( notes.type=\'NT\' AND !(notes.private=1 AND notes.createdby!={{$_SESSION[\'userinfo\'][\'id\']}}))',7,0); 
    9 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (14,16,'All Reports','reports.id != 0',1,0); 
    10 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (15,17,'All Records','usersearches.id != 0',1,0); 
    11 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (42,19,'All Records','menu.id!=0',1,0); 
    12 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (43,21,'All Records','modules.id!=0',1,0); 
    13 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (71,12,'System Messages','notes.type=\"SM\"',4,0); 
    14 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (72,12,'Public Notes','notes.type=\'NT\' AND notes.private=0',6,0); 
    15 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (73,12,'My Unread Notes','notes.type=\'NT\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}} AND completed=0',0,0); 
    16 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (74,12,'Public Unread Notes','notes.type=\'NT\' AND notes.private=0 AND notes.completed=0',5,0); 
    17 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (76,23,'My Uncompleted Tasks','notes.type=\'TS\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}} AND completed=0',0,0); 
    18 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (77,23,'My Tasks','notes.type=\'TS\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}}',1,0); 
    19 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (78,23,'Uncomplete Tasks Assigned To Me','notes.type=\'TS\' and notes.assignedtoid={{$_SESSION[\'userinfo\'][\'id\']}} and notes.completed=0',2,0); 
    20 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (79,23,'Uncomplete Tasks Assigned By Me','notes.type=\'NT\' and notes.assignedbyid={{$_SESSION[\'userinfo\'][\'id\']}} and notes.completed=0',3,0); 
    21 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (80,23,'Public Uncomplete Tasks','notes.type=\'TS\' AND notes.private=0 AND notes.completed=0',4,0); 
    22 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (81,23,'Public Tasks','notes.type=\'NT\' AND notes.private=0',5,0); 
    23 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (82,23,'All Viewable Tasks','notes.type=\'TS\' AND !(notes.private=1 AND notes.createdby!={{$_SESSION[\'userinfo\'][\'id\']}})',6,0); 
    24 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (83,24,'My Events','notes.type=\'EV\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}}',0,0); 
    25 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (84,24,'Public Events','notes.type=\'EV\' AND notes.private=0',8,0); 
    26 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (85,24,'Undone Events Assigned To Me','notes.type=\'EV\' and notes.assignedtoid={{$_SESSION[\'userinfo\'][\'id\']}} and notes.completed=0',17,0); 
    27 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (86,24,'Undone Events Assigned By Me','notes.type=\'NT\' and notes.assignedbyid={{$_SESSION[\'userinfo\'][\'id\']}} and notes.completed=0',16,0); 
    28 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (87,24,'All Viewable Events','notes.type=\'EV\' AND !(notes.private=1 AND notes.createdby!={{$_SESSION[\'userinfo\'][\'id\']}})',18,0); 
    29 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (88,24,'My Events - Today','notes.type=\'EV\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}} AND ((notes.startdate = curdate()) OR notes.`repeat`=1)',1,0); 
    30 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (89,24,'My Events - Yesterday','notes.type=\'EV\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}} AND ((notes.startdate = date_sub(curdate(),INTERVAL 1 DAY)) OR notes.`repeat`=1)',2,0); 
    31 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (90,24,'My Events - This Week','notes.type=\'EV\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}} AND ((notes.startdate = year(notes.startdate)=year(curdate()) and week(notes.startdate)=week(curdate())) OR notes.repeat=1)',4,0); 
    32 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (91,24,'My Events - This Month','notes.type=\'EV\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}} AND ((notes.startdate = year(notes.startdate)=year(curdate()) and month(notes.startdate)=month(curdate())) OR notes.repeat=1)',6,0); 
    33 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (92,24,'My Events - Tomorrow','notes.type=\'EV\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}} AND (notes.startdate = date_add(curdate(),INTERVAL 1 DAY) OR notes.repeat=1)',3,0); 
    34 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (93,24,'My Events - Next Month','notes.type=\'EV\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}} AND ((year(notes.startdate)=year(date_add(curdate(),INTERVAL 1 MONTH)) and month(notes.startdate)=month(date_add(curdate(),INTERVAL 1 MONTH))) OR notes.repeat=1)',7,0); 
    35 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (94,24,'My Events - Next Week','notes.type=\'EV\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}} AND ((notes.startdate = year(notes.startdate)=year(date_add(curdate(),INTERVAL 1 WEEK)) and week(notes.startdate)=week(date_add(curdate(),INTERVAL 1 WEEK))) OR notes.repeat=1)',5,0); 
    36 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (95,24,'Public Events - Today','notes.type=\'EV\' AND notes.private=0 AND ((notes.startdate = curdate()) OR notes.repeat=1)',9,0); 
    37 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (96,24,'Public Events - Yesterday','notes.type=\'EV\' AND notes.private=0 AND ((notes.startdate = date_sub(curdate(),INTERVAL 1 DAY)) OR notes.repeat=1)',10,0); 
    38 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (97,24,'Public Events - Tomorrow','notes.type=\'EV\' AND notes.private=0 AND (notes.startdate = date_add(curdate(),INTERVAL 1 DAY) OR notes.repeat=1)',11,0); 
    39 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (98,24,'Public Events - This Week','notes.type=\'EV\' AND notes.private=0 AND ((notes.startdate = year(notes.startdate)=year(curdate()) and week(notes.startdate)=week(curdate())) OR notes.repeat=1)',12,0); 
    40 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (99,24,'Public Events - Next Week','notes.type=\'EV\' AND notes.private=0 AND ((notes.startdate = year(notes.startdate)=year(date_add(curdate(),INTERVAL 1 WEEK)) and week(notes.startdate)=week(date_add(curdate(),INTERVAL 1 WEEK))) OR notes.repeat=1)',13,0); 
    41 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (100,24,'Public Events - This Month','notes.type=\'EV\' AND notes.private=0 AND ((notes.startdate = year(notes.startdate)=year(curdate()) and month(notes.startdate)=month(curdate())) OR notes.repeat=1)',14,0); 
    42 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (101,24,'Public Events - Next Month','notes.type=\'EV\' notes.private=0 AND ((year(notes.startdate)=year(date_add(curdate(),INTERVAL 1 MONTH)) and month(notes.startdate)=month(date_add(curdate(),INTERVAL 1 MONTH))) OR notes.repeat=1)',15,0); 
    43 INSERT INTO `tablefindoptions` (`id`, `tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (108,26,'All Records','files.id!=0',0,0); 
    44 INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (200,'Active Roles','roles.inactive=0',0,0); 
    45 INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (200,'Inactive Roles','roles.inactive=1',1,0); 
    46 INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (200,'All Records','roles.id!=-100',2,0); 
    47 INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (201,'all records','scheduler.id!=0',0,0); 
    48 INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (202,'entries within last day','log.stamp> DATE_SUB(CURDATE(),INTERVAL 1 DAY)',0,0); 
    49 INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (202,'entries within last week','log.stamp> DATE_SUB(CURDATE(),INTERVAL 1 WEEK)',1,0); 
    50 INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (202,'all entries','log.id!=-1',2,0); 
    51 INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES (203,'All Records','tabs.id!=-1',0,-100); 
     1INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('9', 'All Users', 'users.id!=0', '1', '0'); 
     2INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('9', 'Revoked Users', 'users.revoked=1', '1', '0'); 
     3INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('10', 'All Records', 'relationships.id !=0', '1', '0'); 
     4INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('11', 'All Records', 'tabledefs.id !=0', '1', '0'); 
     5INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('12', 'My Notes', 'notes.type=\'NT\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}}', '1', '0'); 
     6INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('12', 'All Viewable Notes and System Notes', 'notes.type=\'SM\' OR ( notes.type=\'NT\' AND !(notes.private=1 AND notes.createdby!={{$_SESSION[\'userinfo\'][\'id\']}}))', '7', '0'); 
     7INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('12', 'Unread Notes Assigned To Me', 'notes.type=\'NT\' and notes.assignedtoid={{$_SESSION[\'userinfo\'][\'id\']}} and notes.completed=0', '2', '0'); 
     8INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('12', 'Unread Notes Assigned By Me', 'notes.type=\'NT\' and notes.assignedbyid={{$_SESSION[\'userinfo\'][\'id\']}} and notes.completed=0', '3', '0'); 
     9INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('12', 'System Messages', 'notes.type=\"SM\"', '4', '0'); 
     10INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('12', 'Public Notes', 'notes.type=\'NT\' AND notes.private=0', '6', '0'); 
     11INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('12', 'My Unread Notes', 'notes.type=\'NT\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}} AND completed=0', '0', '0'); 
     12INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('12', 'Public Unread Notes', 'notes.type=\'NT\' AND notes.private=0 AND notes.completed=0', '5', '0'); 
     13INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('16', 'All Reports', 'reports.id != 0', '1', '0'); 
     14INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('17', 'All Records', 'usersearches.id != 0', '1', '0'); 
     15INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('19', 'All Records', 'menu.id!=0', '1', '0'); 
     16INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('21', 'All Records', 'modules.id!=0', '1', '0'); 
     17INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('23', 'My Uncompleted Tasks', 'notes.type=\'TS\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}} AND completed=0', '0', '0'); 
     18INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('23', 'My Tasks', 'notes.type=\'TS\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}}', '1', '0'); 
     19INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('23', 'Uncomplete Tasks Assigned To Me', 'notes.type=\'TS\' and notes.assignedtoid={{$_SESSION[\'userinfo\'][\'id\']}} and notes.completed=0', '2', '0'); 
     20INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('23', 'Uncomplete Tasks Assigned By Me', 'notes.type=\'NT\' and notes.assignedbyid={{$_SESSION[\'userinfo\'][\'id\']}} and notes.completed=0', '3', '0'); 
     21INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('23', 'Public Uncomplete Tasks', 'notes.type=\'TS\' AND notes.private=0 AND notes.completed=0', '4', '0'); 
     22INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('23', 'Public Tasks', 'notes.type=\'NT\' AND notes.private=0', '5', '0'); 
     23INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('23', 'All Viewable Tasks', 'notes.type=\'TS\' AND !(notes.private=1 AND notes.createdby!={{$_SESSION[\'userinfo\'][\'id\']}})', '6', '0'); 
     24INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('24', 'My Events', 'notes.type=\'EV\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}}', '0', '0'); 
     25INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('24', 'Public Events', 'notes.type=\'EV\' AND notes.private=0', '8', '0'); 
     26INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('24', 'Undone Events Assigned To Me', 'notes.type=\'EV\' and notes.assignedtoid={{$_SESSION[\'userinfo\'][\'id\']}} and notes.completed=0', '17', '0'); 
     27INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('24', 'Undone Events Assigned By Me', 'notes.type=\'NT\' and notes.assignedbyid={{$_SESSION[\'userinfo\'][\'id\']}} and notes.completed=0', '16', '0'); 
     28INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('24', 'All Viewable Events', 'notes.type=\'EV\' AND !(notes.private=1 AND notes.createdby!={{$_SESSION[\'userinfo\'][\'id\']}})', '18', '0'); 
     29INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('24', 'My Events - Today', 'notes.type=\'EV\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}} AND ((notes.startdate = curdate()) OR notes.`repeat`=1)', '1', '0'); 
     30INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('24', 'My Events - Yesterday', 'notes.type=\'EV\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}} AND ((notes.startdate = date_sub(curdate(),INTERVAL 1 DAY)) OR notes.`repeat`=1)', '2', '0'); 
     31INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('24', 'My Events - This Week', 'notes.type=\'EV\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}} AND ((notes.startdate = year(notes.startdate)=year(curdate()) and week(notes.startdate)=week(curdate())) OR notes.repeat=1)', '4', '0'); 
     32INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('24', 'My Events - This Month', 'notes.type=\'EV\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}} AND ((notes.startdate = year(notes.startdate)=year(curdate()) and month(notes.startdate)=month(curdate())) OR notes.repeat=1)', '6', '0'); 
     33INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('24', 'My Events - Tomorrow', 'notes.type=\'EV\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}} AND (notes.startdate = date_add(curdate(),INTERVAL 1 DAY) OR notes.repeat=1)', '3', '0'); 
     34INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('24', 'My Events - Next Month', 'notes.type=\'EV\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}} AND ((year(notes.startdate)=year(date_add(curdate(),INTERVAL 1 MONTH)) and month(notes.startdate)=month(date_add(curdate(),INTERVAL 1 MONTH))) OR notes.repeat=1)', '7', '0'); 
     35INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('24', 'My Events - Next Week', 'notes.type=\'EV\' AND notes.createdby = {{$_SESSION[\'userinfo\'][\'id\']}} AND ((notes.startdate = year(notes.startdate)=year(date_add(curdate(),INTERVAL 1 WEEK)) and week(notes.startdate)=week(date_add(curdate(),INTERVAL 1 WEEK))) OR notes.repeat=1)', '5', '0'); 
     36INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('24', 'Public Events - Today', 'notes.type=\'EV\' AND notes.private=0 AND ((notes.startdate = curdate()) OR notes.repeat=1)', '9', '0'); 
     37INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('24', 'Public Events - Yesterday', 'notes.type=\'EV\' AND notes.private=0 AND ((notes.startdate = date_sub(curdate(),INTERVAL 1 DAY)) OR notes.repeat=1)', '10', '0'); 
     38INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('24', 'Public Events - Tomorrow', 'notes.type=\'EV\' AND notes.private=0 AND (notes.startdate = date_add(curdate(),INTERVAL 1 DAY) OR notes.repeat=1)', '11', '0'); 
     39INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('24', 'Public Events - This Week', 'notes.type=\'EV\' AND notes.private=0 AND ((notes.startdate = year(notes.startdate)=year(curdate()) and week(notes.startdate)=week(curdate())) OR notes.repeat=1)', '12', '0'); 
     40INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('24', 'Public Events - Next Week', 'notes.type=\'EV\' AND notes.private=0 AND ((notes.startdate = year(notes.startdate)=year(date_add(curdate(),INTERVAL 1 WEEK)) and week(notes.startdate)=week(date_add(curdate(),INTERVAL 1 WEEK))) OR notes.repeat=1)', '13', '0'); 
     41INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('24', 'Public Events - This Month', 'notes.type=\'EV\' AND notes.private=0 AND ((notes.startdate = year(notes.startdate)=year(curdate()) and month(notes.startdate)=month(curdate())) OR notes.repeat=1)', '14', '0'); 
     42INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('24', 'Public Events - Next Month', 'notes.type=\'EV\' notes.private=0 AND ((year(notes.startdate)=year(date_add(curdate(),INTERVAL 1 MONTH)) and month(notes.startdate)=month(date_add(curdate(),INTERVAL 1 MONTH))) OR notes.repeat=1)', '15', '0'); 
     43INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('26', 'All Records', 'files.id!=0', '0', '0'); 
     44INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('200', 'Active Roles', 'roles.inactive=0', '0', '0'); 
     45INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('200', 'Inactive Roles', 'roles.inactive=1', '1', '0'); 
     46INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('200', 'All Records', 'roles.id!=-100', '2', '0'); 
     47INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('201', 'all records', 'scheduler.id!=0', '0', '0'); 
     48INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('202', 'entries within last day', 'log.stamp> DATE_SUB(CURDATE(),INTERVAL 1 DAY)', '0', '0'); 
     49INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('202', 'entries within last week', 'log.stamp> DATE_SUB(CURDATE(),INTERVAL 1 WEEK)', '1', '0'); 
     50INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('202', 'all entries', 'log.id!=-1', '2', '0'); 
     51INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('203', 'All Records', 'tabs.id!=-1', '0', '-100'); 
    5252INSERT INTO `tablefindoptions` (`tabledefid`, `name`, `search`, `displayorder`, `roleid`) VALUES ('204', 'All Records', 'smartsearches.id!=-1', '0', '0'); 
  • trunk/phpbms/install/tablegroupings.sql

    r308 r485  
    1 INSERT INTO `tablegroupings` (`tabledefid`, `field`, `displayorder`, `ascending`, `name`, `roleid`) VALUES (10,'fromtable.displayname',1,1,'',0); 
    2 INSERT INTO `tablegroupings` (`tabledefid`, `field`, `displayorder`, `ascending`, `name`, `roleid`) VALUES (11,'modules.name',1,0,'',0); 
    3 INSERT INTO `tablegroupings` (`tabledefid`, `field`, `displayorder`, `ascending`, `name`, `roleid`) VALUES (12,'notes.category',1,1,'',0); 
    4 INSERT INTO `tablegroupings` (`tabledefid`, `field`, `displayorder`, `ascending`, `name`, `roleid`) VALUES (16,'if(tabledefs.displayname is null,\"global\",tabledefs.displayname)',1,1,'',0); 
    5 INSERT INTO `tablegroupings` (`tabledefid`, `field`, `displayorder`, `ascending`, `name`, `roleid`) VALUES (17,'tabledefs.displayname',1,1,'',0); 
    6 INSERT INTO `tablegroupings` (`tabledefid`, `field`, `displayorder`, `ascending`, `name`, `roleid`) VALUES (17,'if(usersearches.type=\"SCH\",\"Search\",\"Sort\")',2,1,'',0); 
    7 INSERT INTO `tablegroupings` (`tabledefid`, `field`, `displayorder`, `ascending`, `name`, `roleid`) VALUES (19,'if(menu.parentid=0,concat( lpad(menu.displayorder,3,\"0\"), \" - \" ,menu.name )  , concat( lpad(parentmenu.displayorder,3,\"0\") , \" - \",parentmenu.name))',1,1,'',0); 
    8 INSERT INTO `tablegroupings` (`tabledefid`, `field`, `displayorder`, `ascending`, `name`, `roleid`) VALUES (23,'ELT(notes.importance+3,\'6 - Lowest\',\' 5 - Low\',\'4 - Normal\',\"3 - Medium\",\'2 - High\',\'1 - Highest\')',1,1,'Importance',0); 
    9 INSERT INTO `tablegroupings` (`tabledefid`, `field`, `displayorder`, `ascending`, `name`, `roleid`) VALUES (23,'notes.category',2,1,'Category',0); 
    10 INSERT INTO `tablegroupings` (`tabledefid`, `field`, `displayorder`, `ascending`, `name`, `roleid`) VALUES (24,'notes.category',1,1,'category',0); 
    11 INSERT INTO `tablegroupings` (`tabledefid`, `field`, `displayorder`, `ascending`, `name`, `roleid`) VALUES (203,'tabs.tabgroup',1,1,'Group',0); 
     1INSERT INTO `tablegroupings` (`tabledefid`, `field`, `displayorder`, `ascending`, `name`, `roleid`) VALUES ('10', 'fromtable.displayname', '1', '1', '', '0'); 
     2INSERT INTO `tablegroupings` (`tabledefid`, `field`, `displayorder`, `ascending`, `name`, `roleid`) VALUES ('11', 'modules.name', '1', '0', '', '0'); 
     3INSERT INTO `tablegroupings` (`tabledefid`, `field`, `displayorder`, `ascending`, `name`, `roleid`) VALUES ('12', 'notes.category', '1', '1', '', '0'); 
     4INSERT INTO `tablegroupings` (`tabledefid`, `field`, `displayorder`, `ascending`, `name`, `roleid`) VALUES ('16', 'if(tabledefs.displayname is null,\"global\",tabledefs.displayname)', '1', '1', '', '0'); 
     5INSERT INTO `tablegroupings` (`tabledefid`, `field`, `displayorder`, `ascending`, `name`, `roleid`) VALUES ('17', 'tabledefs.displayname', '1', '1', '', '0'); 
     6INSERT INTO `tablegroupings` (`tabledefid`, `field`, `displayorder`, `ascending`, `name`, `roleid`) VALUES ('17', 'if(usersearches.type=\"SCH\",\"Search\",\"Sort\")', '2', '1', '', '0'); 
     7INSERT INTO `tablegroupings` (`tabledefid`, `field`, `displayorder`, `ascending`, `name`, `roleid`) VALUES ('19', 'if(menu.parentid=0,concat( lpad(menu.displayorder,3,\"0\"), \" - \" ,menu.name )  , concat( lpad(parentmenu.displayorder,3,\"0\") , \" - \",parentmenu.name))', '1', '1', '', '0'); 
     8INSERT INTO `tablegroupings` (`tabledefid`, `field`, `displayorder`, `ascending`, `name`, `roleid`) VALUES ('23', 'ELT(notes.importance+3,\'6 - Lowest\',\' 5 - Low\',\'4 - Normal\',\"3 - Medium\",\'2 - High\',\'1 - Highest\')', '1', '1', 'Importance', '0'); 
     9INSERT INTO `tablegroupings` (`tabledefid`, `field`, `displayorder`, `ascending`, `name`, `roleid`) VALUES ('23', 'notes.category', '2', '1', 'Category', '0'); 
     10INSERT INTO `tablegroupings` (`tabledefid`, `field`, `displayorder`, `ascending`, `name`, `roleid`) VALUES ('24', 'notes.category', '1', '1', 'category', '0'); 
     11INSERT INTO `tablegroupings` (`tabledefid`, `field`, `displayorder`, `ascending`, `name`, `roleid`) VALUES ('203', 'tabs.tabgroup', '1', '1', 'Group', '0'); 
  • trunk/phpbms/install/tableoptions.sql

    r427 r485  
    1414INSERT INTO `tableoptions` (`tabledefid`, `name`, `option`, `needselect`, `othercommand`, `roleid`, `displayorder`) VALUES ('11', 'edit', '1', '1', '0', '0', '0'); 
    1515INSERT INTO `tableoptions` (`tabledefid`, `name`, `option`, `needselect`, `othercommand`, `roleid`, `displayorder`) VALUES ('11', 'printex', '1', '0', '0', '0', '0'); 
    16 INSERT INTO `tableoptions` (`tabledefid`, `name`, `option`, `needselect`, `othercommand`, `roleid`, `displayorder`) VALUES ('12', 'import', '0', '0', '0', '-100', '0'); 
     16INSERT INTO `tableoptions` (`tabledefid`, `name`, `option`, `needselect`, `othercommand`, `roleid`, `displayorder`) VALUES ('12', 'import', '1', '0', '0', '-100', '0'); 
    1717INSERT INTO `tableoptions` (`tabledefid`, `name`, `option`, `needselect`, `othercommand`, `roleid`, `displayorder`) VALUES ('12', 'select', '1', '0', '0', '0', '0'); 
    1818INSERT INTO `tableoptions` (`tabledefid`, `name`, `option`, `needselect`, `othercommand`, `roleid`, `displayorder`) VALUES ('12', 'edit', '1', '1', '0', '0', '0'); 
  • trunk/phpbms/install/tablesearchablefields.sql

    r384 r485  
    1 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (3,9,'(users.lastname like \"{{value}}%\" or users.firstname like \"{{value}}%\" )','name',0,'whereclause'); 
    2 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (5,9,'users.accesslevel','access level',2,'field'); 
    3 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (6,9,'users.login','log in name',1,'field'); 
    4 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (7,9,'users.id','id',3,'field'); 
    5 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (26,10,'relationships.id','id',0,'field'); 
    6 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (8,11,'tabledefs.maintable','main table',0,'field'); 
    7 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (9,11,'tabledefs.displayname','display',1,'field'); 
    8 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (10,11,'tabledefs.id','id',2,'field'); 
    9 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (35,12,'notes.subject','title',0,'field'); 
    10 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (36,12,'notes.content','content',2,'field'); 
    11 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (37,12,'assignedto.firstname like \"{{value}}%\"or assignedto.lastname like \"{{value}}%\"','assigned to',3,'whereclause'); 
    12 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (38,12,'assignedby.firstname like \"{{value}}%\"or assignedby.lastname like \"{{value}}%\"','assigned by',4,'whereclause'); 
    13 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (39,12,'notes.id','id',5,'field'); 
    14 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (81,12,'notes.category','category',1,'field'); 
    15 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (27,16,'reports.name','name',0,'field'); 
    16 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (28,16,'reports.reporttable','table',1,'field'); 
    17 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (29,16,'reports.type','type',2,'field'); 
    18 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (30,16,'reports.id','id',3,'field'); 
    19 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (31,17,'usersearches.name','name',0,'field'); 
    20 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (32,17,'({{value]]=\"global\" or users.firstname like \"{{value}}%\" or users.lastname like \"{{value}}%\")','user',1,'whereclause'); 
    21 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (33,17,'usersearches.table','table',2,'field'); 
    22 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (34,17,'usersearches.id','id',3,'field'); 
    23 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (67,19,'menu.name','name',0,'field'); 
    24 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (68,19,'parentmenu.name','parent name',1,'field'); 
    25 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (69,19,'menu.id','id',2,'field'); 
    26 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (70,21,'modules.id','id',0,'field'); 
    27 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (83,23,'notes.subject','title',0,'field'); 
    28 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (84,23,'notes.category','category',1,'field'); 
    29 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (85,23,'notes.content','content',2,'field'); 
    30 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (86,23,'assignedto.firstname like \"{{value}}%\"or assignedto.lastname like \"{{value}}%\"','assigned to',3,'whereclause'); 
    31 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (87,23,'assignedby.firstname like \"{{value}}%\"or assignedby.lastname like \"{{value}}%\"','assigned by',4,'whereclause'); 
    32 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (88,23,'notes.id','id',5,'field'); 
    33 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (89,24,'notes.subject','title',0,'field'); 
    34 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (90,24,'notes.category','category',1,'field'); 
    35 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (91,24,'notes.content','content',2,'field'); 
    36 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (92,24,'assignedto.firstname like \"{{value}}%\"or assignedto.lastname like \"{{value}}%\"','assigned to',3,'whereclause'); 
    37 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (93,24,'assignedby.firstname like','assigned by',4,'whereclause'); 
    38 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (94,24,'notes.id','id',5,'field'); 
    39 INSERT INTO `tablesearchablefields` (`id`, `tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (96,26,'files.name','name',0,'field'); 
    40 INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (200,'roles.name','name',0,'field'); 
    41 INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (201,'scheduler.name','name',0,'field'); 
    42 INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (202,'log.type','type',0,'field'); 
    43 INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (202,'log.ip','ip address',1,'field'); 
    44 INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (203,'tabs.name','name',1,'field'); 
    45 INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES (203,'tabs.tabgroup','group',0,'field'); 
     1INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('9', '(users.lastname like \"{{value}}%\" or users.firstname like \"{{value}}%\" )', 'name', '0', 'whereclause'); 
     2INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('9', 'users.accesslevel', 'access level', '2', 'field'); 
     3INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('9', 'users.login', 'log in name', '1', 'field'); 
     4INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('9', 'users.id', 'id', '3', 'field'); 
     5INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('10', 'relationships.id', 'id', '0', 'field'); 
     6INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('11', 'tabledefs.id', 'id', '2', 'field'); 
     7INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('11', 'tabledefs.displayname', 'display', '1', 'field'); 
     8INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('11', 'tabledefs.maintable', 'main table', '0', 'field'); 
     9INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('12', 'notes.id', 'id', '5', 'field'); 
     10INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('12', 'assignedby.firstname like \"{{value}}%\"or assignedby.lastname like \"{{value}}%\"', 'assigned by', '4', 'whereclause'); 
     11INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('12', 'assignedto.firstname like \"{{value}}%\"or assignedto.lastname like \"{{value}}%\"', 'assigned to', '3', 'whereclause'); 
     12INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('12', 'notes.content', 'content', '2', 'field'); 
     13INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('12', 'notes.subject', 'title', '0', 'field'); 
     14INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('12', 'notes.category', 'category', '1', 'field'); 
     15INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('16', 'reports.reporttable', 'table', '1', 'field'); 
     16INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('16', 'reports.name', 'name', '0', 'field'); 
     17INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('16', 'reports.id', 'id', '3', 'field'); 
     18INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('16', 'reports.type', 'type', '2', 'field'); 
     19INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('17', '({{value]]=\"global\" or users.firstname like \"{{value}}%\" or users.lastname like \"{{value}}%\")', 'user', '1', 'whereclause'); 
     20INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('17', 'usersearches.id', 'id', '3', 'field'); 
     21INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('17', 'usersearches.table', 'table', '2', 'field'); 
     22INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('17', 'usersearches.name', 'name', '0', 'field'); 
     23INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('19', 'menu.name', 'name', '0', 'field'); 
     24INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('19', 'parentmenu.name', 'parent name', '1', 'field'); 
     25INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('19', 'menu.id', 'id', '2', 'field'); 
     26INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('21', 'modules.id', 'id', '0', 'field'); 
     27INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('23', 'notes.id', 'id', '5', 'field'); 
     28INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('23', 'assignedby.firstname like \"{{value}}%\"or assignedby.lastname like \"{{value}}%\"', 'assigned by', '4', 'whereclause'); 
     29INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('23', 'assignedto.firstname like \"{{value}}%\"or assignedto.lastname like \"{{value}}%\"', 'assigned to', '3', 'whereclause'); 
     30INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('23', 'notes.content', 'content', '2', 'field'); 
     31INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('23', 'notes.category', 'category', '1', 'field'); 
     32INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('23', 'notes.subject', 'title', '0', 'field'); 
     33INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('24', 'notes.id', 'id', '5', 'field'); 
     34INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('24', 'assignedby.firstname like', 'assigned by', '4', 'whereclause'); 
     35INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('24', 'assignedto.firstname like \"{{value}}%\"or assignedto.lastname like \"{{value}}%\"', 'assigned to', '3', 'whereclause'); 
     36INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('24', 'notes.content', 'content', '2', 'field'); 
     37INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('24', 'notes.category', 'category', '1', 'field'); 
     38INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('24', 'notes.subject', 'title', '0', 'field'); 
     39INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('26', 'files.name', 'name', '0', 'field'); 
     40INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('200', 'roles.name', 'name', '0', 'field'); 
     41INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('201', 'scheduler.name', 'name', '0', 'field'); 
     42INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('202', 'log.ip', 'ip address', '1', 'field'); 
     43INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('202', 'log.type', 'type', '0', 'field'); 
     44INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('203', 'tabs.name', 'name', '1', 'field'); 
     45INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('203', 'tabs.tabgroup', 'group', '0', 'field'); 
    4646INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('204', 'tabledefs.displayname', 'table', '2', 'field'); 
    4747INSERT INTO `tablesearchablefields` (`tabledefid`, `field`, `name`, `displayorder`, `type`) VALUES ('204', 'smartsearches.name', 'name', '1', 'field'); 
  • trunk/phpbms/install/update.js

    r308 r485  
    1 window.onload = function(){ 
    2         var sections = getElementsByClassName("bodyline"); 
    3          
    4         var i; 
    5         for(i=0; i< sections.length; i++){ 
    6                 if(sections[i].id != "step1"){ 
    7                         sections[i].style.display = "none"; 
     1updater = { 
     2 
     3        coreDataUpdate: function(){ 
     4 
     5                var noDebug = getObjectFromID("coreDataNoDebug"); 
     6 
     7                noDebug.className = "running"; 
     8                noDebug.innerHTML = "Running..."; 
     9 
     10                var response = updater.runCommand("coredataupdate"); 
     11 
     12                if(response.success === true){ 
     13 
     14                        noDebug.className = "success"; 
     15                        noDebug.innerHTML = "Core Program Updated Succefully"; 
     16 
     17                } else { 
     18 
     19                        noDebug.className = "fail"; 
     20                        noDebug.innerHTML = "Core Program Update Failed"; 
     21 
     22                }//endif 
     23 
     24        }, // endfunction coreDataInstall 
     25 
     26 
     27        moduleUpdate: function(e){ 
     28 
     29                var theButton = e.src(); 
     30 
     31                var foo = ""; 
     32 
     33                var module = theButton.id.substring(12); 
     34 
     35                var noDebug = getObjectFromID("Results" + module); 
     36 
     37                noDebug.className = "running"; 
     38                noDebug.innerHTML = "Running..."; 
     39 
     40                var response = updater.runCommand("moduleupdate", module); 
     41 
     42                if(response.success === true){ 
     43 
     44                        noDebug.className = "success"; 
     45                        noDebug.innerHTML = "Update Successful"; 
     46 
     47                } else { 
     48 
     49                        noDebug.className = "fail"; 
     50                        noDebug.innerHTML = "Update Failed"; 
     51 
     52                }//endif 
     53 
     54        },//end function moduleInstall 
     55 
     56 
     57        runCommand: function(command, extras){ 
     58 
     59                if(typeof(extras) == "undefined") 
     60                        extras = ""; 
     61                else 
     62                        extras = "&extras=" + extras 
     63 
     64                var theURL = "updateajax.php?command=" + command + extras; 
     65 
     66                loadXMLDoc(theURL,null,false); 
     67 
     68                var JSONresponse; 
     69                eval("JSONresponse = (" + req.responseText +")"); 
     70 
     71                var responseText = getObjectFromID(command + "results"); 
     72                if(typeof(responseText) != "undefined"){ 
     73 
     74                        if(responseText.value) 
     75                                responseText.value += "\n"; 
     76 
     77                        responseText.value += JSONresponse.details; 
     78 
     79                }//endif 
     80 
     81                return JSONresponse 
     82 
     83        },//endfunction runCommand 
     84 
     85 
     86        toggleDebug: function(){ 
     87 
     88                var debug = getObjectFromID("debug"); 
     89                var display = "none"; 
     90                if(debug.checked) 
     91                        display = "block"; 
     92 
     93                var debugDisplays = getElementsByClassName("debugResults"); 
     94 
     95                for(var i = 0; i < debugDisplays.length; i ++) 
     96                        debugDisplays[i].style.display = display; 
     97 
     98        }//end function toggleDebug 
     99 
     100}//end class installer 
     101 
     102 
     103 
     104stepsNav = { 
     105 
     106        currentSection: 1, 
     107        sections: null, 
     108 
     109        navNext: function(){ 
     110 
     111                if(stepsNav.currentSection + 1 <= stepsNav.sections.length){ 
     112                        stepsNav.navTo(stepsNav.currentSection + 1); 
    8113                } 
     114        }, 
     115 
     116 
     117        navPrev: function(){ 
     118                if(stepsNav.currentSection - 1 > 0) 
     119                        stepsNav.navTo(stepsNav.currentSection - 1); 
     120        }, 
     121 
     122 
     123        navTo: function(section){ 
     124 
     125                for(var i=0; i< stepsNav.sections.length; i++){ 
     126 
     127                        if(stepsNav.sections[i].id != "step" + section){ 
     128                                stepsNav.sections[i].style.display = "none"; 
     129                        } else { 
     130                                stepsNav.sections[i].style.display = "block"; 
     131                        }//endif 
     132 
     133                }//endfor 
     134 
     135                navBar = getObjectFromID("navSelect"); 
     136                for(i=0; i < navBar.options.length; i++){ 
     137                        if(navBar.options[i].value == section){ 
     138                                navBar.options[i].selected = true; 
     139                        } 
     140                }//endfor 
     141                //navBar.selectedIndex = section 
     142 
     143                stepsNav.currentSection = section; 
     144 
     145        },//end function navTo 
     146 
     147 
     148        navLeft: function(){ 
     149 
     150                var navSelect = getObjectFromID("navSelect"); 
     151                stepsNav.navTo(parseInt(navSelect.value)); 
     152 
     153 
    9154        } 
     155 
    10156} 
    11157 
    12 function goSection(direction){ 
    13         var sections = getElementsByClassName("bodyline"); 
    14         var currSection = 1; 
    15          
    16         for(i=0; i< sections.length; i++){ 
    17                 if(sections[i].style.display == "block")                         
    18                         currSection = parseInt(sections[i].id.substr(4),10); 
    19         } 
    20          
    21         if(direction == "next") 
    22                 direction = 1; 
    23         else 
    24                 direction = -1; 
    25          
    26         if(currSection + direction == 0) 
    27                 return false; 
    28         else{ 
    29                 var currDiv = getObjectFromID("step"+currSection); 
    30                 var newDiv = getObjectFromID("step"+(currSection + direction)) 
     158// ====== Init Listeners ======================================================= 
    31159 
    32                 currDiv.style.display = "none"; 
    33                 newDiv.style.display = "block"; 
    34         } 
    35 }//end function 
     160connect(window,"onload",function() { 
    36161 
     162        stepsNav.sections = getElementsByClassName("steps"); 
     163        stepsNav.navTo(1); 
    37164 
    38 function changeModule(){ 
    39         var moduleSel=getObjectFromID("modules"); 
    40         var updateButton=getObjectFromID("updatemodule"); 
    41         var modinfo = getObjectFromID("moduleInformation"); 
    42          
    43         var modName = getObjectFromID("modulename"); 
    44         var modVer = getObjectFromID("moduleversion"); 
    45         var modDesc = getObjectFromID("moduledescription"); 
    46         var modReq = getObjectFromID("modulerequirements"); 
    47          
    48         if(moduleSel.value!=0){ 
    49                 updateButton.disabled=false; 
    50                  
    51                 modName.innerHTML = modules[moduleSel.value]["name"]; 
    52                 modVer.innerHTML = modules[moduleSel.value]["version"]; 
    53                 modDesc.innerHTML = modules[moduleSel.value]["description"]; 
    54                 modReq.innerHTML = modules[moduleSel.value]["requirements"]; 
    55                  
    56                 modinfo.style.display = "block";                                                 
    57         } 
    58         else{ 
    59                 updateButton.disabled=true; 
    60                 modinfo.style.display = "none";                  
    61         } 
    62 } 
     165        var nextButtons = getElementsByClassName("nextButtons"); 
     166        for(var i=0; i< nextButtons.length; i++) 
     167                connect(nextButtons[i], "onclick", stepsNav.navNext); 
    63168 
     169        var prevButtons = getElementsByClassName("prevButtons"); 
     170        for(var i=0; i< prevButtons.length; i++) 
     171                connect(prevButtons[i], "onclick", stepsNav.navPrev); 
    64172 
    65 function runCommand(command){ 
    66         var theURL="updatexml.php?command="+command; 
    67         var adminName=getObjectFromID("username"); 
    68         var adminPass=getObjectFromID("password"); 
    69         var version=getObjectFromID("version"); 
    70         var theModules=getObjectFromID("modules"); 
    71          
    72         theURL+="&u="+encodeURIComponent(adminName.value); 
    73         theURL+="&p="+encodeURIComponent(adminPass.value); 
    74         theURL+="&v="+encodeURIComponent(version.value); 
    75          
    76         if(command == "checkModuleUpdate"){ 
    77                 theURL+="&m="+encodeURIComponent(theModules.value); 
    78                 theURL+="&mv="+encodeURIComponent(modules[theModules.value]["version"]); 
    79         } 
     173        var navSelect = getObjectFromID("navSelect"); 
     174        connect(navSelect, "onchange", stepsNav.navLeft); 
    80175 
    81         var responseText= getObjectFromID(command+"results"); 
    82         loadXMLDoc(theURL,null,false); 
    83         if(req.responseXML) 
    84                 response = req.responseXML.documentElement.firstChild.data+"\n"; 
    85         else  
    86                 response = req.responseText+"\n"; 
    87                  
    88         responseText.value+=response; 
    89 } 
     176        var debug = getObjectFromID("debug"); 
     177        connect(debug, "onchange", updater.toggleDebug); 
    90178 
     179        var updatecoreButton = getObjectFromID("updatecoreButton"); 
     180        if(updatecoreButton) 
     181                connect(updatecoreButton,"onclick", updater.coreDataUpdate); 
    91182 
    92 function runModuleUpdate(){ 
    93         var themodule=getObjectFromID("modules"); 
    94         var responseText= getObjectFromID("checkModuleUpdateresults"); 
    95         if(themodule.value=="") 
    96                 alert("First, Select a module"); 
    97         else { 
    98                 var theURL="../modules/"+themodule.value+"/install/update.php"; 
    99                 var adminName=getObjectFromID("username"); 
    100                 var adminPass=getObjectFromID("password"); 
    101                 var theModules=getObjectFromID("modules"); 
     183        moduleButtons = getElementsByClassName("moduleButtons"); 
     184        for(i = 0; i < moduleButtons.length; i++) 
     185                connect(moduleButtons[i], "onclick", updater.moduleUpdate); 
    102186 
    103                 theURL+="?u="+encodeURIComponent(adminName.value); 
    104                 theURL+="&p="+encodeURIComponent(adminPass.value); 
    105                 theURL+="&v="+encodeURIComponent(modules[theModules.value]["version"]); 
    106                  
    107                 loadXMLDoc(theURL,null,false); 
    108                 if(req.responseXML) 
    109                         response = req.responseXML.documentElement.firstChild.data+"\n"; 
    110                 else  
    111                         response = req.responseText; 
    112                          
    113                 responseText.value+=response 
    114         } 
    115 } 
     187}) 
  • trunk/phpbms/install/update.php

    r312 r485  
    1 <?php  
     1<?php 
    22/* 
    33 $Rev$ | $LastChangedBy$ 
     
    3838*/ 
    3939 
    40         include("install_include.php"); 
    41         include("version.php"); 
    42          
     40        include("update_include.php"); 
     41 
     42        $updater = new updater(); 
     43        $updater->buildList(); 
     44 
     45 
     46        //check for php version 
     47        $neededVer = "5.2.0"; 
     48        $phpVer = phpversion(); 
     49        if(floatval($neededVer) <= floatval($phpVer)) 
     50                $phpVerClass = "success"; 
     51        else 
     52                $phpVerClass = "fail"; 
     53 
     54        //check to see if mysql plugin present 
     55        if(phpversion("mysql")) 
     56                $mysqlPresent = "success"; 
     57        else 
     58                $mysqlPresent = "fail"; 
     59 
     60        //check the web server 
     61        $webServer = explode(" ",$_SERVER['SERVER_SOFTWARE']); 
     62        $webServer = explode("/", $webServer[0]); 
     63 
     64        if(strtolower($webServer[0]) == "apache"){ 
     65 
     66                if(floatval($webServer[1]) > 2) 
     67                        $webServerReport["class"] = "success"; 
     68                else 
     69                        $webServerReport["class"] = "warning"; 
     70 
     71                $webServerReport["message"] = $webServer[0]."/".$webServer[1]; 
     72 
     73        } else { 
     74                $webServerReport["class"] = "warning"; 
     75                $webServerReport["message"] = "Non-Apache servers are untested and may have problems."; 
     76        } 
     77 
     78        $mysqlVer = $updater->getMySQLVersion(); 
     79 
     80        if(floatval($mysqlVer) >= 5) 
     81                $mysqlPassFailClass = "success"; 
     82        else 
     83                $mysqlPassFailClass = "fail"; 
     84 
    4385?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    4486<html xmlns="http://www.w3.org/1999/xhtml"> 
     
    5395<script language="JavaScript" src="../common/javascript/moo/moo.fx.pack.js" type="text/javascript" ></script> 
    5496<script language="JavaScript" src="update.js" type="text/javascript" ></script> 
    55 <script language="JavaScript" type="text/javascript"> 
    56         <?php $modules = array_merge($modules,loadModules("update")) ?> 
    57 </script> 
    5897</head> 
    5998 
    6099<body> 
    61         <h1 id="topTitle">phpBMS v<?php echo $modules["base"]["version"]?> Update</h1> 
    62          
    63         <div class="bodyline" id="step1"> 
    64                 <h1>Before Updating</h1> 
    65                  
    66                 <p class="important">Backup all of your data and program files before running any update.</p> 
    67                 <p> 
    68                         By downloading and decompressing this update, you may have already replaced script files  
    69                         from the previous version of phpBMS. If you have decompressed these files to a separate  
    70                         directory and have made custom changes directly to the system we recommend backing up  
    71                         those files before continuing.  
    72                 </p> 
    73                 <p>For the latest information about phpBMS check the <a href="http://www.phpbms.org">phpBMS Project web site</a>.</p> 
    74  
    75                 <p class="nextprevP"> 
    76                         <button type="button" class="disabledButtons nextprevButtons" onclick="goSection('back')" disabled="disabled">back</button> 
    77                         <button type="button" class="Buttons nextprevButtons" onclick="goSection('next')">next</button> 
    78                 </p> 
     100        <noscript> 
     101                <div class="bodyline"> 
     102                        <h1>Javascript Support Disabled</h1> 
     103                        <p>Both the installer and the main phpBMS program require JavaScript support in order to run.</p> 
     104                </div> 
     105        </noscript> 
     106 
     107        <h1 id="topTitle">phpBMS v<?php echo $updater->list["base"]["version"]?> Update</h1> 
     108 
     109        <div class="bodyline"> 
     110 
     111                <div id="navPanel"> 
     112                        <select id="navSelect" size="10"> 
     113                                <option value="1" selected="selected">* Preparing For Update</option> 
     114                                <option value="2">* Update Core Program</option> 
     115                                <option value="3">* Update Modules</option> 
     116                                <option value="4">* Finish Update</option> 
     117                        </select> 
     118                        <p><input type="checkbox" id="debug" /><label for="debug">updating debug</label></p> 
     119                </div> 
     120                <div id="stepsPanel"> 
     121 
     122                        <div class="steps" id="step1"> 
     123 
     124                                <p class="nextprevP"> 
     125                                        <button type="button" class="disabledButtons prevButtons" disabled="disabled">back</button> 
     126                                        <button type="button" class="Buttons nextButtons">next</button> 
     127                                </p> 
     128 
     129                                <h1>Preparing For Update</h1> 
     130                                <p> 
     131                                        Before updating, There are several steps to take and insure that backup runs smoothly. 
     132                                </p> 
     133                                <ul> 
     134                                        <li> 
     135                                                <strong>Backup</strong> your data file. If you have access to a shell, using 
     136                                                the mysqldump command is a fast way of creating a reliable backup of your data. 
     137                                        </li> 
     138 
     139                                        <li> 
     140                                                By downloading and decompressing this update, you may have already replaced script files 
     141                                                from the previous version of phpBMS. If you have decompressed these files to a separate 
     142                                                directory and have made custom changes directly to the system we recommend backing up 
     143                                                those files before continuing. 
     144                                        </li> 
     145 
     146                                        <li> 
     147                                                For the latest information about phpBMS check the <a href="http://www.phpbms.org">phpBMS Project web site</a>. 
     148                                        </li> 
     149                                </ul> 
     150 
     151                                <h2>Server Requirements</h2> 
     152                                <table id="sysRequirements" cellpadding="0" cellspacing="0" border="0"> 
     153                                        <thead> 
     154                                                <tr> 
     155                                                        <td>requirement</td> 
     156                                                        <td>server</td> 
     157                                                </tr> 
     158                                        </thead> 
     159                                        <tbody> 
     160                                                <tr> 
     161                                                        <td>PHP 5.2.0 or higher</td> 
     162                                                        <td><span class="<?php echo $phpVerClass?>"><?php echo $phpVer?></span></td> 
     163                                                </tr> 
     164                                                <tr> 
     165                                                        <td>PHP MySQL Support</td> 
     166                                                        <td><span class="<?php echo $mysqlPresent?>"><?php echo $mysqlPresent?></span></td> 
     167                                                </tr> 
     168                                                <tr> 
     169                                                        <td>Apache 2.0 or higher</td> 
     170                                                        <td><span class="<?php echo $webServerReport["class"]?>"><?php echo $webServerReport["message"]?></span></td> 
     171                                                </tr> 
     172                                                <tr> 
     173                                                        <td>MySQL Server 5.0 or higher</td> 
     174                                                        <td><span class="<?php echo $mysqlPassFailClass ?>"><?php echo $mysqlVer ?></span></td> 
     175                                                </tr> 
     176 
     177                                        </tbody> 
     178                                </table> 
     179 
     180                        </div> 
     181 
     182                        <div class="steps" id="step2"> 
     183 
     184                                <p class="nextprevP"> 
     185                                        <button type="button" class="Buttons prevButtons">back</button> 
     186                                        <button type="button" class="Buttons nextButtons">next</button> 
     187                                </p> 
     188 
     189                                <h1>Update Core Program</h1> 
     190 
     191                                <p> 
     192                                        The database reports the current version is <strong><?php echo $updater->list["base"]["currentversion"] ?></strong>. 
     193                                        The application files show the application version to upgrade to is <strong><?php echo $updater->list["base"]["version"] ?></strong>. 
     194                                </p> 
     195 
     196                                <?php if($updater->checkBaseUpdate()) { ?> 
     197 
     198                                        <p class="notes"><strong>Versions match.  No update is necessary.</strong></p> 
     199 
     200                                <?php } else { ?> 
     201 
     202                                        <p class="notes"><strong>You must update the phpBMS Core Program before updating any modules.</strong></p> 
     203 
     204 
     205                                        <p><button class="Buttons" id="updatecoreButton">Update Core Program</button> <span id="coreDataNoDebug"></span></p> 
     206 
     207                                        <div class="debugResults"> 
     208                                                <h3>Update Core Results</h3> 
     209                                                <p><textarea name="results" id="coredataupdateresults" cols="40" rows="4" class="results"></textarea></p> 
     210                                        </div> 
     211 
     212                                <?php } //endif  ?> 
     213                        </div> 
     214 
     215                        <div class="steps" id="step3"> 
     216 
     217                                <p class="nextprevP"> 
     218                                        <button type="button" class="Buttons prevButtons">back</button> 
     219                                        <button type="button" class="Buttons nextButtons">next</button> 
     220                                </p> 
     221 
     222                                <h1>Udate Modules</h1> 
     223 
     224                                <?php $updater->showModulesUpdate(); ?> 
     225 
     226                                <div class="debugResults"> 
     227                                        <h3>Module Installation Results</h3> 
     228                                        <p><textarea name="results" id="moduleupdateresults" class="results" cols="80" rows="10"></textarea></p> 
     229                                </div> 
     230 
     231                        </div> 
     232 
     233                        <div class="steps" id="step4"> 
     234 
     235                                <p class="nextprevP"> 
     236                                        <button type="button" class="Buttons prevButtons">back</button> 
     237                                        <button type="button" class="disabledButtons nextButtons" disabled="disabled">next</button> 
     238                                </p> 
     239 
     240                                <h1>Finish Update</h1> 
     241                                <p> 
     242                                        To finish the update process you will need to: 
     243                                </p> 
     244                                <ul> 
     245                                        <li> 
     246                                                <h3>Delete Install Folders</h3> 
     247                                                <p> 
     248                                                        You must delete both the core installation folder, as well as all modules' installation 
     249                                                        folders before you can use the system 
     250                                                </p> 
     251                                        </li> 
     252                                        <li> 
     253                                                <h3>Clear your Browser Cache</h3> 
     254                                                <p> 
     255                                                        Part of the update process may have replaced javascript and stylesheet (css) files. 
     256                                                        Most browsers cache these files to speed loading times. In order to insure that 
     257                                                        your web application is using all of the latest updates, you will need to 
     258                                                        clear the browser cache of all client browsers that access the application. 
     259                                                </p> 
     260                                                <p> 
     261                                                        Most browsers will clear this cache automatically if you simply restart the browser 
     262                                                </p> 
     263                                        </li> 
     264 
     265                                </ul> 
     266                                <h2>Troubleshooting</h2> 
     267                                <h3>General Help </h3> 
     268                                <p> 
     269                                If you have problems during updating, have questions about how the program works, or would like additional 
     270                                information about phpBMS, please visit the <a href="http://www.phpbms.org">phpBMS Project web site</a>.  The phpBMS project web site 
     271                                has many resources to help you including a user wiki, users forum, and mailing list that can help you.</p> 
     272                                <h3>Paid Customization, Update, Support Options</h3> 
     273                                <p>Paid technical support and phpBMS customization is available from <a href="http://www.kreotek.com">Kreotek</a>,</p> 
     274 
     275                        </div> 
     276 
     277                </div> 
     278 
    79279        </div> 
    80280 
    81          
    82         <div class="bodyline" id="step2"> 
    83                 <h1>Enter Administrative Log In Information</h1> 
    84                 <p> 
    85                         Running the update requires administrative access privleges.  Please enter the login credentials 
    86                         that have administrative priveleges. 
    87                 </p> 
    88  
    89                 <fieldset> 
    90                         <legend>administrative login</legend> 
    91                         <p> 
    92                                 <label for="username">name</label><br /> 
    93                                 <input name="name" type="text" id="username" size="32" maxlength="64" /> 
    94                                 <input name="name" type="hidden" id="version"  value="<?php echo $modules["base"]["version"] ?>" /> 
    95                         </p> 
    96                         <p> 
    97                                 <label for="password">password</label><br /> 
    98                                 <input name="password" type="password" id="password" size="32" maxlength="24"  /> 
    99                         </p> 
    100                         <p> 
    101                                 <input type="button" value="Verify" class="Buttons" onclick="runCommand('verifyLogin')" /> 
    102                         </p> 
    103                 </fieldset> 
    104                 <h3>Administrative Verification Results</h3> 
    105                 <p> 
    106                         <textarea name="results" id="verifyLoginresults" class="results" cols="80" rows="2"></textarea> 
    107                 </p> 
    108                  
    109                 <p class="nextprevP"> 
    110                         <button type="button" class="Buttons nextprevButtons" onclick="goSection('back')">back</button> 
    111                         <button type="button" class="Buttons nextprevButtons" onclick="goSection('next')">next</button> 
    112                 </p>             
    113         </div> 
    114          
    115          
    116         <div class="bodyline" id="step3"> 
    117                 <h1>Check for phpBMS Core Update Availability</h1> 
    118  
    119                 <p>Check to see if the phpBMS core needs to be updated</p> 
    120                 <p class="testButtonsP"> 
    121                         <input type="button" value="Check Core Availability" class="Buttons" onclick="runCommand('checkBaseUpdate')" /> 
    122                 </p> 
    123                 <h3>Availability Results</h3> 
    124                 <p> 
    125                         <textarea name="results" id="checkBaseUpdateresults" class="results" cols="80" rows="2"></textarea> 
    126                 </p> 
    127  
    128  
    129                 <p class="nextprevP"> 
    130                         <button type="button" class="Buttons nextprevButtons" onclick="goSection('back')">back</button> 
    131                         <button type="button" class="Buttons nextprevButtons" onclick="goSection('next')">next</button> 
    132                 </p>             
    133         </div> 
    134  
    135  
    136         <div class="bodyline" id="step4"> 
    137                 <h1>Update phpBMS Core</h1> 
    138                  
    139                 <p>If an update was reported as available in the previous section, you should  run the update to the phpBMS core.</p> 
    140                  
    141                 <p class="notes"> 
    142                         If no update is available, running the update on an already updated version of phpBMS 
    143                         can cause data corruption and break the application. 
    144                 </p> 
    145                  
    146                 <p class="testButtonsP"> 
    147                         <input type="button" value="Update Core" class="Buttons" onclick="runCommand('updateBaseVersion')" /> 
    148                 </p> 
    149                 <h3>Core Update Results</h3> 
    150                 <p> 
    151                         <textarea name="results" id="updateBaseVersionresults" class="results" cols="80" rows="8"></textarea> 
    152                 </p> 
    153  
    154                 <p class="nextprevP"> 
    155                         <button type="button" class="Buttons nextprevButtons" onclick="goSection('back')">back</button> 
    156                         <button type="button" class="Buttons nextprevButtons" onclick="goSection('next')">next</button> 
    157                 </p>             
    158         </div> 
    159          
    160          
    161         <div class="bodyline" id="step5"> 
    162                 <h1>Update Installed Modules</h1> 
    163                 <p>Before updating an installed module, make sure that you meet any module requirements listed.</p> 
    164                  
    165                 <p> 
    166                         <label for="modules">available modules</label><br /> 
    167                         <select id="modules" name="modules" onchange="changeModule()"> 
    168                                 <option value="0">Select a module to update...</option> 
    169                                 <?php showModules($modules);?> 
    170                         </select>                        
    171         </p> 
    172  
    173                 <div id="moduleInformation" class="box" style="display:none"> 
    174                         <h2>Module Information</h2> 
    175                         <p> 
    176                                 module Name<br /> 
    177                                 <strong id="modulename"></strong> 
    178                         </p> 
    179                         <p> 
    180                                 version: <strong id="moduleversion"></strong> 
    181                         </p> 
    182                         <p class="notes"> 
    183                                 The version above is not necessarily the current data version.  Use the 
    184                                 "Check For Updates" button to see if an update is necessary. 
    185                         </p> 
    186                         <p> 
    187                                 description<br /> 
    188                                 <strong id="moduledescription"></strong>                                 
    189                         </p> 
    190                         <p> 
    191                                 requirements<br /> 
    192                                 <strong id="modulerequirements"></strong> 
    193                         </p> 
    194                         <p class="notes">make sure your system meets all of the module's requirements.</p> 
    195                         <p class="testButtonsP"> 
    196                                 <input type="button" id="checkModule" value="Check For Updates" class="Buttons" onclick="runCommand('checkModuleUpdate')" /> 
    197                                 <input type="button" id="updatemodule" name="updatemodule" value="Update Module" class="Buttons" onclick="runModuleUpdate()" disabled="disabled"/> 
    198                         </p> 
    199                 </div> 
    200  
    201                  
    202                 <h3>Module Update Results</h3> 
    203                 <p> 
    204                         <textarea name="results" id="checkModuleUpdateresults" class="results" cols="80" rows="8"></textarea> 
    205                 </p> 
    206  
    207                  
    208                 <p class="nextprevP"> 
    209                         <button type="button" class="Buttons nextprevButtons" onclick="goSection('back')">back</button> 
    210                         <button type="button" class="Buttons nextprevButtons" onclick="goSection('next')">next</button> 
    211                 </p>             
    212         </div> 
    213  
    214         <div class="bodyline" id="step6"> 
    215                 <h1>Complete the Update Process</h1> 
    216                  
    217                 <p> 
    218                         To complete the update process, you may need to <strong>restart your browser</strong>, or <strong>clear site cookies and browser 
    219                         cache</strong> in order for all the changes to take affect. 
    220                 </p> 
    221                  
    222                 <p class="testButtonsP"><input type="button" id="login" name="login" value="phpBMS Log In" class="Buttons" onclick="document.location='../'" /></p> 
    223                  
    224                 <p class="nextprevP"> 
    225                         <button type="button" class="Buttons nextprevButtons" onclick="goSection('back')">back</button> 
    226                         <button type="button" class="disabledButtons nextprevButtons" onclick="goSection('next')" disabled="disabled">next</button> 
    227                 </p>     
    228         </div> 
    229          
    230281        <p class="tiny" align="center"> $Rev$ |  $LastChangedDate$</p> 
    231282</body> 
  • trunk/phpbms/install/updatev0.98.sql

    r427 r485  
    44ALTER TABLE `log` ENGINE=INNODB; 
    55ALTER TABLE `menu` ENGINE=INNODB; 
     6UPDATE `menu` SET `name` = 'Tools' WHERE `id` = '1' AND `name` = 'Organizer'; 
    67ALTER TABLE `modules` ENGINE=INNODB; 
    78ALTER TABLE `notes` ENGINE=INNODB; 
     9ALTER TABLE `notes` MODIFY COLUMN `type` CHAR(2) NOT NULL DEFAULT 'NT'; 
    810ALTER TABLE `relationships` ENGINE=INNODB; 
    911ALTER TABLE `reports` ENGINE=INNODB; 
     12ALTER TABLE `reports` MODIFY COLUMN `reportfile` VARCHAR(128) NOT NULL; 
     13UPDATE `reports` SET `description` = 'This report will generate a comma-delimited text file. Values are encapsulated in quotes, and the first line lists the field names.' WHERE `name` = 'Raw Table Export'; 
    1014ALTER TABLE `roles` ENGINE=INNODB; 
     15ALTER TABLE `roles` MODIFY COLUMN `inactive` TINYINT(4) NOT NULL DEFAULT 0; 
    1116ALTER TABLE `rolestousers` ENGINE=INNODB; 
    1217ALTER TABLE `scheduler` ENGINE=INNODB; 
     18INSERT INTO `scheduler` (`name`, `job`, `crontab`, `lastrun`, `startdatetime`, `enddatetime`, `description`, `inactive`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('Clean Import Files', './scheduler_delete_tempimport.php', '30::*::*::*::*', NULL, NOW(), NULL, 'This will delete any temporary import files that are present (for whatever reason) after 30 minutes of their creation.', '0', 1, NOW(), 1, NOW()); 
     19INSERT INTO `scheduler` (`id`, `name`, `job`, `crontab`, `lastrun`, `startdatetime`, `enddatetime`, `description`, `inactive`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('4', 'Remove Excess System Log Records', './scheduler_delete_logs.php', '*::24::*::*::*', NULL, '2009-03-31 12:00:00', NULL, 'This script will trim the system log when there are more than 2000 records present at the time of its calling (default will be every 24 hours).', '0', 1, NOW(), 1, NOW()); 
    1320ALTER TABLE `settings` ENGINE=INNODB; 
    1421ALTER TABLE `smartsearches` ENGINE=INNODB; 
    1522ALTER TABLE `tablecolumns` ENGINE=INNODB; 
    1623ALTER TABLE `tabledefs` ENGINE=INNODB; 
     24ALTER TABLE `tabledefs` ADD COLUMN `importfile` VARCHAR(128) DEFAULT NULL AFTER `addroleid`, ADD COLUMN `importroleid` int(11) NOT NULL DEFAULT '-100' AFTER `importfile`; 
    1725ALTER TABLE `tablefindoptions` ENGINE=INNODB; 
    1826ALTER TABLE `tablegroupings` ENGINE=INNODB; 
    1927ALTER TABLE `tableoptions` ENGINE=INNODB; 
    20 ALTER TABLE `tablesearchablefields` ENGINE=INNODB; 
    21 ALTER TABLE `tabs` ENGINE=INNODB; 
    22 ALTER TABLE `users` ENGINE=INNODB; 
    23 ALTER TABLE `usersearches` ENGINE=INNODB; 
    24 INSERT INTO `scheduler` (`name`, `job`, `crontab`, `lastrun`, `startdatetime`, `enddatetime`, `description`, `inactive`, `createdby`, `creationdate`, `modifiedby`, `modifieddate`) VALUES ('clean import files', '/scheduler_delete_tempimport.php', '30::*::*::*::*', NULL, NOW(), NULL, 'This will delete any temporary import files that are present (for whatever reason) after 30 minutes of their creation.', '0', 1, NOW(), 1, NOW()); 
    25 ALTER TABLE `tabledefs` ADD COLUMN `importfile` VARCHAR(128) DEFAULT NULL AFTER `addroleid`, ADD COLUMN `importroleid` int(11) NOT NULL DEFAULT '-100' AFTER `importfile`; 
    26 UPDATE `tabledefs` SET `importfile`='modules/base/users_import.php' WHERE `id` = 9; 
    2728ALTER TABLE `tableoptions` ADD COLUMN `needselect` BOOLEAN NOT NULL DEFAULT 1 AFTER `option`; 
    2829UPDATE `tableoptions` SET `needselect` = 0 WHERE `name` IN('massEmail','new','printex','select') AND `tabledefid` IN (9,10,11,12,16,17,19,21,23,24,26,27,200,201,202,203,204); 
     
    3031INSERT INTO `tableoptions` (`tabledefid`, `name`, `option`, `needselect`, `othercommand`, `roleid`, `displayorder`) VALUES ('10', 'import', '0', '0', '0', '-100', '0'); 
    3132INSERT INTO `tableoptions` (`tabledefid`, `name`, `option`, `needselect`, `othercommand`, `roleid`, `displayorder`) VALUES ('11', 'import', '0', '0', '0', '-100', '0'); 
    32 INSERT INTO `tableoptions` (`tabledefid`, `name`, `option`, `needselect`, `othercommand`, `roleid`, `displayorder`) VALUES ('12', 'import', '0', '0', '0', '-100', '0'); 
     33INSERT INTO `tableoptions` (`tabledefid`, `name`, `option`, `needselect`, `othercommand`, `roleid`, `displayorder`) VALUES ('12', 'import', '1', '0', '0', '-100', '0'); 
    3334INSERT INTO `tableoptions` (`tabledefid`, `name`, `option`, `needselect`, `othercommand`, `roleid`, `displayorder`) VALUES ('16', 'import', '0', '0', '0', '-100', '0'); 
    3435INSERT INTO `tableoptions` (`tabledefid`, `name`, `option`, `needselect`, `othercommand`, `roleid`, `displayorder`) VALUES ('17', 'import', '1', '0', '0', '-100', '0'); 
     
    4445INSERT INTO `tableoptions` (`tabledefid`, `name`, `option`, `needselect`, `othercommand`, `roleid`, `displayorder`) VALUES ('203', 'import', '0', '0', '0', '-100', '0'); 
    4546INSERT INTO `tableoptions` (`tabledefid`, `name`, `option`, `needselect`, `othercommand`, `roleid`, `displayorder`) VALUES ('204', 'import', '0', '0', '0', '-100', '0'); 
    46 UPDATE `reports` SET `description` = 'This report will generate a comma-delimited text file. Values are encapsulated in quotes, and the first line lists the field names.' WHERE `name` = 'Raw Table Export'; 
     47ALTER TABLE `tablesearchablefields` ENGINE=INNODB; 
     48ALTER TABLE `tabs` ENGINE=INNODB; 
     49ALTER TABLE `users` ENGINE=INNODB; 
     50ALTER TABLE `users` ADD COLUMN `lastip` VARCHAR(45) NOT NULL DEFAULT '' AFTER `lastname`; 
     51ALTER TABLE `usersearches` ENGINE=INNODB; 
  • trunk/phpbms/install/update_include.php

    r285 r485  
    11<?php 
    22 
    3          
     3define("APP_DEBUG",false); 
     4define("noStartup",true); 
     5 
     6require("../include/session.php"); 
     7 
     8        class updater{ 
     9 
     10                // database object 
     11                var $db; 
     12 
     13                // module list 
     14                var $list; 
     15 
     16                var $phpbmsSession; 
    417 
    518 
    6 //======================================================================================= 
    7 //======================================================================================= 
    8         function loadSettings() {        
    9                 $settingsfile =  fopen("../settings.php","r"); 
    10                 if($settingsfile){ 
    11                         //loop through the settings file and load variables into the session  
    12                         while( !feof($settingsfile)) { 
    13                                 $line=NULL; 
    14                                 $key=NULL; 
    15                                 $value=NULL; 
    16                                 $line=fscanf($settingsfile,"%[^=]=%[^[]]",$key,$value); 
    17                                 if ($line){ 
    18                                         $key=trim($key); 
    19                                         $value=trim($value); 
    20                                         if($key!="" and !strpos($key,"]")){      
    21                                                 $startpos=strpos($value,"\""); 
    22                                                 $endpos=strrpos($value,"\""); 
    23                                                 if($endpos!=false) 
    24                                                         $value=substr($value,$startpos+1,$endpos-$startpos-1); 
    25                                                 $variables[$key]=$value; 
    26                                         } 
    27                                 } 
    28                         } 
    29                         if(!isset($variables["mysql_pconnect"])) 
    30                         $variables["mysql_pconnect"]="true"; 
    31                         fclose($settingsfile); 
    32                         return $variables; 
    33                 } else return "Cannot open setting.php file"; 
    34         } 
     19                function updater(){ 
    3520 
    36          
    37         function getNewVersion($dir="."){ 
    38                 $file =  @ fopen($dir."/version.txt","r"); 
    39                 $version=fgets($file,1024); 
    40                 @ fclose($file); 
    41                 return $version; 
    42         } 
    43          
    44         function showModules(){ 
    45                 $vars=loadSettings(); 
    46                 if(!is_array($vars)) { 
    47                         echo "<option>Could Not Open Settings File</option>"; 
    48                         return false; 
    49                 } 
    50                 if($vars["mysql_pconnect"]=="true") 
    51                         $dblink = @  mysql_pconnect($vars["mysql_server"],$vars["mysql_user"],$vars["mysql_userpass"]); 
    52                 else 
    53                         $dblink = @  mysql_connect($vars["mysql_server"],$vars["mysql_user"],$vars["mysql_userpass"]); 
    54                 @ mysql_select_db($vars["mysql_database"],$dblink); 
    55                  
    56                 $querystatement="SELECT name,version FROM modules WHERE name!=\"base\" "; 
    57                 $queryresult=$db->query($querystatement); 
    58                  
    59                 while($modulerecord=$db->fetchArray($queryresult)){ 
    60                         $newVersion=getNewVersion("../modules/".$modulerecord["name"]."/install"); 
    61                         if($newVersion!=$modulerecord["version"]) 
    62                                 echo "<OPTION value=\"".$modulerecord["name"]."\">".$modulerecord["name"]." (".$modulerecord["version"]." -&gt; ".$newVersion.")</OPTION>\n"; 
    63                 } 
    64                  
    65         } 
     21                        $this->phpbmsSession = new phpbmsSession; 
    6622 
    67         $version=getNewVersion(); 
     23                        if($this->phpbmsSession->loadDBSettings(false)){ 
    6824 
     25                                @ include_once("include/db.php"); 
     26 
     27                                $this->db = new db(false); 
     28                                $this->db->stopOnError = false; 
     29                                $this->db->showError = false; 
     30                                $this->db->logError = false; 
     31 
     32                        } else 
     33                                $error = new appError(-300,"","",true,true,false); 
     34 
     35                        if(!$this->db->connect()) 
     36                                $error = new appError(-400,"Could not connect to database server.\n\n".$this->db->getError(),"Database Error",true,true,false); 
     37 
     38                        if(!$this->db->selectSchema()) 
     39                                $error = new appError(-410,"Could not open schema ".$this->db->schema,"Database Error", true, true, false); 
     40 
     41                }//end function init 
     42 
     43 
     44                function buildList(){ 
     45 
     46                        $thedir = @ opendir("../modules/"); 
     47 
     48                        $modules = array(); 
     49 
     50                        //this helps build the modules array 
     51                        // each included modules version.php should add to the 
     52                        // array 
     53                        while($entry = readdir($thedir)){ 
     54 
     55                                if($entry != "." && $entry != ".." && $entry != "base" && $entry != "sample" && is_dir("../modules/".$entry)){ 
     56 
     57                                        if(file_exists("../modules/".$entry."/install/update.php") && file_exists("../modules/".$entry."/version.php")){ 
     58 
     59                                                include("../modules/".$entry."/version.php"); 
     60 
     61                                        }//endif 
     62 
     63                                }//endif 
     64 
     65                        }//end if 
     66 
     67                        //Next we add the base version in 
     68                        include("../phpbmsversion.php"); 
     69 
     70                        //go retrieve current versions 
     71                        foreach($modules as $key=>$value) 
     72                                $modules[$key]["currentversion"] = $this->getCurrentVersion($key); 
     73 
     74                        $this->list = $modules; 
     75 
     76                }//end function buildList 
     77 
     78 
     79                function getMySQLVersion(){ 
     80 
     81                        $querystatement = "SELECT VERSION() AS ver"; 
     82                        $queryresult = $this->db->query($querystatement); 
     83                        if($this->db->error) 
     84                                $error = new appError(-425,"Could not retrieve mysql verson. ","Database Error", true, true, false); 
     85 
     86                        $therecord = $this->db->fetchArray($queryresult); 
     87 
     88                        return $therecord["ver"]; 
     89 
     90                }//endif 
     91 
     92 
     93                function getCurrentVersion($module){ 
     94 
     95                        $querystatement = " 
     96                                SELECT 
     97                                        version 
     98                                FROM 
     99                                        modules 
     100                                WHERE 
     101                                        name = '".$module."'"; 
     102 
     103                        $queryresult = $this->db->query($querystatement); 
     104                        if($this->db->error) 
     105                                $error = new appError(-600,"Could not retrieve current version information for ".$module.": ".$this->db->error,"Cannot load module information",true,true,false); 
     106 
     107                        if($this->db->numRows($queryresult)){ 
     108 
     109                                $therecord = $this->db->fetchArray($queryresult); 
     110 
     111                                return floatval($therecord["version"]); 
     112 
     113                        } else 
     114                                return 0; 
     115 
     116                }//end function getCurrentVersion 
     117 
     118 
     119                function checkBaseUpdate(){ 
     120 
     121                        return ($this->list["base"]["version"] == $this->list["base"]["currentversion"]); 
     122 
     123                }//end function showBaseUpdate 
     124 
     125 
     126                function showModulesUpdate(){ 
     127 
     128                        ?> 
     129                        <table id="moduleTable" cellpadding="0" cellspacing="0" border="0"> 
     130                                <thead> 
     131                                        <tr> 
     132                                                <th>module</th> 
     133                                                <th>database version</th> 
     134                                                <th>file version</th> 
     135                                                <th>&nbsp;</th> 
     136                                        </tr> 
     137                                </thead> 
     138                                <tbody> 
     139                        <?php 
     140 
     141                        ksort($this->list); 
     142 
     143                        foreach($this->list as $key=>$module){ 
     144 
     145                                if($key != "base"){ 
     146 
     147                                        ?> 
     148                                        <tr> 
     149                                                <td> 
     150                                                        <h3><strong><?php echo $module["name"]?></strong></h3> 
     151                                                        <p><?php echo $module["description"]?></p> 
     152                                                        <p class="notes"><strong>Requirements:</strong> <?php echo $module["requirements"]?> 
     153                                                </td> 
     154                                                <td><?php echo $module["version"] ?></td> 
     155                                                <td><?php echo $module["currentversion"] ?></td> 
     156 
     157                                                <td class="moduleInstall"> 
     158                                                        <?php 
     159                                                                if($module["version"] != $module["currentversion"]){ 
     160                                                                        if($module["currentversion"] == 0) { 
     161                                                        ?> 
     162                                                                Not Installed> 
     163                                                        <?php 
     164                                                                        } else {} 
     165                                                        ?> 
     166 
     167                                                                <button class="Buttons moduleButtons" id="moduleButton<?php echo $key ?>">Update Module</button> 
     168                                                                <p><span class="" id="Results<?php echo $key?>"></span></p> 
     169 
     170                                                        <?php } else {?> 
     171                                                                Versions Match<br /> 
     172                                                                Update Unnecessary 
     173                                                        <?php }//endif version!=currentversion ?> 
     174                                                </td> 
     175                                        </tr> 
     176                                        <?php 
     177 
     178                                }//end if 
     179 
     180                        }//end foreach 
     181 
     182                        ?></tbody></table><?php 
     183 
     184                }//end function showModuleUpdate 
     185 
     186        }//end class 
    69187?> 
phpBMS vulnerability assesment provided by Orvant Inc. Copyright © 2010 Kreotek, LLC. All Rights reserved.