- Timestamp:
- Apr 7, 2020, 8:50:42 PM (5 years ago)
- Location:
- Common
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
Common/Application.php
r7 r9 1 1 <?php 2 3 class ModelDef 4 { 5 var $OnChange; 6 7 function __construct() 8 { 9 $this->OnChange = array(); 10 } 11 12 function DoOnChange() 13 { 14 foreach($this->OnChange as $Callback) 15 { 16 call_user_func($Callback); 17 } 18 } 19 20 function RegisterOnChange($SysName, $Callback) 21 { 22 $this->OnChange[$SysName] = $Callback; 23 } 24 25 function UnregisterOnChange($SysName) 26 { 27 unset($this->OnChange[$SysName]); 28 } 29 } 2 30 3 31 class Application extends System … … 7 35 var $ModuleManager; 8 36 var $Modules; 9 37 var $Models; 38 10 39 function __construct() 11 40 { … … 14 43 $this->ModuleManager = new AppModuleManager($this); 15 44 $this->Modules = array(); 45 $this->Models = array(); 46 } 47 48 function RegisterModel($SysName, $Model) 49 { 50 $NewModelDef = new ModelDef(); 51 $NewModelDef->Title = $Model['Title']; 52 $this->Models[$SysName] = $NewModelDef; 16 53 } 17 54 55 function UnregisterModel($SysName) 56 { 57 unset($this->Models[$SysName]); 58 } 59 18 60 function Run() 19 61 { -
Common/Common.php
r8 r9 19 19 include_once(dirname(__FILE__).'/Setup.php'); 20 20 include_once(dirname(__FILE__).'/Table.php'); 21 include_once(dirname(__FILE__).'/Process.php'); 21 22 22 23 class PackageCommon … … 32 33 { 33 34 $this->Name = 'Common'; 34 $this->Version = '1. 2';35 $this->ReleaseDate = strtotime('201 6-01-22');35 $this->Version = '1.3'; 36 $this->ReleaseDate = strtotime('2019-10-04'); 36 37 $this->Creator = 'Chronos'; 37 38 $this->License = 'GNU/GPL'; 38 $this->Homepage = 'http ://svn.zdechov.net/svn/PHPlib/Common/';39 $this->Homepage = 'https://svn.zdechov.net/PHPlib/Common/'; 39 40 } 40 41 } -
Common/Database.php
r8 r9 3 3 // Extended database class 4 4 // Date: 2016-01-11 5 6 function microtime_float() 7 { 8 list($usec, $sec) = explode(" ", microtime()); 9 return ((float)$usec + (float)$sec); 10 } 5 11 6 12 class DatabaseResult … … 51 57 $this->LogFile = dirname(__FILE__).'/../../Query.log'; 52 58 } 59 53 60 54 61 function Connect($Host, $User, $Password, $Database) … … 85 92 { 86 93 if(!$this->Connected()) throw new Exception(T('Not connected to database')); 87 if(($this->ShowSQLQuery == true) or ($this->LogSQLQuery == true)) $QueryStartTime = microtime ();94 if(($this->ShowSQLQuery == true) or ($this->LogSQLQuery == true)) $QueryStartTime = microtime_float(); 88 95 $this->LastQuery = $Query; 96 //echo('a'.$this->ShowSQLQuery.'<'.$QueryStartTime.', '.microtime_float()); 89 97 if(($this->ShowSQLQuery == true) or ($this->LogSQLQuery == true)) 90 $Duration = ' ; '.round(microtime () - $QueryStartTime, 4). ' s';98 $Duration = ' ; '.round(microtime_float() - $QueryStartTime, 4). ' s'; 91 99 if($this->LogSQLQuery == true) 92 100 file_put_contents($this->LogFile, $Query.$Duration."\n", FILE_APPEND); … … 101 109 $this->insert_id = $this->PDO->lastInsertId(); 102 110 } else 103 { 111 { 104 112 $this->Error = $this->PDO->errorInfo(); 105 113 $this->Error = $this->Error[2]; … … 123 131 function insert($Table, $Data) 124 132 { 133 $this->query($this->GetInsert($Table, $Data)); 134 $this->insert_id = $this->PDO->lastInsertId(); 135 } 136 137 function GetInsert($Table, $Data) 138 { 125 139 $Name = ''; 126 140 $Values = ''; … … 137 151 $Name = substr($Name, 1); 138 152 $Values = substr($Values, 1); 139 $this->query('INSERT INTO `'.$this->Prefix.$Table.'` ('.$Name.') VALUES('.$Values.')'); 140 $this->insert_id = $this->PDO->lastInsertId(); 153 return('INSERT INTO `'.$this->Prefix.$Table.'` ('.$Name.') VALUES('.$Values.')'); 141 154 } 142 155 143 156 function update($Table, $Condition, $Data) 157 { 158 $this->query($this->GetUpdate($Table, $Condition, $Data)); 159 } 160 161 function GetUpdate($Table, $Condition, $Data) 144 162 { 145 163 $Values = ''; … … 154 172 } 155 173 $Values = substr($Values, 2); 156 $this->query('UPDATE `'.$this->Prefix.$Table.'` SET '.$Values.' WHERE ('.$Condition.')');174 return('UPDATE `'.$this->Prefix.$Table.'` SET '.$Values.' WHERE ('.$Condition.')'); 157 175 } 158 176 … … 200 218 public function __wakeup() 201 219 { 220 } 221 222 public function Transaction($Queries) 223 { 224 $this->PDO->beginTransaction(); 225 foreach ($Queries as $Query) 226 { 227 $Statement = $this->PDO->prepare($Query); 228 $Statement->execute(); 229 } 230 $this->PDO->commit(); 202 231 } 203 232 } -
Common/Setup.php
r8 r9 207 207 $Output = ''; 208 208 209 $Pageing = new Paging( );209 $Pageing = new Paging($this->System); 210 210 $Pageing->TotalCount = count($this->System->ModuleManager->Modules); 211 $Table = new VisualTable( );211 $Table = new VisualTable($this->System); 212 212 $Table->SetColumns(array( 213 213 array('Name' => 'Name', 'Title' => 'Jméno'), … … 415 415 PRIMARY KEY (`Id`) 416 416 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;'); 417 $this->Database->query( "INSERT INTO `'.$this->UpdateManager->VersionTable.'` (`Id`, `Revision`) VALUES418 (1, '.$DatabaseRevision.'); ");417 $this->Database->query('INSERT INTO `'.$this->UpdateManager->VersionTable.'` (`Id`, `Revision`) VALUES 418 (1, '.$DatabaseRevision.');'); 419 419 $this->Database->query("CREATE TABLE IF NOT EXISTS `Module` ( 420 420 `Id` int(11) NOT NULL AUTO_INCREMENT, … … 428 428 { 429 429 $this->System->ModuleManager->UninstallAll(); 430 $this->Database->query('DROP TABLE `Module`');431 $this->Database->query('DROP TABLE `'.$this->UpdateManager->VersionTable.'`');430 $this->Database->query('DROP TABLE IF EXISTS `Module`'); 431 $this->Database->query('DROP TABLE IF EXISTS `'.$this->UpdateManager->VersionTable.'`'); 432 432 } 433 433 -
Common/Update.php
r8 r9 43 43 while($this->Revision > $DbRevision) 44 44 { 45 if(!array_key_exists($DbRevision, $this->Trace)) 46 die('Missing upgrade trace for revision '.$DbRevision); 45 47 $TraceItem = $this->Trace[$DbRevision]; 46 48 $Output .= 'Aktualizace na verzi '.$TraceItem['Revision'].':<br/>';
Note:
See TracChangeset
for help on using the changeset viewer.