[ Index ] |
|
Code source de eGroupWare 1.2.106-2 |
1 <?php 2 // $Id: admin.php 20295 2006-02-15 12:31:25Z $ 3 4 // Don't freak out lib/init.php. 5 $document = $categories = $comment = $page = ''; 6 7 //require('lib/init.php'); 8 require('parse/html.php'); 9 //require('parse/transforms.php'); 10 require('template/admin.php'); 11 12 if(!$GLOBALS['egw_info']['user']['apps']['admin']) 13 { die($ErrorAdminDisabled); } 14 15 // Harvest script parameters. 16 17 $REMOTE_ADDR = isset($_SERVER['REMOTE_ADDR']) 18 ? $_SERVER['REMOTE_ADDR'] : ''; 19 20 if(isset($_GET['locking'])) 21 { $locking = $_GET['locking']; } 22 if(isset($_GET['blocking'])) 23 { $blocking = $_GET['blocking']; } 24 if(!isset($locking)) 25 { 26 $locking = isset($_POST['locking']) 27 ? $_POST['locking'] : ''; 28 } 29 if(!isset($blocking)) 30 { 31 $blocking = isset($_POST['blocking']) 32 ? $_POST['blocking'] : ''; 33 } 34 35 // disable locking and always show blocking, as locking is done on per page basis in edit now 36 $locking = False; 37 $blocking = True; 38 39 $Block = isset($_POST['Block']) 40 ? $_POST['Block'] : ''; 41 $Unblock = isset($_POST['Unblock']) 42 ? $_POST['Unblock'] : ''; 43 $Save = isset($_POST['Save']) 44 ? $_POST['Save'] : ''; 45 $address = isset($_POST['address']) 46 ? $_POST['address'] : ''; 47 48 $count = isset($_POST['count']) ? $_POST['count'] : 0; 49 50 if($locking && $count > 0) 51 { 52 for($i = 1; $i <= $count; $i++) 53 { 54 $var = 'name' + $i; 55 $$var = isset($_POST[$var]) ? $_POST[$var] : ''; 56 $var = 'lock' + $i; 57 $$var = isset($_POST[$var]) ? $_POST[$var] : ''; 58 } 59 } 60 61 if($locking) // Locking/unlocking pages. 62 { 63 if(empty($Save)) // Not saving results; display form. 64 { 65 $GLOBALS['egw']->common->egw_header(); 66 67 $html = html_lock_start(); 68 $pagelist = $pagestore->allpages(); 69 foreach($pagelist as $page) 70 { $html = $html . html_lock_page($page[1], $page[6]); } 71 template_admin(array('html' => $html . html_lock_end(count($pagelist)))); 72 } 73 else // Lock/unlock pages at admin's request. 74 { 75 $pagestore->lock(); // Exclusive access to database. 76 for($i = 1; $i <= $count; $i++) 77 { 78 $page = urldecode($_POST['name' . $i]); 79 if(isset($_POST['lock' . $i])) 80 { $lock = $_POST['lock' . $i]; } 81 else 82 { $lock = 0; } 83 $pg = $pagestore->page($page); 84 $pg->read(); 85 $pg->version++; 86 $pg->hostname = gethostbyaddr($REMOTE_ADDR); 87 $pg->username = $UserName; 88 $pg->comment = ''; 89 $pg->text = str_replace('\\', '\\\\', $pg->text); 90 $pg->text = str_replace('\'', '\\\'', $pg->text); 91 if($pg->exists && $pg->mutable && $lock) 92 { 93 $pg->mutable = 0; 94 $pg->write(); 95 } 96 else if($pg->exists && !$pg->mutable && !$lock) 97 { 98 $pg->mutable = 1; 99 $pg->write(); 100 } 101 } 102 103 $pagestore->unlock(); 104 header('Location: ' . $AdminScript); 105 } 106 } 107 else if($blocking) // Blocking/unblocking IP addrs. 108 { 109 if($Block || $Unblock) // Block/unblock an address group. 110 { 111 if(!empty($Block)) 112 { $pagestore->rateBlockAdd($address); } 113 else if(!empty($Unblock)) 114 { $pagestore->rateBlockRemove($address); } 115 } 116 // display form. 117 { 118 $html = ''; 119 if($RatePeriod == 0) 120 { 121 $html = $html . html_bold_start() . 122 lang('Rate control / IP blocking disabled') . 123 html_bold_end() . html_newline(); 124 } 125 126 $html = $html . html_rate_start(); 127 $blocklist = $pagestore->rateBlockList(); 128 foreach($blocklist as $block) 129 { $html = $html . html_rate_entry($block); } 130 $html = $html . html_rate_end(); 131 132 template_admin(array('html' => $html)); 133 } 134 } 135 else // Display main menu for admin. 136 { 137 $GLOBALS['egw']->common->egw_header(); 138 139 template_admin(array('html' => html_url($AdminScript . '&locking=1', 140 lang('Lock / unlock pages')) . 141 html_newline() . 142 html_url($AdminScript . '&blocking=1', 143 lang('Block / unblock hosts')) . 144 html_newline())); 145 } 146 147 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Feb 25 17:20:01 2007 | par Balluche grâce à PHPXref 0.7 |