Changeset 447
- Timestamp:
- Oct 16, 2012, 8:26:33 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Common/Database.php
r438 r447 88 88 { 89 89 $Name .= ',`'.$Key.'`'; 90 if(!in_array($Value, $this->Functions)) $Value = $this->PDO->quote($Value); 90 if(!in_array($Value, $this->Functions)) 91 { 92 if($Value == NULL) $Value = 'NULL'; 93 else $Value = $this->PDO->quote($Value); 94 } 91 95 $Values .= ','.$Value; 92 96 } … … 102 106 foreach($Data as $Key => $Value) 103 107 { 104 if(!in_array($Value, $this->Functions)) $Value = $this->PDO->quote($Value); 108 if(!in_array($Value, $this->Functions)) 109 { 110 if($Value == NULL) $Value = 'NULL'; 111 else $Value = $this->PDO->quote($Value); 112 } 105 113 $Values .= ', `'.$Key.'`='.$Value; 106 114 } … … 115 123 foreach($Data as $Key => $Value) 116 124 { 117 if(!in_array($Value, $this->Functions)) $Value = $this->PDO->quote($Value); 125 if(!in_array($Value, $this->Functions)) 126 { 127 if($Value == NULL) $Value = 'NULL'; 128 else $Value = $this->PDO->quote($Value); 129 } 118 130 $Name .= ',`'.$Key.'`'; 119 131 $Values .= ','.$Value; -
trunk/Common/Forms.php
r445 r447 71 71 { 72 72 if(!array_key_exists($Index, $this->Values) and isset($Item['Default'])) $this->Values[$Index] = $Item['Default']; 73 if(array_key_exists($Item['Type'], $FormTypes)) 74 { 75 if(!array_key_exists($Item['Type'], $System->Type->TypeDefinitionList)) 76 $System->Type->RegisterType($Item['Type'], '', 77 $FormTypes[$Item['Type']]); 78 if($FormTypes[$Item['Type']]['Type'] == 'Reference') 79 $UseType = 'OneToMany'; 80 else if($FormTypes[$Item['Type']]['Type'] == 'Enumeration') 81 $UseType = 'Enumeration'; 82 } else $UseType = $Item['Type']; 83 $Edit = ''.$System->Type->ExecuteTypeEvent($UseType, 'OnEdit', 84 array('Value' => $this->Values[$Index], 'Name' => $Index, 85 'Type' => $Item['Type'])).''; 73 $Parameters = array('Value' => $this->Values[$Index], 'Name' => $Index, 74 'Type' => $Item['Type']); 75 if(array_key_exists('Null', $Item)) $Parameters['Null'] = $Item['Null']; 76 else unset($Parameters['Null']); 77 78 if(array_key_exists($Item['Type'], $FormTypes)) 79 { 80 if(!array_key_exists($Item['Type'], $System->Type->TypeDefinitionList)) 81 $System->Type->RegisterType($Item['Type'], '', 82 $FormTypes[$Item['Type']]); 83 if($FormTypes[$Item['Type']]['Type'] == 'Reference') 84 { 85 $UseType = 'OneToMany'; 86 } else if($FormTypes[$Item['Type']]['Type'] == 'Enumeration') 87 $UseType = 'Enumeration'; 88 } else $UseType = $Item['Type']; 89 $Edit = ''.$System->Type->ExecuteTypeEvent($UseType, 'OnEdit', $Parameters).''; 86 90 87 91 array_push($Table['Rows'], array($Item['Caption'].':', $Edit)); … … 131 135 { 132 136 if(!array_key_exists($Index, $this->Values) and isset($Item['Default'])) $this->Values[$Index] = $Item['Default']; 133 if(array_key_exists($Item['Type'], $FormTypes)) 134 { 135 if(!array_key_exists($Item['Type'], $System->Type->TypeDefinitionList)) 136 $System->Type->RegisterType($Item['Type'], '', 137 $FormTypes[$Item['Type']]); 138 if($FormTypes[$Item['Type']]['Type'] == 'Reference') 139 $UseType = 'OneToMany'; 140 else if($FormTypes[$Item['Type']]['Type'] == 'Enumeration') 141 $UseType = 'Enumeration'; 142 } else $UseType = $Item['Type']; 143 $Values[$Index] = ''.$System->Type->ExecuteTypeEvent($UseType, 'OnSaveDb', 144 array('Value' => $this->Values[$Index], 'Name' => $Index, 145 'Type' => $Item['Type'])).''; 137 $Parameters = array('Value' => $this->Values[$Index], 'Name' => $Index, 138 'Type' => $Item['Type']); 139 140 if(array_key_exists($Item['Type'], $FormTypes)) 141 { 142 if(!array_key_exists($Item['Type'], $System->Type->TypeDefinitionList)) 143 $System->Type->RegisterType($Item['Type'], '', 144 $FormTypes[$Item['Type']]); 145 if($FormTypes[$Item['Type']]['Type'] == 'Reference') 146 { 147 $UseType = 'OneToMany'; 148 } 149 else if($FormTypes[$Item['Type']]['Type'] == 'Enumeration') 150 $UseType = 'Enumeration'; 151 } else $UseType = $Item['Type']; 152 $Values[$Index] = ''.$System->Type->ExecuteTypeEvent($UseType, 'OnSaveDb', $Parameters).''; 146 153 147 154 //echo($DbRow[$Index].'='.$this->Values[$Index].'<br/>'); … … 152 159 $DbResult = $Database->insert($this->Definition['Table'], $Values); 153 160 } else 154 $DbResult = $Database->update($this->Definition['Table'], 'Id='.$Id, $Values);161 $DbResult = $Database->update($this->Definition['Table'], 'Id='.$Id, $Values); 155 162 //echo($Database->LastQuery); 156 163 } -
trunk/Common/Types/OneToMany.php
r442 r447 26 26 if(array_key_exists('Condition', $Type['Parameters'])) $Where = ' WHERE '.$Type['Parameters']['Condition']; 27 27 else $Where = ''; 28 print_r($Item); 29 if(array_key_exists('Null', $Item) and $Item['Null']) 30 { 31 if($Item['Value'] == NULL) $Selected = ' selected="1"'; else $Selected = ''; 32 $Output .= '<option value=""'.$Selected.'></option>'; 33 } 28 34 $DbResult = $this->System->Database->query('SELECT '.$Type['Parameters']['Name'].' AS `Name`,'.$Type['Parameters']['Id'].' AS `Id` FROM `'.$Type['Parameters']['Table'].'`'.$Where.' ORDER BY `Name`'); 29 35 while($DbRow = $DbResult->fetch_assoc()) … … 38 44 function OnLoad($Item) 39 45 { 40 return($_POST[$Item['Name']]); 46 if($_POST[$Item['Name']] == '') return(NULL); 47 else return($_POST[$Item['Name']]); 48 } 49 50 function OnLoadDb($Item) 51 { 52 if($Item['Value'] == '') return(NULL); 53 else return($Item['Value']); 41 54 } 42 55 } -
trunk/form_classes.php
r446 r447 11 11 'Norm' => array('Type' => 'String', 'Caption' => 'Video norma', 'Default' => ''), 12 12 'Homepage' => array('Type' => 'Hyperlink', 'Caption' => 'Web', 'Default' => ''), 13 'Language' => array('Type' => 'TLanguage', 'Caption' => 'Jazyk', 'Default' => '' ),13 'Language' => array('Type' => 'TLanguage', 'Caption' => 'Jazyk', 'Default' => '', 'Null' => true), 14 14 'ShortName' => array('Type' => 'String', 'Caption' => 'Zkratka', 'Default' => ''), 15 15 'Stream' => array('Type' => 'Hyperlink', 'Caption' => 'Proud', 'Default' => ''), 16 16 'StreamWeb' => array('Type' => 'Hyperlink', 'Caption' => 'Proud web', 'Default' => ''), 17 17 'SourceType' => array('Type' => 'String', 'Caption' => 'Typ zdroje', 'Default' => ''), 18 'Category' => array('Type' => 'TTVGroup', 'Caption' => 'Kategorie', 'Default' => '' ),18 'Category' => array('Type' => 'TTVGroup', 'Caption' => 'Kategorie', 'Default' => '', 'Null' => true), 19 19 ), 20 20 ), … … 24 24 'DefaultSortColumn' => 'Name', 25 25 'Items' => array( 26 'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''), 26 'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''), 27 27 ), 28 28 ), … … 49 49 'Public' => array('Type' => 'Boolean', 'Caption' => 'Veřejné', 'Default' => '0'), 50 50 'Progress' => array('Type' => 'Integer', 'Caption' => 'Průběh', 'Default' => '0'), 51 'Group' => array('Type' => 'TTaskGroup', 'Caption' => 'Kategorie', 'Default' => '' ),51 'Group' => array('Type' => 'TTaskGroup', 'Caption' => 'Kategorie', 'Default' => '', 'Null' => true), 52 52 ), 53 53 ), … … 68 68 'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''), 69 69 'Description' => array('Type' => 'Text', 'Caption' => 'Popis', 'Default' => ''), 70 'Parent' => array('Type' => 'TTaskGroup', 'Caption' => 'Kategorie', 'Default' => '' ),70 'Parent' => array('Type' => 'TTaskGroup', 'Caption' => 'Kategorie', 'Default' => '', 'Null' => true), 71 71 'Tasks' => array('Type' => 'TTaskList', 'Caption' => 'Úkoly', 'Default' => ''), 72 72 ), … … 81 81 'VAT' => array('Type' => 'Integer', 'Caption' => 'DPH', 'Default' => '0'), 82 82 'Consumption' => array('Type' => 'Integer', 'Caption' => 'Spotřeba', 'Default' => ''), 83 'Manufacturer' => array('Type' => 'TSubject', 'Caption' => 'Výrobce', 'Default' => ''), 83 'Supplier' => array('Type' => 'TSubject', 'Caption' => 'Výrobce', 'Default' => '', 'Null' => true), 84 'Manufacturer' => array('Type' => 'TSubject', 'Caption' => 'Výrobce', 'Default' => '', 'Null' => true), 84 85 'Code' => array('Type' => 'String', 'Caption' => 'Kód', 'Default' => ''), 85 'UnitOfMeasure' => array('Type' => 'TUnitOfMeasure', 'Caption' => 'Měrná jednotka', 'Default' => '' ),86 'UnitOfMeasure' => array('Type' => 'TUnitOfMeasure', 'Caption' => 'Měrná jednotka', 'Default' => '', 'Null' => true), 86 87 'StockItems' => array('Type' => 'TStockItemListProduct', 'Caption' => 'Položky na skladě', 'Default' => ''), 87 88 ), … … 98 99 'Amount' => array('Type' => 'Integer', 'Caption' => 'Množství', 'Default' => '1'), 99 100 'SerialNumber' => array('Type' => 'String', 'Caption' => 'Sériové číslo', 'Default' => ''), 100 'Location' => array('Type' => 'TMember', 'Caption' => 'Umístění', 'Default' => '' ),101 'Segment' => array('Type' => 'TNetworkSegment', 'Caption' => 'Úsek sítě', 'Default' => '' ),101 'Location' => array('Type' => 'TMember', 'Caption' => 'Umístění', 'Default' => '', 'Null' => true), 102 'Segment' => array('Type' => 'TNetworkSegment', 'Caption' => 'Úsek sítě', 'Default' => '', 'Null' => true), 102 103 ), 103 104 ), … … 108 109 'Items' => array( 109 110 'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''), 110 'Location' => array('Type' => 'TMember', 'Caption' => 'Umístění', 'Default' => '' ),111 'Location' => array('Type' => 'TMember', 'Caption' => 'Umístění', 'Default' => '', 'Null' => true), 111 112 'Items' => array('Type' => 'TStockItemListStock', 'Caption' => 'Položky', 'Default' => ''), 112 113 ), … … 118 119 'Items' => array( 119 120 'Time' => array('Type' => 'DateTime', 'Caption' => 'Čas', 'Default' => ''), 120 'User' => array('Type' => 'TUser', 'Caption' => 'Uživatel', 'Default' => '' ),121 'User' => array('Type' => 'TUser', 'Caption' => 'Uživatel', 'Default' => '', 'Null' => true), 121 122 'Module' => array('Type' => 'String', 'Caption' => 'Modul', 'Default' => ''), 122 123 'Operation' => array('Type' => 'String', 'Caption' => 'Operace', 'Default' => ''), … … 139 140 'Items' => array( 140 141 'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''), 141 'Group' => array('Type' => 'TFinanceTariffGroup', 'Caption' => 'Skupina', 'Default' => '' ),142 'Group' => array('Type' => 'TFinanceTariffGroup', 'Caption' => 'Skupina', 'Default' => '', 'Null' => true), 142 143 'SpeedMin' => array('Type' => 'Integer', 'Caption' => 'Min. rychlost', 'Default' => '0'), 143 144 'SpeedMax' => array('Type' => 'Integer', 'Caption' => 'Max. rychlost', 'Default' => '0'), … … 145 146 'Price' => array('Type' => 'Integer', 'Caption' => 'Cena', 'Default' => '0'), 146 147 'MemberCount' => array('Type' => 'Integer', 'Caption' => 'Počet členů', 'Default' => ''), 147 'ReplaceId' => array('Type' => 'TFinanceTariff', 'Caption' => 'Nahradí tarif', 'Default' => '' ),148 'ReplaceId' => array('Type' => 'TFinanceTariff', 'Caption' => 'Nahradí tarif', 'Default' => '', 'Null' => true), 148 149 'Public' => array('Type' => 'Boolean', 'Caption' => 'Veřejné', 'Default' => ''), 149 150 ), … … 165 166 'BillingPeriodNext' => array('Type' => 'TFinanceBillingPeriod', 'Caption' => 'Fakturační období příští', 'Default' => ''), 166 167 'BillingPeriodLastDate' => array('Type' => 'Date', 'Caption' => 'Datum poslední fakturace', 'Default' => ''), 167 'NetworkSegment' => array('Type' => 'TNetworkSegment', 'Caption' => 'Úsek sítě', 'Default' => '' ),168 'NetworkSegment' => array('Type' => 'TNetworkSegment', 'Caption' => 'Úsek sítě', 'Default' => '', 'Null' => true), 168 169 'Hire' => array('Type' => 'Integer', 'Caption' => 'Nájem', 'Default' => '0'), 169 170 'Blocked' => array('Type' => 'Boolean', 'Caption' => 'Blokování', 'Default' => '0'), … … 305 306 'Domain' => array('Type' => 'String', 'Caption' => 'Doména', 'Default' => ''), 306 307 'NTP' => array('Type' => 'String', 'Caption' => 'NTP', 'Default' => ''), 307 'Member' => array('Type' => 'TMember', 'Caption' => 'Zákazník', 'Default' => '' ),308 'Member' => array('Type' => 'TMember', 'Caption' => 'Zákazník', 'Default' => '', 'Null' => true), 308 309 'ExtAddressRange' => array('Type' => 'String', 'Caption' => 'Vnější rozsah adres', 'Default' => ''), 309 310 'ExtMask' => array('Type' => 'String', 'Caption' => 'Vnější prefix', 'Default' => ''), … … 359 360 'Text' => array('Type' => 'String', 'Caption' => 'Popis', 'Default' => ''), 360 361 'Network' => array('Type' => 'Boolean', 'Caption' => 'Týkající sítě', 'Default' => ''), 361 'BankAccount' => array('Type' => 'TFinanceBankAccount', 'Caption' => 'Účet', 'Default' => '' ),362 'Treasury' => array('Type' => 'TFinanceTreasury', 'Caption' => 'Pokladna', 'Default' => '' ),362 'BankAccount' => array('Type' => 'TFinanceBankAccount', 'Caption' => 'Účet', 'Default' => '', 'Null' => true), 363 'Treasury' => array('Type' => 'TFinanceTreasury', 'Caption' => 'Pokladna', 'Default' => '', 'Null' => true), 363 364 ), 364 365 ), … … 375 376 'Value' => array('Type' => 'Integer', 'Caption' => 'Částka', 'Default' => '0', 'Unit' => 'Kč'), 376 377 'Text' => array('Type' => 'String', 'Caption' => 'Popis', 'Default' => ''), 377 'Bill' => array('Type' => 'TFinanceBill', 'Caption' => 'Doklad', 'Default' => '' ),378 'Bill' => array('Type' => 'TFinanceBill', 'Caption' => 'Doklad', 'Default' => '', 'Null' => true), 378 379 ), 379 380 ), … … 464 465 'Count' => array('Type' => 'Integer', 'Caption' => 'Počet', 'Default' => 1), 465 466 'Date' => array('Type' => 'Time', 'Caption' => 'Datum zakoupení', 'Default' => 'Now'), 466 'Segment' => array('Type' => 'TNetworkSegment', 'Caption' => 'Segment sítě', 'Default' => 0 ),467 'Segment' => array('Type' => 'TNetworkSegment', 'Caption' => 'Segment sítě', 'Default' => 0, 'Null' => true), 467 468 'Date' => array('Type' => 'Time', 'Caption' => 'Datum zakoupení', 'Default' => 'Now'), 468 469 'Used' => array('Type' => 'TNetworkDeviceState', 'Caption' => 'Stav', 'Default' => 0), 469 470 'Consumption' => array('Type' => 'Integer', 'Caption' => 'Spotřeba', 'Default' => 0), 470 ' User' => array('Type' => 'TFinanceSubject', 'Caption' => 'Subjekt', 'Default' => 0),471 'Member' => array('Type' => 'TMember', 'Caption' => 'Subjekt', 'Default' => 0), 471 472 'Info' => array('Type' => 'String', 'Caption' => 'Poznámky', 'Default' => ''), 472 473 'Shop' => array('Type' => 'String', 'Caption' => 'Obchod', 'Default' => ''), -
trunk/sql/updates/446.sql
r446 r447 65 65 (5, 'Regionální'), 66 66 (6, 'Filmový'); 67 68 UPDATE `TV` SET `Category`=1 WHERE `Category`="Sportovní"; 69 UPDATE `TV` SET `Category`=2 WHERE `Category`="Zábavný"; 70 UPDATE `TV` SET `Category`=3 WHERE `Category`="Hudební"; 71 UPDATE `TV` SET `Category`=4 WHERE `Category`="Zpravodajský"; 72 UPDATE `TV` SET `Category`=5 WHERE `Category`="Regionální"; 73 UPDATE `TV` SET `Category`=6 WHERE `Category`="Filmový"; 74 ALTER TABLE `TV` CHANGE `Category` `Category` INT( 11 ) NULL ; 75 UPDATE `TV` SET `Category`=NULL WHERE `Category`=0; 76 ALTER TABLE `TV` ADD INDEX ( `Category` ); 77 ALTER TABLE `TV` ADD FOREIGN KEY ( `Category` ) REFERENCES `TVGroup` (`Id`) ON DELETE RESTRICT ON UPDATE RESTRICT ;
Note:
See TracChangeset
for help on using the changeset viewer.