Changeset 803
- Timestamp:
- Apr 14, 2014, 8:29:20 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Modules/Referrer/Referrer.php
r766 r803 4 4 { 5 5 var $Excludes; 6 6 7 7 function __construct($System) 8 8 { … … 14 14 $this->Description = 'Log HTTP referrer URLs.'; 15 15 $this->Dependencies = array(); 16 16 17 17 $this->Excludes = array(); 18 18 } 19 19 20 20 function Start() 21 21 { … … 30 30 )); 31 31 } 32 32 33 33 function Log() 34 34 { 35 if(array_key_exists('HTTP_REFERER', $_SERVER)) 35 if(array_key_exists('HTTP_REFERER', $_SERVER)) 36 36 { 37 37 $Referrer = addslashes($_SERVER['HTTP_REFERER']); … … 40 40 if(!in_array($HostName, $this->Excludes)) 41 41 { 42 if(!isset($_SERVER['REMOTE_ADDR'])) $IP = 'Konzole'; 43 else $IP = addslashes($_SERVER['REMOTE_ADDR']); 44 45 // Check if client IP is not blocked as spam source 46 $DbResult = $this->System->Database->query('SELECT COUNT(*) FROM `Referrer` WHERE `LastIP` = "'.$IP.'" AND (`Visible` = 0)'); 47 $DbRow = $DbResult->fetch_row(); 48 if($DbRow[0] == 0) $Visible = '1'; 49 else $Visible = '0'; 50 51 // Check if host name is already stored and need just to update hit counter 42 52 $DbResult = $this->System->Database->query('SELECT `Id` FROM `Referrer` WHERE `Web` = "'.$HostName.'"'); 43 53 if($DbResult->num_rows > 0) … … 45 55 $DbRow = $DbResult->fetch_assoc(); 46 56 $this->System->Database->query('UPDATE `Referrer` SET `Hits` = `Hits` + 1, `DateLast` = NOW(), `LastURL` = "'. 47 addslashes($Referrer).'" WHERE `Id` = '.$DbRow['Id']);48 } else $this->System->Database->query('INSERT INTO `Referrer` (`Web`, `DateFirst`, `DateLast`, `LastURL`, `Hits` ) '.49 'VALUES ("'.$HostName.'", NOW(), NOW( ), "'.addslashes($Referrer).'", 1)');57 addslashes($Referrer).'", `LastIP` = "'.$IP.'" WHERE `Id` = '.$DbRow['Id']); 58 } else $this->System->Database->query('INSERT INTO `Referrer` (`Web`, `DateFirst`, `DateLast`, `LastURL`, `Hits`, `LastIP`, `Visible`) '. 59 'VALUES ("'.$HostName.'", NOW(), NOW( ), "'.addslashes($Referrer).'", 1, "'.$IP.'", '.$Visible.')'); 50 60 } 51 61 } 52 } 62 } 53 63 } 54 64 55 65 class PageReferrer extends Page 56 66 { … … 61 71 'alt="wowpreklad" title="Otevřený projekt překládání celé hry World of Warcraft" '. 62 72 'class="banner" height="60" width="468" /></a>'; 63 73 64 74 $BannerSmall = '<a href="http://'.$this->System->Config['Web']['Host'].$this->System->Link('/').'">'. 65 75 '<img src="http://'.$this->System->Config['Web']['Host'].$this->System->Link('/banners/wowpreklad_small.jpg').'" '. … … 68 78 69 79 $Output = '<strong>'.T('Banners').':</strong><br />'; 70 80 71 81 $Output .= $Banner.' <textarea rows="2" cols="30">'.htmlspecialchars($Banner).'</textarea><br />'; 72 82 $Output .= $BannerSmall.' <textarea rows="2" cols="30">'.htmlspecialchars($BannerSmall).'</textarea><br />'; 73 83 74 84 $MonthAge = 3; 75 85 $YesNo = array('Ne', 'Ano'); 76 86 $Output .= '<br/><strong>'.T('Servers referring to us').':</strong> <br /> 77 <div style="font-size: 10px;">Seznam je automaticky aktualizován a zobrazeny jsou servery, ze kterých přišli uživatelé během posledních třech měsíců řazený sestupně dle nejnovějších.</div><br />'; 78 79 if(!$this->System->User->Licence(LICENCE_ADMIN)) $Where = ' WHERE (` Show`=1) AND (`Parent` IS NULL)';87 <div style="font-size: 10px;">Seznam je automaticky aktualizován a zobrazeny jsou servery, ze kterých přišli uživatelé během posledních třech měsíců řazený sestupně dle nejnovějších.</div><br />'; 88 89 if(!$this->System->User->Licence(LICENCE_ADMIN)) $Where = ' WHERE (`Visible`=1) AND (`Parent` IS NULL)'; 80 90 else $Where = ''; 81 91 $Query = 'SELECT *, (SELECT Web FROM `Referrer` AS T4 WHERE T4.Id = T3.Parent) AS ParentName '. … … 87 97 '`Referrer` AS `T2` '.$Where.') AS `T3` '. 88 98 'WHERE (`T3`.`MaxDateLast` > (NOW() - INTERVAL '.$MonthAge.' MONTH))'; 89 90 99 100 91 101 $DbResult = $this->Database->query('SELECT COUNT(*) FROM ('.$Query.') AS T'); 92 102 $DbRow = $DbResult->fetch_row(); 93 103 $PageList = GetPageList($DbRow[0]); 94 104 95 105 $Output .= $PageList['Output']. 96 106 '<table class="BaseTable">'; 97 107 98 108 $TableColumns = array( 99 109 array('Name' => 'Web', 'Title' => T('Address')), … … 103 113 if($this->System->User->Licence(LICENCE_ADMIN)) 104 114 { 105 $TableColumns[] = array('Name' => ' Show', 'Title' => T('Visible'));115 $TableColumns[] = array('Name' => 'Visible', 'Title' => T('Visible')); 106 116 $TableColumns[] = array('Name' => 'Parent', 'Title' => T('Parent')); 107 117 $TableColumns[] = array('Name' => 'Description', 'Title' => T('Comment')); 118 $TableColumns[] = array('Name' => 'LastIP', 'Title' => T('Last IP address')); 108 119 $TableColumns[] = array('Name' => 'Action', 'Title' => T('Actions')); 109 120 } 110 121 $Order = GetOrderTableHeader($TableColumns, 'MaxDateLast', 1); 111 122 $Output .= $Order['Output']; 112 123 113 124 $Query .= $Order['SQL'].$PageList['SQLLimit']; 114 125 115 126 $DbResult = $this->Database->query($Query); 116 127 while($Line = $DbResult->fetch_assoc()) … … 122 133 { 123 134 $Output .= 124 '<td>'.$YesNo[$Line[' Show']].'</td>'.135 '<td>'.$YesNo[$Line['Visible']].'</td>'. 125 136 '<td>'.$Line['ParentName'].'</td>'. 126 137 '<td>'.$Line['Description'].'</td>'. 127 '<td><a href="?action=edit&id='.$Line['Id'].'">'.T('Modify').'</a></td>'; 138 '<td>'.$Line['LastIP'].'</td>'. 139 '<td><a href="?action=edit&id='.$Line['Id'].'">'.T('Modify').'</a> '. 140 '<a href="?action=spam&id='.$Line['Id'].'">'.T('Spam').'</a></td>'; 128 141 } 129 142 $Output .= '</tr>'; … … 131 144 $Output .= '</table>'; 132 145 $Output .= $PageList['Output']; 133 return($Output); 146 return($Output); 134 147 } 135 148 … … 154 167 } 155 168 169 function Spam() 170 { 171 if($this->System->User->Licence(LICENCE_ADMIN)) 172 { 173 if(array_key_exists('id', $_GET)) 174 { 175 $DbResult = $this->Database->select('Referrer', '*', 'Id='.$_GET['id']); 176 if($DbResult->num_rows > 0) 177 { 178 $Item = $DbResult->fetch_assoc(); 179 $this->Database->update('Referrer', 'Id='.$_GET['id'], array('Visible' => 0, 'Description' => 'Spam')); 180 $Output = ShowMessage(T('Set as spam'), MESSAGE_CRITICAL); 181 $Output .= $this->ShowList(); 182 } else $Output = ShowMessage(T('Item not found'), MESSAGE_CRITICAL); 183 } else $Output = ShowMessage(T('Item not specified'), MESSAGE_CRITICAL); 184 } else $Output = ShowMessage(T('Access denied'), MESSAGE_CRITICAL); 185 return($Output); 186 } 187 156 188 function Edit() 157 189 { … … 164 196 { 165 197 $Item = $DbResult->fetch_assoc(); 166 if($Item[' Show'] == 1) $Show= ' checked ';167 else $ Show= '';198 if($Item['Visible'] == 1) $Visible = ' checked '; 199 else $Visible = ''; 168 200 $Output = '<form action="?action=editsave&id='.$_GET['id'].'" method="post"><table>'. 169 201 '<tr><td>'.T('Web').'</td><td>'.$Item['Web'].'</td></tr>'. 170 '<tr><td>'.T('Visible').'</td><td><input type="checkbox" name=" Show" '.$Show.'/></td></tr>'.202 '<tr><td>'.T('Visible').'</td><td><input type="checkbox" name="Visible" '.$Visible.'/></td></tr>'. 171 203 '<tr><td>'.T('Description').'</td><td><input type="text" name="Description" value="'.$Item['Description'].'"/></td></tr>'. 172 204 '<tr><td>'.T('Parent item').'</td><td>'.$this->SelectParentItem($Item['Parent'], $Item['Id']).'</td></tr>'. 205 '<tr><td>'.T('Last IP address').'</td><td><input type="text" name="LastIP" value="'.$Item['LastIP'].'"/></td></tr>'. 173 206 '<tr><td colspan="2"><input type="submit" value="Uložit"/></td></tr></table></form>'; 174 207 } else $Output = ShowMessage(T('Item not found'), MESSAGE_CRITICAL); … … 181 214 { 182 215 if($this->System->User->Licence(LICENCE_ADMIN)) 183 { 216 { 184 217 if($_POST['Parent'] == '') $_POST['Parent'] = null; 185 $_POST[' Show'] = array_key_exists('Show', $_POST);218 $_POST['Visible'] = array_key_exists('Visible', $_POST); 186 219 $DbResult = $this->Database->update('Referrer', 'Id='.$_GET['id'], array( 187 'Show' => $_POST['Show'], 220 'Visible' => $_POST['VisNadřazená položka 221 Last IP address ible'], 'LastIP' => $_POST['LastIP'], 188 222 'Parent' => $_POST['Parent'], 'Description' => $_POST['Description'])); 189 223 $_SERVER['QUERY_STRING'] = ''; … … 200 234 { 201 235 if($_GET['action'] == 'edit') $Output = $this->Edit(); 236 else if($_GET['action'] == 'spam') $Output = $this->Spam(); 202 237 else if($_GET['action'] == 'editsave') $Output = $this->EditSave(); 203 else $Output = $this->ShowList(); 238 else $Output = $this->ShowList(); 204 239 } else $Output = $this->ShowList(); 205 240 return($Output); -
trunk/admin/UpdateTrace.php
r795 r803 2347 2347 ADD CONSTRAINT `User_ibfk_1` FOREIGN KEY (`Language`) REFERENCES `Language` (`Id`), 2348 2348 ADD CONSTRAINT `User_ibfk_2` FOREIGN KEY (`Team`) REFERENCES `Team` (`Id`);"); 2349 2349 2350 2350 $Manager->Execute('INSERT INTO `DbVersion` (`Id` ,`Revision`) VALUES ("1", "498")'); 2351 2351 $Manager->Execute('INSERT INTO `Language` (`Id` ,`Name` ,`Enabled`)VALUES (NULL , "Angličtina", 0);'); … … 2479 2479 2480 2480 function UpdateTo506($Manager) 2481 { 2481 { 2482 2482 global $System; 2483 2483 2484 2484 $DbResult = $System->Database->query('SELECT `TablePrefix` FROM `Group`'); 2485 2485 while($Group = $DbResult->fetch_assoc()) … … 2514 2514 2515 2515 function UpdateTo510($Manager) 2516 { 2516 { 2517 2517 $Manager->Execute('ALTER TABLE `News` ADD `Title` VARCHAR( 255 ) NOT NULL AFTER `Time`'); 2518 2518 $Manager->Execute('UPDATE `News` SET `Title` = (SELECT `Name` FROM `User` AS `T` WHERE `T`.`ID` = `User`)'); … … 2520 2520 2521 2521 function UpdateTo524($Manager) 2522 { 2522 { 2523 2523 $Manager->Execute('ALTER TABLE `User` ADD `PreferredVersion` INT NULL DEFAULT NULL'); 2524 2524 $Manager->Execute('ALTER TABLE `User` ADD INDEX ( `PreferredVersion` )'); … … 2534 2534 while($DbRow = $DbResult->fetch_row()) 2535 2535 { 2536 $Manager->Execute("ALTER TABLE `".$DbRow[0]."` CONVERT TO CHARACTER SET utf8"); 2537 } 2536 $Manager->Execute("ALTER TABLE `".$DbRow[0]."` CONVERT TO CHARACTER SET utf8"); 2537 } 2538 2538 } 2539 2539 … … 2559 2559 2560 2560 function UpdateTo543($Manager) 2561 { 2561 { 2562 2562 $Manager->Execute('ALTER TABLE `Group` ADD INDEX ( `Name` )'); 2563 2563 } 2564 2564 2565 2565 function UpdateTo567($Manager) 2566 { 2566 { 2567 2567 $Manager->Execute('ALTER TABLE `Log` ADD `URL` VARCHAR( 255 ) NOT NULL ;'); 2568 2568 } 2569 2569 2570 2570 function UpdateTo574($Manager) 2571 { 2571 { 2572 2572 $Manager->Execute('CREATE TABLE IF NOT EXISTS `WikiPage` ( 2573 2573 `Id` int(11) NOT NULL AUTO_INCREMENT, … … 2597 2597 2598 2598 function UpdateTo585($Manager) 2599 { 2599 { 2600 2600 $Manager->Execute('CREATE TABLE IF NOT EXISTS `APIToken` ( 2601 2601 `Id` int(11) NOT NULL AUTO_INCREMENT, … … 2613 2613 $Manager->Execute("INSERT INTO `LogType` (`Id` ,`Name` ,`Color` ,`Description`) 2614 2614 VALUES (NULL , 'Nenalezené', 'teal', 'Nenalezené stránky');"); 2615 } 2615 } 2616 2616 2617 2617 function UpdateTo604($Manager) … … 2646 2646 `Code` = "en" WHERE `Language`.`Name` ="Angličitna";'); 2647 2647 $Manager->Execute('UPDATE `Language` SET `Code` = "cs" WHERE `Language`.`Name` ="Čeština";'); 2648 $Manager->Execute('UPDATE `Language` SET `Code` = "sk" WHERE `Language`.`Name` ="Slovenština";'); 2648 $Manager->Execute('UPDATE `Language` SET `Code` = "sk" WHERE `Language`.`Name` ="Slovenština";'); 2649 2649 } 2650 2650 … … 2662 2662 `ID`) ON DELETE RESTRICT ON UPDATE RESTRICT ;'); 2663 2663 $Manager->Execute('ALTER TABLE `Server` ADD `CheckIP` VARCHAR( 16 ) NOT NULL , 2664 ADD `CheckPort` INT NOT NULL ;'); 2664 ADD `CheckPort` INT NOT NULL ;'); 2665 2665 } 2666 2666 … … 2673 2673 function UpdateTo666($Manager) 2674 2674 { 2675 $Manager->Execute('INSERT INTO `ExportOutputType` (`Id` ,`Name`) VALUES (\'10\' , \'Instalace - Instalační soubor pro klienta\');'); 2676 $Manager->Execute('INSERT INTO `ExportVersion` (`Id` ,`ExportType` ,`ClientVersion`)VALUES (NULL , \'10\', \'84\');'); 2675 $Manager->Execute('INSERT INTO `ExportOutputType` (`Id` ,`Name`) VALUES (\'10\' , \'Instalace - Instalační soubor pro klienta\');'); 2676 $Manager->Execute('INSERT INTO `ExportVersion` (`Id` ,`ExportType` ,`ClientVersion`)VALUES (NULL , \'10\', \'84\');'); 2677 2677 } 2678 2678 2679 2679 function UpdateTo678($Manager) 2680 2680 { 2681 $Manager->Execute('INSERT INTO `ExportVersion` (`Id` ,`ExportType` ,`ClientVersion`)VALUES (NULL , \'10\', \'11\');'); 2681 $Manager->Execute('INSERT INTO `ExportVersion` (`Id` ,`ExportType` ,`ClientVersion`)VALUES (NULL , \'10\', \'11\');'); 2682 2682 } 2683 2683 … … 2686 2686 $Manager->Execute('CREATE TABLE IF NOT EXISTS `ExportGroupItem` (`Id` int(11) NOT NULL AUTO_INCREMENT,'. 2687 2687 '`Export` int(11) NOT NULL,`GroupItem` int(11) NOT NULL, PRIMARY KEY (`Id`), KEY `Export` (`Export`),'. 2688 ' KEY `GroupItem` (`GroupItem`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;'); 2688 ' KEY `GroupItem` (`GroupItem`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;'); 2689 2689 $Manager->Execute('ALTER TABLE `ExportGroupItem`'. 2690 2690 'ADD CONSTRAINT `ExportGroupItem_ibfk_1` FOREIGN KEY (`Export`) REFERENCES `Export` (`Id`),'. 2691 'ADD CONSTRAINT `ExportGroupItem_ibfk_2` FOREIGN KEY (`GroupItem`) REFERENCES `GroupItem` (`Id`);'); 2691 'ADD CONSTRAINT `ExportGroupItem_ibfk_2` FOREIGN KEY (`GroupItem`) REFERENCES `GroupItem` (`Id`);'); 2692 2692 } 2693 2693 … … 2711 2711 function UpdateTo716($Manager) 2712 2712 { 2713 $Manager->Execute('ALTER TABLE `Export` ADD `Featured` TINYINT NOT NULL'); 2713 $Manager->Execute('ALTER TABLE `Export` ADD `Featured` TINYINT NOT NULL'); 2714 2714 } 2715 2715 2716 2716 function UpdateTo725($Manager) 2717 2717 { 2718 $Manager->Execute('ALTER TABLE `UserOnline` ADD `StayLoggedHash` VARCHAR( 40 ) NOT NULL ;'); 2718 $Manager->Execute('ALTER TABLE `UserOnline` ADD `StayLoggedHash` VARCHAR( 40 ) NOT NULL ;'); 2719 2719 } 2720 2720 2721 2721 function UpdateTo731($Manager) 2722 2722 { 2723 $Manager->Execute('ALTER TABLE `ExportTask` ADD `Progress` TINYINT NOT NULL ;'); 2723 $Manager->Execute('ALTER TABLE `ExportTask` ADD `Progress` TINYINT NOT NULL ;'); 2724 2724 } 2725 2725 2726 2726 function UpdateTo732($Manager) 2727 2727 { 2728 $Manager->Execute('ALTER TABLE `ExportTask` CHANGE `Progress` `Progress` DOUBLE( 4, 2 ) NOT NULL ;'); 2728 $Manager->Execute('ALTER TABLE `ExportTask` CHANGE `Progress` `Progress` DOUBLE( 4, 2 ) NOT NULL ;'); 2729 2729 } 2730 2730 … … 2800 2800 } 2801 2801 2802 function UpdateTo803($Manager) 2803 { 2804 $Manager->Execute('ALTER TABLE `Referrer` CHANGE `Show` `Visible` INT( 11 ) NOT NULL DEFAULT "1";'); 2805 $Manager->Execute('ALTER TABLE `Referrer` ADD `LastIP` VARCHAR( 16 ) NOT NULL ;'); 2806 } 2807 2802 2808 $Updates = array( 2803 2809 498 => array('Revision' => 506, 'Function' => 'UpdateTo506'), … … 2815 2821 609 => array('Revision' => 610, 'Function' => 'UpdateTo610'), 2816 2822 610 => array('Revision' => 639, 'Function' => 'UpdateTo639'), 2817 639 => array('Revision' => 646 , 'Function' => 'UpdateTo646'), 2818 646 => array('Revision' => 666 , 'Function' => 'UpdateTo666'), 2819 666 => array('Revision' => 678 , 'Function' => 'UpdateTo678'), 2820 678 => array('Revision' => 695 , 'Function' => 'UpdateTo695'), 2821 695 => array('Revision' => 712 , 'Function' => 'UpdateTo712'), 2822 712 => array('Revision' => 716 , 'Function' => 'UpdateTo716'), 2823 716 => array('Revision' => 725 , 'Function' => 'UpdateTo725'), 2824 725 => array('Revision' => 731 , 'Function' => 'UpdateTo731'), 2825 731 => array('Revision' => 732 , 'Function' => 'UpdateTo732'), 2826 732 => array('Revision' => 748 , 'Function' => 'UpdateTo748'), 2827 748 => array('Revision' => 787 , 'Function' => 'UpdateTo787'), 2823 639 => array('Revision' => 646, 'Function' => 'UpdateTo646'), 2824 646 => array('Revision' => 666, 'Function' => 'UpdateTo666'), 2825 666 => array('Revision' => 678, 'Function' => 'UpdateTo678'), 2826 678 => array('Revision' => 695, 'Function' => 'UpdateTo695'), 2827 695 => array('Revision' => 712, 'Function' => 'UpdateTo712'), 2828 712 => array('Revision' => 716, 'Function' => 'UpdateTo716'), 2829 716 => array('Revision' => 725, 'Function' => 'UpdateTo725'), 2830 725 => array('Revision' => 731, 'Function' => 'UpdateTo731'), 2831 731 => array('Revision' => 732, 'Function' => 'UpdateTo732'), 2832 732 => array('Revision' => 748, 'Function' => 'UpdateTo748'), 2833 748 => array('Revision' => 787, 'Function' => 'UpdateTo787'), 2834 787 => array('Revision' => 803, 'Function' => 'UpdateTo803'), 2828 2835 ); -
trunk/includes/Version.php
r802 r803 6 6 // and system will need database update. 7 7 8 $Revision = 80 2; // Subversion revision9 $DatabaseRevision = 787; // Database structure revision10 $ReleaseTime = '2014-04- 04';8 $Revision = 803; // Subversion revision 9 $DatabaseRevision = 803; // Database structure revision 10 $ReleaseTime = '2014-04-14';
Note:
See TracChangeset
for help on using the changeset viewer.