@@ -155,7 +155,7 @@ discard block |
||
155 | 155 | * checks for a valid IPv4-address without CIDR notation |
156 | 156 | * |
157 | 157 | * @param string $_ip |
158 | - * @return true or false |
|
158 | + * @return integer or false |
|
159 | 159 | */ |
160 | 160 | private function valid_ip($_ip) { |
161 | 161 | return eregi('^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$',$_ip); |
@@ -165,7 +165,7 @@ discard block |
||
165 | 165 | * renders additional info from subject |
166 | 166 | * |
167 | 167 | * @param string $_subject |
168 | - * @return plain rendered info as complete string |
|
168 | + * @return string|false rendered info as complete string |
|
169 | 169 | */ |
170 | 170 | private function render_infos($_subject = false) { |
171 | 171 | $newline = "\n"; |
@@ -81,12 +81,12 @@ discard block |
||
81 | 81 | * @param object $_preferences |
82 | 82 | */ |
83 | 83 | public function __construct($_sender, $_recipient, $_config = null, $_preferences = null) { |
84 | - if(!is_object($_sender)) { throw new Exception("no sender given."); } |
|
85 | - if(!is_object($_recipient)) { throw new Exception("no recipient given."); } |
|
86 | - if(!$this->netbios_command) { |
|
87 | - throw new Exception( 'Winpopup plugin not configured yet. Skipped sending notification message. '. |
|
84 | + if (!is_object($_sender)) { throw new Exception("no sender given."); } |
|
85 | + if (!is_object($_recipient)) { throw new Exception("no recipient given."); } |
|
86 | + if (!$this->netbios_command) { |
|
87 | + throw new Exception('Winpopup plugin not configured yet. Skipped sending notification message. '. |
|
88 | 88 | 'Please check var "netbios_command" in winpopup backend '. |
89 | - '('.EGW_INCLUDE_ROOT. '/'. self::_appname. '/inc/class.notifications_winpopup.inc.php).'); |
|
89 | + '('.EGW_INCLUDE_ROOT.'/'.self::_appname.'/inc/class.notifications_winpopup.inc.php).'); |
|
90 | 90 | } |
91 | 91 | $this->sender = $_sender; |
92 | 92 | $this->recipient = $_recipient; |
@@ -104,19 +104,19 @@ discard block |
||
104 | 104 | */ |
105 | 105 | public function send(array $_messages, $_subject = false, $_links = false, $_attachments = false) |
106 | 106 | { |
107 | - unset($_links, $_attachments); // not used |
|
107 | + unset($_links, $_attachments); // not used |
|
108 | 108 | |
109 | 109 | $user_sessions = array(); |
110 | 110 | foreach (Api\Session::session_list(0, 'asc', 'session_dla', true) as $session) { |
111 | - if ($session['session_lid'] == $this->recipient->account_lid. '@'. $GLOBALS['egw_info']['user']['domain']) { |
|
112 | - if($this->valid_ip($session['session_ip'])) { |
|
111 | + if ($session['session_lid'] == $this->recipient->account_lid.'@'.$GLOBALS['egw_info']['user']['domain']) { |
|
112 | + if ($this->valid_ip($session['session_ip'])) { |
|
113 | 113 | $user_sessions[] = $session['session_ip']; |
114 | 114 | } |
115 | 115 | } |
116 | 116 | } |
117 | - if ( empty($user_sessions) ) throw new Exception("User #{$this->recipient->account_id} isn't online. Can't send notification via winpopup"); |
|
117 | + if (empty($user_sessions)) throw new Exception("User #{$this->recipient->account_id} isn't online. Can't send notification via winpopup"); |
|
118 | 118 | |
119 | - $this->send_winpopup( $this->render_infos($_subject).$_messages['plain'], $user_sessions ); |
|
119 | + $this->send_winpopup($this->render_infos($_subject).$_messages['plain'], $user_sessions); |
|
120 | 120 | return true; |
121 | 121 | } |
122 | 122 | |
@@ -126,15 +126,15 @@ discard block |
||
126 | 126 | * @param string $_message |
127 | 127 | * @param array $_user_sessions |
128 | 128 | */ |
129 | - private function send_winpopup( $_message, array $_user_sessions ) { |
|
130 | - foreach($_user_sessions as $user_session) { |
|
131 | - $ip_octets=explode(".",$user_session); |
|
129 | + private function send_winpopup($_message, array $_user_sessions) { |
|
130 | + foreach ($_user_sessions as $user_session) { |
|
131 | + $ip_octets = explode(".", $user_session); |
|
132 | 132 | // format the ip_octets to 3 digits each |
133 | - foreach($ip_octets as $id=>$ip_octet) { |
|
134 | - if(strlen($ip_octet)==1) { $ip_octets[$id] = '00'.$ip_octet; } |
|
135 | - if(strlen($ip_octet)==2) { $ip_octets[$id] = '0'.$ip_octet; } |
|
133 | + foreach ($ip_octets as $id=>$ip_octet) { |
|
134 | + if (strlen($ip_octet) == 1) { $ip_octets[$id] = '00'.$ip_octet; } |
|
135 | + if (strlen($ip_octet) == 2) { $ip_octets[$id] = '0'.$ip_octet; } |
|
136 | 136 | } |
137 | - $placeholders = array( '/\[MESSAGE\]/' => escapeshellarg($_message), // prevent code injection |
|
137 | + $placeholders = array('/\[MESSAGE\]/' => escapeshellarg($_message), // prevent code injection |
|
138 | 138 | '/\[1\]/' => $ip_octets[0], |
139 | 139 | '/\[2\]/' => $ip_octets[1], |
140 | 140 | '/\[3\]/' => $ip_octets[2], |
@@ -144,8 +144,8 @@ discard block |
||
144 | 144 | ); |
145 | 145 | $command = preg_replace(array_keys($placeholders), $placeholders, $this->netbios_command); |
146 | 146 | $output = $returncode = null; |
147 | - exec($command,$output,$returncode); |
|
148 | - if($returncode != 0) { |
|
147 | + exec($command, $output, $returncode); |
|
148 | + if ($returncode != 0) { |
|
149 | 149 | throw new Exception("Failed sending notification message via winpopup. Error while executing the specified command."); |
150 | 150 | } |
151 | 151 | } |
@@ -158,7 +158,7 @@ discard block |
||
158 | 158 | * @return true or false |
159 | 159 | */ |
160 | 160 | private function valid_ip($_ip) { |
161 | - return eregi('^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$',$_ip); |
|
161 | + return eregi('^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$', $_ip); |
|
162 | 162 | } |
163 | 163 | |
164 | 164 | /** |
@@ -169,7 +169,7 @@ discard block |
||
169 | 169 | */ |
170 | 170 | private function render_infos($_subject = false) { |
171 | 171 | $newline = "\n"; |
172 | - if(!empty($_subject)) { return $_subject.$newline; } |
|
172 | + if (!empty($_subject)) { return $_subject.$newline; } |
|
173 | 173 | return false; |
174 | 174 | } |
175 | 175 | } |
176 | 176 | \ No newline at end of file |
@@ -15,7 +15,8 @@ discard block |
||
15 | 15 | /** |
16 | 16 | * User notification via winpopup. |
17 | 17 | */ |
18 | -class notifications_winpopup implements notifications_iface { |
|
18 | +class notifications_winpopup implements notifications_iface |
|
19 | +{ |
|
19 | 20 | |
20 | 21 | /** |
21 | 22 | * Appname |
@@ -80,10 +81,16 @@ discard block |
||
80 | 81 | * @param object $_config |
81 | 82 | * @param object $_preferences |
82 | 83 | */ |
83 | - public function __construct($_sender, $_recipient, $_config = null, $_preferences = null) { |
|
84 | - if(!is_object($_sender)) { throw new Exception("no sender given."); } |
|
85 | - if(!is_object($_recipient)) { throw new Exception("no recipient given."); } |
|
86 | - if(!$this->netbios_command) { |
|
84 | + public function __construct($_sender, $_recipient, $_config = null, $_preferences = null) |
|
85 | + { |
|
86 | + if(!is_object($_sender)) |
|
87 | + { |
|
88 | +throw new Exception("no sender given."); } |
|
89 | + if(!is_object($_recipient)) |
|
90 | + { |
|
91 | +throw new Exception("no recipient given."); } |
|
92 | + if(!$this->netbios_command) |
|
93 | + { |
|
87 | 94 | throw new Exception( 'Winpopup plugin not configured yet. Skipped sending notification message. '. |
88 | 95 | 'Please check var "netbios_command" in winpopup backend '. |
89 | 96 | '('.EGW_INCLUDE_ROOT. '/'. self::_appname. '/inc/class.notifications_winpopup.inc.php).'); |
@@ -107,14 +114,20 @@ discard block |
||
107 | 114 | unset($_links, $_attachments); // not used |
108 | 115 | |
109 | 116 | $user_sessions = array(); |
110 | - foreach (Api\Session::session_list(0, 'asc', 'session_dla', true) as $session) { |
|
111 | - if ($session['session_lid'] == $this->recipient->account_lid. '@'. $GLOBALS['egw_info']['user']['domain']) { |
|
112 | - if($this->valid_ip($session['session_ip'])) { |
|
117 | + foreach (Api\Session::session_list(0, 'asc', 'session_dla', true) as $session) |
|
118 | + { |
|
119 | + if ($session['session_lid'] == $this->recipient->account_lid. '@'. $GLOBALS['egw_info']['user']['domain']) |
|
120 | + { |
|
121 | + if($this->valid_ip($session['session_ip'])) |
|
122 | + { |
|
113 | 123 | $user_sessions[] = $session['session_ip']; |
114 | 124 | } |
115 | 125 | } |
116 | 126 | } |
117 | - if ( empty($user_sessions) ) throw new Exception("User #{$this->recipient->account_id} isn't online. Can't send notification via winpopup"); |
|
127 | + if ( empty($user_sessions) ) |
|
128 | + { |
|
129 | + throw new Exception("User #{$this->recipient->account_id} isn't online. Can't send notification via winpopup"); |
|
130 | + } |
|
118 | 131 | |
119 | 132 | $this->send_winpopup( $this->render_infos($_subject).$_messages['plain'], $user_sessions ); |
120 | 133 | return true; |
@@ -126,13 +139,20 @@ discard block |
||
126 | 139 | * @param string $_message |
127 | 140 | * @param array $_user_sessions |
128 | 141 | */ |
129 | - private function send_winpopup( $_message, array $_user_sessions ) { |
|
130 | - foreach($_user_sessions as $user_session) { |
|
142 | + private function send_winpopup( $_message, array $_user_sessions ) |
|
143 | + { |
|
144 | + foreach($_user_sessions as $user_session) |
|
145 | + { |
|
131 | 146 | $ip_octets=explode(".",$user_session); |
132 | 147 | // format the ip_octets to 3 digits each |
133 | - foreach($ip_octets as $id=>$ip_octet) { |
|
134 | - if(strlen($ip_octet)==1) { $ip_octets[$id] = '00'.$ip_octet; } |
|
135 | - if(strlen($ip_octet)==2) { $ip_octets[$id] = '0'.$ip_octet; } |
|
148 | + foreach($ip_octets as $id=>$ip_octet) |
|
149 | + { |
|
150 | + if(strlen($ip_octet)==1) |
|
151 | + { |
|
152 | +$ip_octets[$id] = '00'.$ip_octet; } |
|
153 | + if(strlen($ip_octet)==2) |
|
154 | + { |
|
155 | +$ip_octets[$id] = '0'.$ip_octet; } |
|
136 | 156 | } |
137 | 157 | $placeholders = array( '/\[MESSAGE\]/' => escapeshellarg($_message), // prevent code injection |
138 | 158 | '/\[1\]/' => $ip_octets[0], |
@@ -145,7 +165,8 @@ discard block |
||
145 | 165 | $command = preg_replace(array_keys($placeholders), $placeholders, $this->netbios_command); |
146 | 166 | $output = $returncode = null; |
147 | 167 | exec($command,$output,$returncode); |
148 | - if($returncode != 0) { |
|
168 | + if($returncode != 0) |
|
169 | + { |
|
149 | 170 | throw new Exception("Failed sending notification message via winpopup. Error while executing the specified command."); |
150 | 171 | } |
151 | 172 | } |
@@ -157,7 +178,8 @@ discard block |
||
157 | 178 | * @param string $_ip |
158 | 179 | * @return true or false |
159 | 180 | */ |
160 | - private function valid_ip($_ip) { |
|
181 | + private function valid_ip($_ip) |
|
182 | + { |
|
161 | 183 | return eregi('^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$',$_ip); |
162 | 184 | } |
163 | 185 | |
@@ -167,9 +189,12 @@ discard block |
||
167 | 189 | * @param string $_subject |
168 | 190 | * @return plain rendered info as complete string |
169 | 191 | */ |
170 | - private function render_infos($_subject = false) { |
|
192 | + private function render_infos($_subject = false) |
|
193 | + { |
|
171 | 194 | $newline = "\n"; |
172 | - if(!empty($_subject)) { return $_subject.$newline; } |
|
195 | + if(!empty($_subject)) |
|
196 | + { |
|
197 | +return $_subject.$newline; } |
|
173 | 198 | return false; |
174 | 199 | } |
175 | 200 | } |
176 | 201 | \ No newline at end of file |
@@ -55,7 +55,7 @@ |
||
55 | 55 | * Overwritten to load our slider.js |
56 | 56 | * |
57 | 57 | * @param array $extra |
58 | - * @return type |
|
58 | + * @return string|null |
|
59 | 59 | */ |
60 | 60 | function header(array $extra=array()) |
61 | 61 | { |
@@ -41,12 +41,12 @@ discard block |
||
41 | 41 | * |
42 | 42 | * @param string $template ='pixelegg' name of the template |
43 | 43 | */ |
44 | - function __construct($template=self::APP) |
|
44 | + function __construct($template = self::APP) |
|
45 | 45 | { |
46 | - parent::__construct($template); // call the constructor of the extended class |
|
46 | + parent::__construct($template); // call the constructor of the extended class |
|
47 | 47 | |
48 | 48 | // search 'mobile' dirs first |
49 | - if (Api\Header\UserAgent::mobile()) array_unshift ($this->template_dirs, 'mobile'); |
|
49 | + if (Api\Header\UserAgent::mobile()) array_unshift($this->template_dirs, 'mobile'); |
|
50 | 50 | } |
51 | 51 | |
52 | 52 | /** |
@@ -57,7 +57,7 @@ discard block |
||
57 | 57 | * @param array $extra |
58 | 58 | * @return type |
59 | 59 | */ |
60 | - function header(array $extra=array()) |
|
60 | + function header(array $extra = array()) |
|
61 | 61 | { |
62 | 62 | // load our slider.js, but only if framework requested |
63 | 63 | if (!self::$header_done && $_GET['cd'] === 'yes' && |
@@ -79,9 +79,9 @@ discard block |
||
79 | 79 | { |
80 | 80 | if ($color[0] == '#') $color = ltrim($color, '#'); |
81 | 81 | |
82 | - $R = hexdec(substr($color,0,2)); |
|
83 | - $G = hexdec(substr($color,2,2)); |
|
84 | - $B = hexdec(substr($color,4,2)); |
|
82 | + $R = hexdec(substr($color, 0, 2)); |
|
83 | + $G = hexdec(substr($color, 2, 2)); |
|
84 | + $B = hexdec(substr($color, 4, 2)); |
|
85 | 85 | |
86 | 86 | $Rs = round($R * (100 + $percent) / 100); |
87 | 87 | $Gs = round($G * (100 + $percent) / 100); |
@@ -104,7 +104,7 @@ discard block |
||
104 | 104 | { |
105 | 105 | $ret = parent::_get_css(); |
106 | 106 | // color to use |
107 | - $color = str_replace('custom',$GLOBALS['egw_info']['user']['preferences']['common']['template_custom_color'], |
|
107 | + $color = str_replace('custom', $GLOBALS['egw_info']['user']['preferences']['common']['template_custom_color'], |
|
108 | 108 | $GLOBALS['egw_info']['user']['preferences']['common']['template_color']); |
109 | 109 | |
110 | 110 | // Create a dark variant of the color |
@@ -129,7 +129,7 @@ discard block |
||
129 | 129 | $loginbox_color = $color_darker; |
130 | 130 | } |
131 | 131 | |
132 | - if (preg_match('/^(#[0-9A-F]+|[A-Z]+)$/i',$color)) // a little xss check |
|
132 | + if (preg_match('/^(#[0-9A-F]+|[A-Z]+)$/i', $color)) // a little xss check |
|
133 | 133 | { |
134 | 134 | if (!Api\Header\UserAgent::mobile()) |
135 | 135 | { |
@@ -206,7 +206,7 @@ discard block |
||
206 | 206 | * @param string $extra_vars for login url |
207 | 207 | * @param string $change_passwd =null string with message to render input fields for password change |
208 | 208 | */ |
209 | - function login_screen($extra_vars, $change_passwd=null) |
|
209 | + function login_screen($extra_vars, $change_passwd = null) |
|
210 | 210 | { |
211 | 211 | if (empty($GLOBALS['loginscreenmessage'])) |
212 | 212 | { |
@@ -46,7 +46,10 @@ discard block |
||
46 | 46 | parent::__construct($template); // call the constructor of the extended class |
47 | 47 | |
48 | 48 | // search 'mobile' dirs first |
49 | - if (Api\Header\UserAgent::mobile()) array_unshift ($this->template_dirs, 'mobile'); |
|
49 | + if (Api\Header\UserAgent::mobile()) |
|
50 | + { |
|
51 | + array_unshift ($this->template_dirs, 'mobile'); |
|
52 | + } |
|
50 | 53 | } |
51 | 54 | |
52 | 55 | /** |
@@ -77,7 +80,10 @@ discard block |
||
77 | 80 | */ |
78 | 81 | function _color_shader($color, $percent) |
79 | 82 | { |
80 | - if ($color[0] == '#') $color = ltrim($color, '#'); |
|
83 | + if ($color[0] == '#') |
|
84 | + { |
|
85 | + $color = ltrim($color, '#'); |
|
86 | + } |
|
81 | 87 | |
82 | 88 | $R = hexdec(substr($color,0,2)); |
83 | 89 | $G = hexdec(substr($color,2,2)); |
@@ -87,9 +93,18 @@ discard block |
||
87 | 93 | $Gs = round($G * (100 + $percent) / 100); |
88 | 94 | $Bs = round($B * (100 + $percent) / 100); |
89 | 95 | |
90 | - if ($Rs > 255) $Rs = 255; |
|
91 | - if ($Gs > 255) $Gs = 255; |
|
92 | - if ($Bs > 255) $Bs = 255; |
|
96 | + if ($Rs > 255) |
|
97 | + { |
|
98 | + $Rs = 255; |
|
99 | + } |
|
100 | + if ($Gs > 255) |
|
101 | + { |
|
102 | + $Gs = 255; |
|
103 | + } |
|
104 | + if ($Bs > 255) |
|
105 | + { |
|
106 | + $Bs = 255; |
|
107 | + } |
|
93 | 108 | |
94 | 109 | return '#'.sprintf('%02X%02X%02X', $Rs, $Gs, $Bs); |
95 | 110 | } |
@@ -129,7 +144,9 @@ discard block |
||
129 | 144 | $loginbox_color = $color_darker; |
130 | 145 | } |
131 | 146 | |
132 | - if (preg_match('/^(#[0-9A-F]+|[A-Z]+)$/i',$color)) // a little xss check |
|
147 | + if (preg_match('/^(#[0-9A-F]+|[A-Z]+)$/i',$color)) |
|
148 | + { |
|
149 | + // a little xss check |
|
133 | 150 | { |
134 | 151 | if (!Api\Header\UserAgent::mobile()) |
135 | 152 | { |
@@ -168,6 +185,7 @@ discard block |
||
168 | 185 | |
169 | 186 | |
170 | 187 | "; |
188 | + } |
|
171 | 189 | if ($GLOBALS['egw_info']['user']['preferences']['common']['theme'] == 'traditional') |
172 | 190 | { |
173 | 191 | $ret['app_css'] .= ".dialogFooterToolbar {background-color: $color !important;}"; |
@@ -292,7 +292,7 @@ |
||
292 | 292 | * @param array &$sel_options |
293 | 293 | * @param array &$readonlys |
294 | 294 | * @param array &$types on return setting-name => setting-type |
295 | - * @param etemplate $tpl |
|
295 | + * @param Etemplate $tpl |
|
296 | 296 | * @throws Api\Exception\WrongParameter |
297 | 297 | * @return array content |
298 | 298 | */ |
@@ -164,9 +164,15 @@ discard block |
||
164 | 164 | $data = $this->get_content($appname, $type, $sel_options, $readonlys, $preserve['types'], $tpl); |
165 | 165 | $preserve['appname'] = $preserve['old_appname'] = $data['appname']; |
166 | 166 | $preserve['type'] = $preserve['old_type'] = $data['type']; |
167 | - if (isset($old_tab)) $data['tabs'] = $old_tab; |
|
167 | + if (isset($old_tab)) |
|
168 | + { |
|
169 | + $data['tabs'] = $old_tab; |
|
170 | + } |
|
168 | 171 | |
169 | - if ($msg) Framework::message($msg, $msg_type ? $msg_type : 'error'); |
|
172 | + if ($msg) |
|
173 | + { |
|
174 | + Framework::message($msg, $msg_type ? $msg_type : 'error'); |
|
175 | + } |
|
170 | 176 | |
171 | 177 | $tpl->exec('preferences.preferences_settings.index', $data, $sel_options, $readonlys, $preserve, 2); |
172 | 178 | } |
@@ -201,7 +207,10 @@ discard block |
||
201 | 207 | switch((string)$types[$var]) |
202 | 208 | { |
203 | 209 | case 'password': // dont write empty password-fields |
204 | - if (empty($value)) continue 2; |
|
210 | + if (empty($value)) |
|
211 | + { |
|
212 | + continue 2; |
|
213 | + } |
|
205 | 214 | break; |
206 | 215 | case 'vfs_file': |
207 | 216 | case 'vfs_dir': |
@@ -215,7 +224,10 @@ discard block |
||
215 | 224 | { |
216 | 225 | unset($prefs[$var]); |
217 | 226 | // need to call preferences::delete, to also set affective prefs! |
218 | - if (!$only_verify) $GLOBALS['egw']->preferences->delete($appname, $var, $type); |
|
227 | + if (!$only_verify) |
|
228 | + { |
|
229 | + $GLOBALS['egw']->preferences->delete($appname, $var, $type); |
|
230 | + } |
|
219 | 231 | continue 2; |
220 | 232 | } |
221 | 233 | } |
@@ -232,7 +244,11 @@ discard block |
||
232 | 244 | // to still allow space or comma in dirnames, we also use the trailing slash of all pathes to split |
233 | 245 | foreach($types[$var] == 'vfs_dir' ? array($value) : preg_split('/[,\s]+\//', $value) as $n => $dir) |
234 | 246 | { |
235 | - if ($n) $dir = '/'.$dir; // re-adding trailing slash removed by split |
|
247 | + if ($n) |
|
248 | + { |
|
249 | + $dir = '/'.$dir; |
|
250 | + } |
|
251 | + // re-adding trailing slash removed by split |
|
236 | 252 | if ($dir[0] != '/' || !Vfs::stat($dir) || !Vfs::is_dir($dir)) |
237 | 253 | { |
238 | 254 | $error .= ($error ? ' ' : '').lang('%1 is no existing vfs directory!',$dir); |
@@ -249,19 +265,29 @@ discard block |
||
249 | 265 | |
250 | 266 | if (isset($value) && $value !== '' && $value !== '**NULL**' && $value !== array()) |
251 | 267 | { |
252 | - if (is_array($value) && !$settings[$var]['no_sel_options']) $value = implode(',',$value); // multiselect |
|
268 | + if (is_array($value) && !$settings[$var]['no_sel_options']) |
|
269 | + { |
|
270 | + $value = implode(',',$value); |
|
271 | + } |
|
272 | + // multiselect |
|
253 | 273 | |
254 | 274 | $prefs[$var] = $value; |
255 | 275 | |
256 | 276 | // need to call preferences::add, to also set affective prefs! |
257 | - if (!$only_verify) $GLOBALS['egw']->preferences->add($appname, $var, $prefs[$var], $type); |
|
277 | + if (!$only_verify) |
|
278 | + { |
|
279 | + $GLOBALS['egw']->preferences->add($appname, $var, $prefs[$var], $type); |
|
280 | + } |
|
258 | 281 | } |
259 | 282 | else |
260 | 283 | { |
261 | 284 | unset($prefs[$var]); |
262 | 285 | |
263 | 286 | // need to call preferences::delete, to also set affective prefs! |
264 | - if (!$only_verify) $GLOBALS['egw']->preferences->delete($appname, $var, $type); |
|
287 | + if (!$only_verify) |
|
288 | + { |
|
289 | + $GLOBALS['egw']->preferences->delete($appname, $var, $type); |
|
290 | + } |
|
265 | 291 | } |
266 | 292 | } |
267 | 293 | |
@@ -281,7 +307,10 @@ discard block |
||
281 | 307 | return $error; |
282 | 308 | } |
283 | 309 | |
284 | - if (!$only_verify) $GLOBALS['egw']->preferences->save_repository(True,$type); |
|
310 | + if (!$only_verify) |
|
311 | + { |
|
312 | + $GLOBALS['egw']->preferences->save_repository(True,$type); |
|
313 | + } |
|
285 | 314 | |
286 | 315 | // certain common prefs (language, template, ...) require the session to be re-created |
287 | 316 | if ($appname == 'common' && !$only_verify) |
@@ -319,7 +348,10 @@ discard block |
||
319 | 348 | $tab = 'tab1'; |
320 | 349 | foreach($this->settings as $setting) |
321 | 350 | { |
322 | - if (!is_array($setting)) continue; |
|
351 | + if (!is_array($setting)) |
|
352 | + { |
|
353 | + continue; |
|
354 | + } |
|
323 | 355 | if ($type != 'forced' && (string)$GLOBALS['egw']->preferences->forced[$appname][$setting['name']] !== '') |
324 | 356 | { |
325 | 357 | continue; // forced preferences are not displayed, unless we edit them |
@@ -341,7 +373,10 @@ discard block |
||
341 | 373 | |
342 | 374 | case 'notify': |
343 | 375 | $vars = $GLOBALS['egw']->preferences->vars; |
344 | - if (is_array($setting['values'])) $vars += $setting['values']; |
|
376 | + if (is_array($setting['values'])) |
|
377 | + { |
|
378 | + $vars += $setting['values']; |
|
379 | + } |
|
345 | 380 | $GLOBALS['egw']->preferences->{$attribute}[$appname][$setting['name']] = |
346 | 381 | $GLOBALS['egw']->preferences->lang_notify($GLOBALS['egw']->preferences->{$attribute}[$appname][$setting['name']], $vars); |
347 | 382 | $types[$setting['name']] = $vars; // store vars for re-translation, instead type "notify" |
@@ -383,17 +418,27 @@ discard block |
||
383 | 418 | case 'multiselect': |
384 | 419 | $setting['type'] = 'select'; |
385 | 420 | $tpl->setElementAttribute($tab.'['.$setting['name'].']', 'rows', 5); |
386 | - if (!isset($setting['size'])) $setting['size'] = '5'; // old eT |
|
421 | + if (!isset($setting['size'])) |
|
422 | + { |
|
423 | + $setting['size'] = '5'; |
|
424 | + } |
|
425 | + // old eT |
|
387 | 426 | break; |
388 | 427 | case 'color': |
389 | 428 | $setting['type'] = 'colorpicker'; |
390 | 429 | break; |
391 | 430 | case 'date-duration': |
392 | - if (!isset($setting['size'])) $setting['size'] = 'm,dhm,24,1'; |
|
431 | + if (!isset($setting['size'])) |
|
432 | + { |
|
433 | + $setting['size'] = 'm,dhm,24,1'; |
|
434 | + } |
|
393 | 435 | $attrs = explode(',', $setting['size']); |
394 | 436 | foreach(array("data_format","display_format", "hours_per_day", "empty_not_0", "short_labels") as $n => $name) |
395 | 437 | { |
396 | - if ((string)$attrs[$n] !== '') $tpl->setElementAttribute($tab.'['.$setting['name'].']', $name, $attrs[$n]); |
|
438 | + if ((string)$attrs[$n] !== '') |
|
439 | + { |
|
440 | + $tpl->setElementAttribute($tab.'['.$setting['name'].']', $name, $attrs[$n]); |
|
441 | + } |
|
397 | 442 | } |
398 | 443 | break; |
399 | 444 | case 'taglist': |
@@ -435,10 +480,13 @@ discard block |
||
435 | 480 | { |
436 | 481 | $default = self::get_default_label($default, $setting['values']); |
437 | 482 | } |
438 | - if (is_array($types[$setting['name']])) // translate the substitution names |
|
483 | + if (is_array($types[$setting['name']])) |
|
484 | + { |
|
485 | + // translate the substitution names |
|
439 | 486 | { |
440 | 487 | $default = $GLOBALS['egw']->preferences->lang_notify($default, $types[$setting['name']]); |
441 | 488 | } |
489 | + } |
|
442 | 490 | } |
443 | 491 | if ($setting['help'] && ($setting['run_lang'] || !isset($setting['run_lang']))) |
444 | 492 | { |
@@ -550,7 +598,10 @@ discard block |
||
550 | 598 | } |
551 | 599 | } |
552 | 600 | } |
553 | - if ($lang) $def = lang($def); |
|
601 | + if ($lang) |
|
602 | + { |
|
603 | + $def = lang($def); |
|
604 | + } |
|
554 | 605 | } |
555 | 606 | $label = implode(', ', $labels); |
556 | 607 | //error_log(__METHOD__."(".array2string($default).', '.array2string($values).") returning $label"); |
@@ -45,7 +45,7 @@ discard block |
||
45 | 45 | * @param array $content =null |
46 | 46 | * @param string $msg ='' |
47 | 47 | */ |
48 | - function index(array $content=null, $msg='') |
|
48 | + function index(array $content = null, $msg = '') |
|
49 | 49 | { |
50 | 50 | $tpl = new Etemplate('preferences.settings'); |
51 | 51 | if (!is_array($content)) |
@@ -70,7 +70,7 @@ discard block |
||
70 | 70 | { |
71 | 71 | list($button) = each($content['button']); |
72 | 72 | $appname = $content['old_appname'] ? $content['old_appname'] : 'common'; |
73 | - switch($button) |
|
73 | + switch ($button) |
|
74 | 74 | { |
75 | 75 | case 'save': |
76 | 76 | case 'apply': |
@@ -79,10 +79,10 @@ discard block |
||
79 | 79 | { |
80 | 80 | throw new Api\Exception\NoPermission\Admin; |
81 | 81 | } |
82 | - list($type,$account_id) = explode(':', $content['old_type']); |
|
82 | + list($type, $account_id) = explode(':', $content['old_type']); |
|
83 | 83 | // merge prefs of all tabs together again |
84 | 84 | $prefs = array(); |
85 | - foreach($content as $name => $val) |
|
85 | + foreach ($content as $name => $val) |
|
86 | 86 | { |
87 | 87 | if (is_array($val) && strpos($name, 'tab') === 0) |
88 | 88 | { |
@@ -100,7 +100,7 @@ discard block |
||
100 | 100 | $old_values = array_intersect_key($GLOBALS['egw_info']['user']['preferences']['common'], array_flip($require_reload)); |
101 | 101 | |
102 | 102 | $attribute = $type == 'group' ? 'user' : $type; |
103 | - if (!($msg=$this->process_array($GLOBALS['egw']->preferences->$attribute, $prefs, $content['types'], $appname, $attribute))) |
|
103 | + if (!($msg = $this->process_array($GLOBALS['egw']->preferences->$attribute, $prefs, $content['types'], $appname, $attribute))) |
|
104 | 104 | { |
105 | 105 | $msg_type = 'success'; |
106 | 106 | $msg = lang('Preferences saved.'); |
@@ -124,14 +124,14 @@ discard block |
||
124 | 124 | // update client-side Api\Preferences in response |
125 | 125 | Framework::ajax_get_preference($appname); |
126 | 126 | } |
127 | - if (in_array($button, array('save','cancel'))) |
|
127 | + if (in_array($button, array('save', 'cancel'))) |
|
128 | 128 | { |
129 | 129 | Api\Json\Response::get()->call('egw.message', $msg, $msg_type); |
130 | 130 | Framework::window_close(); |
131 | 131 | } |
132 | 132 | } |
133 | 133 | $appname = $content['appname'] ? $content['appname'] : 'common'; |
134 | - list($type,$account_id) = explode(':', $content['type']); |
|
134 | + list($type, $account_id) = explode(':', $content['type']); |
|
135 | 135 | //_debug_array($prefs); |
136 | 136 | } |
137 | 137 | if ($account_id && $account_id != $GLOBALS['egw']->preferences->get_account_id()) |
@@ -150,7 +150,7 @@ discard block |
||
150 | 150 | $preserve['current_app'] = $content['current_app']; |
151 | 151 | $GLOBALS['egw_info']['flags']['currentapp'] = $content['current_app'] == 'common' ? |
152 | 152 | 'preferences' : $content['current_app']; |
153 | - Framework::includeCSS('preferences','app'); |
|
153 | + Framework::includeCSS('preferences', 'app'); |
|
154 | 154 | |
155 | 155 | // if not just saved, call validation before, to be able to show failed validation of current prefs |
156 | 156 | if (!isset($button)) |
@@ -182,7 +182,7 @@ discard block |
||
182 | 182 | * @param boolean $only_verify =false |
183 | 183 | * @return string with verification error or null on success |
184 | 184 | */ |
185 | - function process_array(array &$repository, array $values, array $types, $appname, $type, $only_verify=false) |
|
185 | + function process_array(array &$repository, array $values, array $types, $appname, $type, $only_verify = false) |
|
186 | 186 | { |
187 | 187 | //fetch application specific settings from a hook |
188 | 188 | $settings = Api\Hooks::single(array( |
@@ -195,10 +195,10 @@ discard block |
||
195 | 195 | |
196 | 196 | unset($prefs['']); |
197 | 197 | //_debug_array($values);exit; |
198 | - foreach($values as $var => $value) |
|
198 | + foreach ($values as $var => $value) |
|
199 | 199 | { |
200 | 200 | // type specific validation |
201 | - switch((string)$types[$var]) |
|
201 | + switch ((string)$types[$var]) |
|
202 | 202 | { |
203 | 203 | case 'password': // dont write empty password-fields |
204 | 204 | if (empty($value)) continue 2; |
@@ -211,7 +211,7 @@ discard block |
||
211 | 211 | // empty is always allowed |
212 | 212 | |
213 | 213 | // If forced, empty == not set |
214 | - if($type == 'forced') |
|
214 | + if ($type == 'forced') |
|
215 | 215 | { |
216 | 216 | unset($prefs[$var]); |
217 | 217 | // need to call preferences::delete, to also set affective prefs! |
@@ -223,19 +223,19 @@ discard block |
||
223 | 223 | { |
224 | 224 | if ($value[0] != '/' || !Vfs::stat($value) || Vfs::is_dir($value)) |
225 | 225 | { |
226 | - $error = lang('%1 is no existing vfs file!',htmlspecialchars($value)); |
|
226 | + $error = lang('%1 is no existing vfs file!', htmlspecialchars($value)); |
|
227 | 227 | } |
228 | 228 | } |
229 | 229 | else |
230 | 230 | { |
231 | 231 | // split multiple comma or whitespace separated directories |
232 | 232 | // to still allow space or comma in dirnames, we also use the trailing slash of all pathes to split |
233 | - foreach($types[$var] == 'vfs_dir' ? array($value) : preg_split('/[,\s]+\//', $value) as $n => $dir) |
|
233 | + foreach ($types[$var] == 'vfs_dir' ? array($value) : preg_split('/[,\s]+\//', $value) as $n => $dir) |
|
234 | 234 | { |
235 | - if ($n) $dir = '/'.$dir; // re-adding trailing slash removed by split |
|
235 | + if ($n) $dir = '/'.$dir; // re-adding trailing slash removed by split |
|
236 | 236 | if ($dir[0] != '/' || !Vfs::stat($dir) || !Vfs::is_dir($dir)) |
237 | 237 | { |
238 | - $error .= ($error ? ' ' : '').lang('%1 is no existing vfs directory!',$dir); |
|
238 | + $error .= ($error ? ' ' : '').lang('%1 is no existing vfs directory!', $dir); |
|
239 | 239 | } |
240 | 240 | } |
241 | 241 | } |
@@ -249,7 +249,7 @@ discard block |
||
249 | 249 | |
250 | 250 | if (isset($value) && $value !== '' && $value !== '**NULL**' && $value !== array()) |
251 | 251 | { |
252 | - if (is_array($value) && !$settings[$var]['no_sel_options']) $value = implode(',',$value); // multiselect |
|
252 | + if (is_array($value) && !$settings[$var]['no_sel_options']) $value = implode(',', $value); // multiselect |
|
253 | 253 | |
254 | 254 | $prefs[$var] = $value; |
255 | 255 | |
@@ -269,7 +269,7 @@ discard block |
||
269 | 269 | // if you return something else than False, it is treated as an error-msg and |
270 | 270 | // displayed to the user (the prefs are not saved) |
271 | 271 | // |
272 | - if(($error .= Api\Hooks::single(array( |
|
272 | + if (($error .= Api\Hooks::single(array( |
|
273 | 273 | 'location' => 'verify_settings', |
274 | 274 | 'prefs' => &$repository[$appname], |
275 | 275 | 'type' => $type, |
@@ -281,7 +281,7 @@ discard block |
||
281 | 281 | return $error; |
282 | 282 | } |
283 | 283 | |
284 | - if (!$only_verify) $GLOBALS['egw']->preferences->save_repository(True,$type); |
|
284 | + if (!$only_verify) $GLOBALS['egw']->preferences->save_repository(True, $type); |
|
285 | 285 | |
286 | 286 | // certain common prefs (language, template, ...) require the session to be re-created |
287 | 287 | if ($appname == 'common' && !$only_verify) |
@@ -317,19 +317,19 @@ discard block |
||
317 | 317 | $sel_options = $readonlys = $content = $tabs = array(); |
318 | 318 | // disable all but first tab and name current tab "tab1", for apps not using sections |
319 | 319 | $tab = 'tab1'; |
320 | - foreach($this->settings as $setting) |
|
320 | + foreach ($this->settings as $setting) |
|
321 | 321 | { |
322 | 322 | if (!is_array($setting)) continue; |
323 | 323 | if ($type != 'forced' && (string)$GLOBALS['egw']->preferences->forced[$appname][$setting['name']] !== '') |
324 | 324 | { |
325 | - continue; // forced preferences are not displayed, unless we edit them |
|
325 | + continue; // forced preferences are not displayed, unless we edit them |
|
326 | 326 | } |
327 | 327 | $types[$setting['name']] = $old_type = $setting['type']; |
328 | 328 | |
329 | - switch($old_type) |
|
329 | + switch ($old_type) |
|
330 | 330 | { |
331 | 331 | case 'section': |
332 | - $tab = 'tab'.(1+count($tabs)); |
|
332 | + $tab = 'tab'.(1 + count($tabs)); |
|
333 | 333 | $tabs[] = array( |
334 | 334 | 'id' => $tab, |
335 | 335 | 'template' => 'preferences.settings.tab1', |
@@ -344,24 +344,24 @@ discard block |
||
344 | 344 | if (is_array($setting['values'])) $vars += $setting['values']; |
345 | 345 | $GLOBALS['egw']->preferences->{$attribute}[$appname][$setting['name']] = |
346 | 346 | $GLOBALS['egw']->preferences->lang_notify($GLOBALS['egw']->preferences->{$attribute}[$appname][$setting['name']], $vars); |
347 | - $types[$setting['name']] = $vars; // store vars for re-translation, instead type "notify" |
|
347 | + $types[$setting['name']] = $vars; // store vars for re-translation, instead type "notify" |
|
348 | 348 | if ($setting['help'] && ($setting['run_lang'] || !isset($setting['run_lang']))) |
349 | 349 | { |
350 | 350 | $setting['help'] = lang($setting['help']); |
351 | 351 | } |
352 | 352 | $setting['help'] .= '<p><b>'.lang('Substitutions and their meanings:').'</b>'; |
353 | - foreach($vars as $var => $var_help) |
|
353 | + foreach ($vars as $var => $var_help) |
|
354 | 354 | { |
355 | 355 | $lname = ($lname = lang($var)) == $var.'*' ? $var : $lname; |
356 | 356 | $setting['help'] .= "<br>\n".'<b>$$'.$lname.'$$</b>: '.$var_help; |
357 | 357 | } |
358 | 358 | $setting['help'] .= "</p>\n"; |
359 | - $setting['run_lang'] = false; // already done now |
|
359 | + $setting['run_lang'] = false; // already done now |
|
360 | 360 | // handle as textarea |
361 | 361 | case 'textarea': |
362 | 362 | $setting['type'] = is_a($tpl, 'etemplate') ? 'textarea' : 'textbox'; |
363 | 363 | $tpl->setElementAttribute($tab.'['.$setting['name'].']', 'multiline', 'true'); |
364 | - $tpl->setElementAttribute($tab. '[' . $setting['name'] . ']','width', '99%' ); |
|
364 | + $tpl->setElementAttribute($tab.'['.$setting['name'].']', 'width', '99%'); |
|
365 | 365 | // anyway setting via css: width: 99%, height: 5em |
366 | 366 | // for old eT use size attribute |
367 | 367 | if (is_a($tpl, 'etemplate') && (!empty($setting['cols']) || !empty($setting['rows']))) |
@@ -383,7 +383,7 @@ discard block |
||
383 | 383 | case 'multiselect': |
384 | 384 | $setting['type'] = 'select'; |
385 | 385 | $tpl->setElementAttribute($tab.'['.$setting['name'].']', 'rows', 5); |
386 | - if (!isset($setting['size'])) $setting['size'] = '5'; // old eT |
|
386 | + if (!isset($setting['size'])) $setting['size'] = '5'; // old eT |
|
387 | 387 | break; |
388 | 388 | case 'color': |
389 | 389 | $setting['type'] = 'colorpicker'; |
@@ -391,7 +391,7 @@ discard block |
||
391 | 391 | case 'date-duration': |
392 | 392 | if (!isset($setting['size'])) $setting['size'] = 'm,dhm,24,1'; |
393 | 393 | $attrs = explode(',', $setting['size']); |
394 | - foreach(array("data_format","display_format", "hours_per_day", "empty_not_0", "short_labels") as $n => $name) |
|
394 | + foreach (array("data_format", "display_format", "hours_per_day", "empty_not_0", "short_labels") as $n => $name) |
|
395 | 395 | { |
396 | 396 | if ((string)$attrs[$n] !== '') $tpl->setElementAttribute($tab.'['.$setting['name'].']', $name, $attrs[$n]); |
397 | 397 | } |
@@ -399,7 +399,7 @@ discard block |
||
399 | 399 | case 'taglist': |
400 | 400 | if ($setting['no_sel_options']) |
401 | 401 | { |
402 | - $tpl->setElementAttribute ($tab.'['.$setting['name'].']', 'autocomplete_url', ''); |
|
402 | + $tpl->setElementAttribute($tab.'['.$setting['name'].']', 'autocomplete_url', ''); |
|
403 | 403 | } |
404 | 404 | break; |
405 | 405 | } |
@@ -408,17 +408,17 @@ discard block |
||
408 | 408 | { |
409 | 409 | if ($old_type != 'multiselect' && $old_type != 'notify') |
410 | 410 | { |
411 | - switch($type) |
|
411 | + switch ($type) |
|
412 | 412 | { |
413 | 413 | case 'user': |
414 | - $setting['values'] = array('' => lang('Use default'))+$setting['values']; |
|
414 | + $setting['values'] = array('' => lang('Use default')) + $setting['values']; |
|
415 | 415 | break; |
416 | 416 | case 'default': |
417 | 417 | case 'group': |
418 | - $setting['values'] = array('' => lang('No default'))+$setting['values']; |
|
418 | + $setting['values'] = array('' => lang('No default')) + $setting['values']; |
|
419 | 419 | break; |
420 | 420 | case 'forced'; |
421 | - $setting['values'] = array('**NULL**' => lang('Users choice'))+$setting['values']; |
|
421 | + $setting['values'] = array('**NULL**' => lang('Users choice')) + $setting['values']; |
|
422 | 422 | break; |
423 | 423 | } |
424 | 424 | } |
@@ -427,8 +427,7 @@ discard block |
||
427 | 427 | if ($type == 'user') |
428 | 428 | { |
429 | 429 | $default = $GLOBALS['egw']->preferences->group[$appname][$setting['name']] ? |
430 | - $GLOBALS['egw']->preferences->group[$appname][$setting['name']] : |
|
431 | - $GLOBALS['egw']->preferences->default[$appname][$setting['name']]; |
|
430 | + $GLOBALS['egw']->preferences->group[$appname][$setting['name']] : $GLOBALS['egw']->preferences->default[$appname][$setting['name']]; |
|
432 | 431 | |
433 | 432 | // replace default value(s) for selectboxes with selectbox labels |
434 | 433 | if (isset($setting['values']) && is_array($setting['values'])) |
@@ -448,7 +447,7 @@ discard block |
||
448 | 447 | 'name' => $setting['name'], |
449 | 448 | 'type' => $setting['type'], |
450 | 449 | 'label' => preg_replace('|<br[ /]*>|i', "\n", $setting['label']), |
451 | - 'help' => lang($setting['help']), // is html |
|
450 | + 'help' => lang($setting['help']), // is html |
|
452 | 451 | 'default' => (string)$default !== '' ? lang('Default').': '.$default : null, |
453 | 452 | 'onchange' => $setting['onchange'], |
454 | 453 | ); |
@@ -473,7 +472,7 @@ discard block |
||
473 | 472 | |
474 | 473 | $content['appname'] = $appname; |
475 | 474 | $sel_options['appname'] = array(); |
476 | - foreach(Api\Hooks::implemented('settings') as $app) |
|
475 | + foreach (Api\Hooks::implemented('settings') as $app) |
|
477 | 476 | { |
478 | 477 | if ($app != 'preferences' && $GLOBALS['egw_info']['user']['apps'][$app]) |
479 | 478 | { |
@@ -499,7 +498,7 @@ discard block |
||
499 | 498 | $user_apps = $GLOBALS['egw']->acl->get_user_applications($id); |
500 | 499 | $sel_options['appname'] = array_intersect_key($sel_options['appname'], $user_apps); |
501 | 500 | } |
502 | - foreach($GLOBALS['egw']->accounts->search(array('type' => 'groups', 'order' => 'account_lid')) as $account_id => $group) |
|
501 | + foreach ($GLOBALS['egw']->accounts->search(array('type' => 'groups', 'order' => 'account_lid')) as $account_id => $group) |
|
503 | 502 | { |
504 | 503 | $sel_options['type']['group:'.$account_id] = lang('Preferences').' '.Api\Accounts::format_username($group['account_lid'], '', '', $account_id); |
505 | 504 | } |
@@ -522,7 +521,7 @@ discard block |
||
522 | 521 | * @param boolean $lang =true |
523 | 522 | * @return string comma-separated and translated labels |
524 | 523 | */ |
525 | - protected static function get_default_label($default, array $values, $lang=true) |
|
524 | + protected static function get_default_label($default, array $values, $lang = true) |
|
526 | 525 | { |
527 | 526 | // explode comma-separated multiple default values |
528 | 527 | if (!is_array($default) && !isset($values[$default]) && strpos($default, ',') !== false) |
@@ -533,7 +532,7 @@ discard block |
||
533 | 532 | { |
534 | 533 | $labels = (array)$default; |
535 | 534 | } |
536 | - foreach($labels as &$def) |
|
535 | + foreach ($labels as &$def) |
|
537 | 536 | { |
538 | 537 | if (isset($values[$def])) |
539 | 538 | { |
@@ -541,7 +540,7 @@ discard block |
||
541 | 540 | } |
542 | 541 | else // value could be in an optgroup |
543 | 542 | { |
544 | - foreach($values as $value) |
|
543 | + foreach ($values as $value) |
|
545 | 544 | { |
546 | 545 | if (is_array($value) && !isset($value['label']) && isset($value[$def])) |
547 | 546 | { |
@@ -567,16 +566,16 @@ discard block |
||
567 | 566 | * @param int|string $account_id =null account_id for user or group prefs, or "forced" or "default" |
568 | 567 | * @return boolean |
569 | 568 | */ |
570 | - protected function call_hook($appname, $type='user', $account_id=null) |
|
569 | + protected function call_hook($appname, $type = 'user', $account_id = null) |
|
571 | 570 | { |
572 | 571 | $this->appname = $appname == 'common' ? 'preferences' : $appname; |
573 | 572 | |
574 | 573 | // Set framework here to make sure we get the right settings for user's [newly] selected template |
575 | 574 | $GLOBALS['egw_info']['server']['template_set'] = $GLOBALS['egw']->preferences->data['common']['template_set']; |
576 | 575 | Api\Translation::add_app($this->appname); |
577 | - if($this->appname != 'preferences') |
|
576 | + if ($this->appname != 'preferences') |
|
578 | 577 | { |
579 | - Api\Translation::add_app('preferences'); // we need the prefs translations too |
|
578 | + Api\Translation::add_app('preferences'); // we need the prefs translations too |
|
580 | 579 | } |
581 | 580 | |
582 | 581 | // make type available, to hooks from Egw\Applications can use it, eg. activesync |
@@ -585,7 +584,7 @@ discard block |
||
585 | 584 | 'type' => $type, |
586 | 585 | 'account_id' => $account_id, |
587 | 586 | ); |
588 | - $GLOBALS['type'] = $type; // old global variable |
|
587 | + $GLOBALS['type'] = $type; // old global variable |
|
589 | 588 | |
590 | 589 | // calling app specific settings hook |
591 | 590 | $settings = Api\Hooks::single($hook_data, $this->appname); |
@@ -594,30 +593,30 @@ discard block |
||
594 | 593 | { |
595 | 594 | $this->settings = array_merge($this->settings, $settings); |
596 | 595 | } |
597 | - elseif(isset($GLOBALS['settings']) && is_array($GLOBALS['settings']) && $GLOBALS['settings']) |
|
596 | + elseif (isset($GLOBALS['settings']) && is_array($GLOBALS['settings']) && $GLOBALS['settings']) |
|
598 | 597 | { |
599 | 598 | $this->settings = array_merge($this->settings, $GLOBALS['settings']); |
600 | 599 | } |
601 | 600 | else |
602 | 601 | { |
603 | - return False; // no settings returned |
|
602 | + return False; // no settings returned |
|
604 | 603 | } |
605 | 604 | |
606 | 605 | // calling settings hook all apps can answer (for a specific app) |
607 | 606 | $hook_data['location'] = 'settings_'.$this->appname; |
608 | - foreach(Api\Hooks::process($hook_data, $this->appname,true) as $settings) |
|
607 | + foreach (Api\Hooks::process($hook_data, $this->appname, true) as $settings) |
|
609 | 608 | { |
610 | 609 | if (isset($settings) && is_array($settings) && $settings) |
611 | 610 | { |
612 | - $this->settings = array_merge($this->settings,$settings); |
|
611 | + $this->settings = array_merge($this->settings, $settings); |
|
613 | 612 | } |
614 | 613 | } |
615 | 614 | /* Remove ui-only settings */ |
616 | - if($this->xmlrpc) |
|
615 | + if ($this->xmlrpc) |
|
617 | 616 | { |
618 | - foreach($this->settings as $key => $valarray) |
|
617 | + foreach ($this->settings as $key => $valarray) |
|
619 | 618 | { |
620 | - if(!$valarray['xmlrpc']) |
|
619 | + if (!$valarray['xmlrpc']) |
|
621 | 620 | { |
622 | 621 | unset($this->settings[$key]); |
623 | 622 | } |
@@ -629,10 +628,10 @@ discard block |
||
629 | 628 | This is not handled by the hooks class and is only valid if not using xml-rpc. |
630 | 629 | */ |
631 | 630 | $tmpl_settings = EGW_SERVER_ROOT.$GLOBALS['egw']->framework->template_dir.'/hook_settings.inc.php'; |
632 | - if($this->appname == 'preferences' && file_exists($tmpl_settings)) |
|
631 | + if ($this->appname == 'preferences' && file_exists($tmpl_settings)) |
|
633 | 632 | { |
634 | 633 | include($tmpl_settings); |
635 | - $this->settings = array_merge($this->settings,$GLOBALS['settings']); |
|
634 | + $this->settings = array_merge($this->settings, $GLOBALS['settings']); |
|
636 | 635 | } |
637 | 636 | } |
638 | 637 | // check if we have a default/forced value from the settings hook, |
@@ -653,9 +652,9 @@ discard block |
||
653 | 652 | } |
654 | 653 | if ($need_update) |
655 | 654 | { |
656 | - $GLOBALS['egw']->preferences->save_repository(false,'default',true); |
|
655 | + $GLOBALS['egw']->preferences->save_repository(false, 'default', true); |
|
657 | 656 | } |
658 | - if($this->debug) |
|
657 | + if ($this->debug) |
|
659 | 658 | { |
660 | 659 | _debug_array($this->settings); |
661 | 660 | } |
@@ -24,6 +24,10 @@ |
||
24 | 24 | |
25 | 25 | if(!function_exists('html_entity_decode')) |
26 | 26 | { |
27 | + |
|
28 | + /** |
|
29 | + * @param integer $quote_style |
|
30 | + */ |
|
27 | 31 | function html_entity_decode($given_html, $quote_style = ENT_QUOTES) |
28 | 32 | { |
29 | 33 | $trans_table = array_flip(get_html_translation_table( HTML_SPECIALCHARS, $quote_style)); |
@@ -22,11 +22,11 @@ discard block |
||
22 | 22 | "<a href=\"$webserverURL/redirect.php?go=".htmlentities(urlencode('http://www.egroupware.org')).'">' |
23 | 23 | */ |
24 | 24 | |
25 | - if(!function_exists('html_entity_decode')) |
|
25 | + if (!function_exists('html_entity_decode')) |
|
26 | 26 | { |
27 | 27 | function html_entity_decode($given_html, $quote_style = ENT_QUOTES) |
28 | 28 | { |
29 | - $trans_table = array_flip(get_html_translation_table( HTML_SPECIALCHARS, $quote_style)); |
|
29 | + $trans_table = array_flip(get_html_translation_table(HTML_SPECIALCHARS, $quote_style)); |
|
30 | 30 | $trans_table['''] = "'"; |
31 | 31 | return(strtr($given_html, $trans_table)); |
32 | 32 | } |
@@ -45,17 +45,17 @@ discard block |
||
45 | 45 | |
46 | 46 | /* Only allow redirects from inside this eGroupware installation. */ |
47 | 47 | $valid_referer = array(); |
48 | - $path = preg_replace('/\/[^\/]*$/','',$_SERVER['PHP_SELF']) . '/'; |
|
48 | + $path = preg_replace('/\/[^\/]*$/', '', $_SERVER['PHP_SELF']).'/'; |
|
49 | 49 | array_push($valid_referer, $path); |
50 | - array_push($valid_referer, ($_SERVER['HTTPS'] ? 'https://' : 'http://') . $_SERVER['SERVER_ADDR'] . $path); |
|
51 | - array_push($valid_referer, ($_SERVER['HTTPS'] ? 'https://' : 'http://') . $_SERVER['SERVER_NAME'] . $path); |
|
50 | + array_push($valid_referer, ($_SERVER['HTTPS'] ? 'https://' : 'http://').$_SERVER['SERVER_ADDR'].$path); |
|
51 | + array_push($valid_referer, ($_SERVER['HTTPS'] ? 'https://' : 'http://').$_SERVER['SERVER_NAME'].$path); |
|
52 | 52 | |
53 | 53 | $referrer = trim($_SERVER['HTTP_REFERER']); |
54 | 54 | if ((!isset($_SERVER['HTTP_REFERER'])) || (empty($referrer))) |
55 | 55 | { |
56 | 56 | echo "Only usable from within eGroupware.\n"; |
57 | 57 | } |
58 | - else if($_GET['go']) |
|
58 | + else if ($_GET['go']) |
|
59 | 59 | { |
60 | 60 | $allow = false; |
61 | 61 | foreach ($valid_referer as $urlRoot) |
@@ -69,15 +69,15 @@ discard block |
||
69 | 69 | } |
70 | 70 | if ($allow) |
71 | 71 | { |
72 | - $url= html_entity_decode(urldecode($_GET['go'])); |
|
72 | + $url = html_entity_decode(urldecode($_GET['go'])); |
|
73 | 73 | unset($_GET['go']); |
74 | 74 | /* Only add "&" if there is something to append. */ |
75 | 75 | if (!empty($_GET)) |
76 | 76 | { |
77 | - $url=$url."&".http_build_query($_GET); |
|
77 | + $url = $url."&".http_build_query($_GET); |
|
78 | 78 | } |
79 | 79 | |
80 | - Header('Location: ' . html_entity_decode(urldecode($url))); |
|
80 | + Header('Location: '.html_entity_decode(urldecode($url))); |
|
81 | 81 | exit; |
82 | 82 | } |
83 | 83 | else |
@@ -28,7 +28,7 @@ |
||
28 | 28 | * Create a session or if the user has no account return authenticate header and 401 Unauthorized |
29 | 29 | * |
30 | 30 | * @param array &$account |
31 | - * @return int session-id |
|
31 | + * @return string session-id |
|
32 | 32 | */ |
33 | 33 | function check_access(&$account) |
34 | 34 | { |
@@ -34,7 +34,7 @@ discard block |
||
34 | 34 | { |
35 | 35 | if (isset($_GET['auth'])) |
36 | 36 | { |
37 | - list($_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']) = explode(':',base64_decode($_GET['auth']),2); |
|
37 | + list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', base64_decode($_GET['auth']), 2); |
|
38 | 38 | } |
39 | 39 | return Api\Header\Authenticate::autocreate_session_callback($account); |
40 | 40 | } |
@@ -45,8 +45,8 @@ discard block |
||
45 | 45 | 'noheader' => True, |
46 | 46 | 'currentapp' => preg_match('|/remote.php/webdav/apps/([A-Za-z0-9_-]+)/|', $_SERVER['REQUEST_URI'], $matches) ? $matches[1] : 'filemanager', |
47 | 47 | 'autocreate_session_callback' => 'check_access', |
48 | - 'no_exception_handler' => 'basic_auth', // we use a basic auth exception handler (sends exception message as basic auth realm) |
|
49 | - 'auth_realm' => 'EGroupware WebDAV server', // cant use Vfs\WebDAV::REALM as autoloading and include path not yet setup! |
|
48 | + 'no_exception_handler' => 'basic_auth', // we use a basic auth exception handler (sends exception message as basic auth realm) |
|
49 | + 'auth_realm' => 'EGroupware WebDAV server', // cant use Vfs\WebDAV::REALM as autoloading and include path not yet setup! |
|
50 | 50 | ) |
51 | 51 | ); |
52 | 52 | |
@@ -74,12 +74,12 @@ discard block |
||
74 | 74 | |
75 | 75 | // temporary mount ownCloud default /clientsync as /home/$user, if not explicitly mounted |
76 | 76 | // so ownCloud dir contains users home-dir by default |
77 | -if (strpos($_SERVER['REQUEST_URI'],'/remote.php/webdav/clientsync') !== false && |
|
78 | - ($fstab=Vfs::mount()) && !isset($fstab['/clientsync'])) |
|
77 | +if (strpos($_SERVER['REQUEST_URI'], '/remote.php/webdav/clientsync') !== false && |
|
78 | + ($fstab = Vfs::mount()) && !isset($fstab['/clientsync'])) |
|
79 | 79 | { |
80 | 80 | $is_root_backup = Vfs::$is_root; |
81 | 81 | Vfs::$is_root = true; |
82 | - $ok = Vfs::mount($url='vfs://default/home/$user', $clientsync='/clientsync', null, false); |
|
82 | + $ok = Vfs::mount($url = 'vfs://default/home/$user', $clientsync = '/clientsync', null, false); |
|
83 | 83 | Vfs::$is_root = $is_root_backup; |
84 | 84 | //error_log("mounting ownCloud default '$clientsync' as '$url' ".($ok ? 'successful' : 'failed!')); |
85 | 85 | } |
@@ -43,7 +43,6 @@ discard block |
||
43 | 43 | /** |
44 | 44 | * Constructor |
45 | 45 | * |
46 | - * @param int $user=null account_id of user whos rights to return, or null for current user |
|
47 | 46 | * @param boolean $session |
48 | 47 | */ |
49 | 48 | function __construct($session=False, $user=null) |
@@ -77,7 +76,7 @@ discard block |
||
77 | 76 | * |
78 | 77 | * @author Cornelius Weiss <[email protected]> |
79 | 78 | * @param int $perm_type one of Acl::READ, Acl::ADD, Acl::EDIT, Acl::DELETE, self::DIRECT_BOOKING |
80 | - * @param int $parent_id=0 cat_id of parent to return only children of that category |
|
79 | + * @param int $parent_id cat_id of parent to return only children of that category |
|
81 | 80 | * @return array cat_id => cat_name |
82 | 81 | * TODO mark subcats and so on! |
83 | 82 | */ |
@@ -73,14 +73,14 @@ discard block |
||
73 | 73 | } |
74 | 74 | |
75 | 75 | /** |
76 | - * get list of cats where current user has given rights |
|
77 | - * |
|
78 | - * @author Cornelius Weiss <[email protected]> |
|
79 | - * @param int $perm_type one of Acl::READ, Acl::ADD, Acl::EDIT, Acl::DELETE, self::DIRECT_BOOKING |
|
80 | - * @param int $parent_id=0 cat_id of parent to return only children of that category |
|
81 | - * @return array cat_id => cat_name |
|
82 | - * TODO mark subcats and so on! |
|
83 | - */ |
|
76 | + * get list of cats where current user has given rights |
|
77 | + * |
|
78 | + * @author Cornelius Weiss <[email protected]> |
|
79 | + * @param int $perm_type one of Acl::READ, Acl::ADD, Acl::EDIT, Acl::DELETE, self::DIRECT_BOOKING |
|
80 | + * @param int $parent_id=0 cat_id of parent to return only children of that category |
|
81 | + * @return array cat_id => cat_name |
|
82 | + * TODO mark subcats and so on! |
|
83 | + */ |
|
84 | 84 | function get_cats($perm_type,$parent_id=0) |
85 | 85 | { |
86 | 86 | $cats = $this->egw_cats->return_sorted_array(0,false,'','','',true,$parent_id); |
@@ -105,24 +105,24 @@ discard block |
||
105 | 105 | |
106 | 106 | |
107 | 107 | /** |
108 | - * gets name of category |
|
109 | - * |
|
110 | - * @author Lukas Weiss <[email protected]> |
|
111 | - * @param int $cat_id |
|
112 | - * @return mixed name of category |
|
113 | - */ |
|
108 | + * gets name of category |
|
109 | + * |
|
110 | + * @author Lukas Weiss <[email protected]> |
|
111 | + * @param int $cat_id |
|
112 | + * @return mixed name of category |
|
113 | + */ |
|
114 | 114 | static public function get_cat_name($cat_id) |
115 | 115 | { |
116 | 116 | return $GLOBALS['egw']->categories->id2name($cat_id); |
117 | 117 | } |
118 | 118 | |
119 | 119 | /** |
120 | - * gets userid of admin for given category |
|
121 | - * |
|
122 | - * @author Cornelius Weiss <[email protected]> |
|
123 | - * @param int $cat_id |
|
124 | - * @return int userid of cat admin |
|
125 | - */ |
|
120 | + * gets userid of admin for given category |
|
121 | + * |
|
122 | + * @author Cornelius Weiss <[email protected]> |
|
123 | + * @param int $cat_id |
|
124 | + * @return int userid of cat admin |
|
125 | + */ |
|
126 | 126 | static public function get_cat_admin($cat_id) |
127 | 127 | { |
128 | 128 | $cat_rights = self::get_rights($cat_id); |
@@ -194,11 +194,11 @@ discard block |
||
194 | 194 | } |
195 | 195 | |
196 | 196 | /** |
197 | - * gets all rights from all user for given cat |
|
198 | - * |
|
199 | - * @param int $cat_id |
|
200 | - * @return array userid => right |
|
201 | - */ |
|
197 | + * gets all rights from all user for given cat |
|
198 | + * |
|
199 | + * @param int $cat_id |
|
200 | + * @return array userid => right |
|
201 | + */ |
|
202 | 202 | static public function get_rights($cat_id) |
203 | 203 | { |
204 | 204 | return $GLOBALS['egw']->acl->get_all_rights('L'.$cat_id,'resources'); |
@@ -85,9 +85,13 @@ discard block |
||
85 | 85 | { |
86 | 86 | $cats = $this->egw_cats->return_sorted_array(0,false,'','','',true,$parent_id); |
87 | 87 | #_debug_array($cats); |
88 | - if (!is_array($cats)) $cats = array(); |
|
88 | + if (!is_array($cats)) |
|
89 | + { |
|
90 | + $cats = array(); |
|
91 | + } |
|
89 | 92 | $perm_cats = array(); |
90 | - foreach($cats as $key=>$cat) { |
|
93 | + foreach($cats as $key=>$cat) |
|
94 | + { |
|
91 | 95 | #echo "key:$key"._debug_array($value)."<br>"; |
92 | 96 | #_debug_array($cat)."hier<br>"; |
93 | 97 | if($this->is_permitted($cat['id'],$perm_type)) |
@@ -215,14 +219,18 @@ discard block |
||
215 | 219 | 'order' => $this->order, |
216 | 220 | 'limit' => $this->limit, |
217 | 221 | ); |
218 | - if($this->debug) { echo '<br>Read:'; _debug_array($data); } |
|
222 | + if($this->debug) |
|
223 | + { |
|
224 | +echo '<br>Read:'; _debug_array($data); } |
|
219 | 225 | Api\Cache::setSession('resources_acl', 'session_data', $data); |
220 | 226 | } |
221 | 227 | |
222 | 228 | function read_sessiondata() |
223 | 229 | { |
224 | 230 | $data = Api\Cache::getSession('resources_acl', 'session_data'); |
225 | - if($this->debug) { echo '<br>Read:'; _debug_array($data); } |
|
231 | + if($this->debug) |
|
232 | + { |
|
233 | +echo '<br>Read:'; _debug_array($data); } |
|
226 | 234 | |
227 | 235 | $this->start = $data['start']; |
228 | 236 | $this->query = $data['query']; |
@@ -46,17 +46,17 @@ discard block |
||
46 | 46 | * @param int $user=null account_id of user whos rights to return, or null for current user |
47 | 47 | * @param boolean $session |
48 | 48 | */ |
49 | - function __construct($session=False, $user=null) |
|
49 | + function __construct($session = False, $user = null) |
|
50 | 50 | { |
51 | 51 | $this->egw_cats = new Api\Categories($user, 'resources'); |
52 | 52 | $this->debug = False; |
53 | 53 | |
54 | 54 | //all this is only needed when called from uiacl. |
55 | - if($session) |
|
55 | + if ($session) |
|
56 | 56 | { |
57 | 57 | $this->read_sessiondata(); |
58 | 58 | $this->use_session = True; |
59 | - foreach(array('start','query','sort','order') as $var) |
|
59 | + foreach (array('start', 'query', 'sort', 'order') as $var) |
|
60 | 60 | { |
61 | 61 | if (isset($_POST[$var])) |
62 | 62 | { |
@@ -68,7 +68,7 @@ discard block |
||
68 | 68 | } |
69 | 69 | } |
70 | 70 | $this->save_sessiondata(); |
71 | - $this->cats = $this->egw_cats->return_sorted_array(0,false,'','','',true); |
|
71 | + $this->cats = $this->egw_cats->return_sorted_array(0, false, '', '', '', true); |
|
72 | 72 | } |
73 | 73 | } |
74 | 74 | |
@@ -81,18 +81,18 @@ discard block |
||
81 | 81 | * @return array cat_id => cat_name |
82 | 82 | * TODO mark subcats and so on! |
83 | 83 | */ |
84 | - function get_cats($perm_type,$parent_id=0) |
|
84 | + function get_cats($perm_type, $parent_id = 0) |
|
85 | 85 | { |
86 | - $cats = $this->egw_cats->return_sorted_array(0,false,'','','',true,$parent_id); |
|
86 | + $cats = $this->egw_cats->return_sorted_array(0, false, '', '', '', true, $parent_id); |
|
87 | 87 | #_debug_array($cats); |
88 | 88 | if (!is_array($cats)) $cats = array(); |
89 | 89 | $perm_cats = array(); |
90 | - foreach($cats as $key=>$cat) { |
|
90 | + foreach ($cats as $key=>$cat) { |
|
91 | 91 | #echo "key:$key"._debug_array($value)."<br>"; |
92 | 92 | #_debug_array($cat)."hier<br>"; |
93 | - if($this->is_permitted($cat['id'],$perm_type)) |
|
93 | + if ($this->is_permitted($cat['id'], $perm_type)) |
|
94 | 94 | { |
95 | - $s = str_repeat(' ',$cat['level']) . stripslashes($cat['name']); |
|
95 | + $s = str_repeat(' ', $cat['level']).stripslashes($cat['name']); |
|
96 | 96 | if ($cat['app_name'] == 'phpgw' || $cat['owner'] == '-1') |
97 | 97 | { |
98 | 98 | $s .= ' ♦'; |
@@ -100,7 +100,7 @@ discard block |
||
100 | 100 | $perm_cats[$cat['id']] = $s; |
101 | 101 | } |
102 | 102 | } |
103 | - return isset($perm_cats)?$perm_cats:array(); |
|
103 | + return isset($perm_cats) ? $perm_cats : array(); |
|
104 | 104 | } |
105 | 105 | |
106 | 106 | |
@@ -128,13 +128,13 @@ discard block |
||
128 | 128 | $cat_rights = self::get_rights($cat_id); |
129 | 129 | foreach ($cat_rights as $userid => $right) |
130 | 130 | { |
131 | - if ($right & self::CAT_ADMIN) |
|
131 | + if ($right&self::CAT_ADMIN) |
|
132 | 132 | { |
133 | 133 | return $userid; |
134 | 134 | } |
135 | 135 | } |
136 | 136 | // check for an inherited cat admin |
137 | - if (($parent = $GLOBALS['egw']->categories->id2name($cat_id,'parent'))) |
|
137 | + if (($parent = $GLOBALS['egw']->categories->id2name($cat_id, 'parent'))) |
|
138 | 138 | { |
139 | 139 | return self::get_cat_admin($parent); |
140 | 140 | } |
@@ -161,10 +161,10 @@ discard block |
||
161 | 161 | { |
162 | 162 | if (is_null(self::$resource_acl)) |
163 | 163 | { |
164 | - self::$resource_acl = $GLOBALS['egw']->acl->get_all_location_rights($GLOBALS['egw_info']['user']['account_id'],'resources',true); |
|
164 | + self::$resource_acl = $GLOBALS['egw']->acl->get_all_location_rights($GLOBALS['egw_info']['user']['account_id'], 'resources', true); |
|
165 | 165 | } |
166 | 166 | self::$permissions[$cat_id] = (int)self::$resource_acl['L'.$cat_id]; |
167 | - if (($parent = $GLOBALS['egw']->categories->id2name($cat_id,'parent'))) |
|
167 | + if (($parent = $GLOBALS['egw']->categories->id2name($cat_id, 'parent'))) |
|
168 | 168 | { |
169 | 169 | self::$permissions[$cat_id] |= self::get_permissions($parent); |
170 | 170 | } |
@@ -182,7 +182,7 @@ discard block |
||
182 | 182 | * @param int $right |
183 | 183 | * @return boolean user is permitted or not for right |
184 | 184 | */ |
185 | - static public function is_permitted($cat_id,$right) |
|
185 | + static public function is_permitted($cat_id, $right) |
|
186 | 186 | { |
187 | 187 | if (!isset(self::$permissions[$cat_id])) |
188 | 188 | { |
@@ -190,7 +190,7 @@ discard block |
||
190 | 190 | } |
191 | 191 | //echo "<p>".__METHOD__."($cat_id,$right) = ".self::$permissions[$cat_id]." & $right = ".(self::$permissions[$cat_id] & $right)."</p>\n"; |
192 | 192 | |
193 | - return (boolean) (self::$permissions[$cat_id] & $right); |
|
193 | + return (boolean)(self::$permissions[$cat_id]&$right); |
|
194 | 194 | } |
195 | 195 | |
196 | 196 | /** |
@@ -201,7 +201,7 @@ discard block |
||
201 | 201 | */ |
202 | 202 | static public function get_rights($cat_id) |
203 | 203 | { |
204 | - return $GLOBALS['egw']->acl->get_all_rights('L'.$cat_id,'resources'); |
|
204 | + return $GLOBALS['egw']->acl->get_all_rights('L'.$cat_id, 'resources'); |
|
205 | 205 | } |
206 | 206 | |
207 | 207 | |
@@ -215,14 +215,14 @@ discard block |
||
215 | 215 | 'order' => $this->order, |
216 | 216 | 'limit' => $this->limit, |
217 | 217 | ); |
218 | - if($this->debug) { echo '<br>Read:'; _debug_array($data); } |
|
218 | + if ($this->debug) { echo '<br>Read:'; _debug_array($data); } |
|
219 | 219 | Api\Cache::setSession('resources_acl', 'session_data', $data); |
220 | 220 | } |
221 | 221 | |
222 | 222 | function read_sessiondata() |
223 | 223 | { |
224 | 224 | $data = Api\Cache::getSession('resources_acl', 'session_data'); |
225 | - if($this->debug) { echo '<br>Read:'; _debug_array($data); } |
|
225 | + if ($this->debug) { echo '<br>Read:'; _debug_array($data); } |
|
226 | 226 | |
227 | 227 | $this->start = $data['start']; |
228 | 228 | $this->query = $data['query']; |
@@ -231,7 +231,7 @@ discard block |
||
231 | 231 | $this->limit = $data['limit']; |
232 | 232 | } |
233 | 233 | |
234 | - public static function set_rights($cat_id,$read,$write,$calread,$calbook,$admin) |
|
234 | + public static function set_rights($cat_id, $read, $write, $calread, $calbook, $admin) |
|
235 | 235 | { |
236 | 236 | // Clear cache |
237 | 237 | unset(self::$permissions[$cat_id]); |
@@ -242,19 +242,19 @@ discard block |
||
242 | 242 | $calbookcat = $calbook ? $calbook : array(); |
243 | 243 | $admincat = $admin ? $admin : array(); |
244 | 244 | |
245 | - $GLOBALS['egw']->acl->delete_repository('resources','L' . $cat_id,false); |
|
245 | + $GLOBALS['egw']->acl->delete_repository('resources', 'L'.$cat_id, false); |
|
246 | 246 | |
247 | - foreach(array_unique(array_merge($readcat, $writecat, $calreadcat, $calbookcat, $admincat)) as $account_id) |
|
247 | + foreach (array_unique(array_merge($readcat, $writecat, $calreadcat, $calbookcat, $admincat)) as $account_id) |
|
248 | 248 | { |
249 | 249 | $rights = false; |
250 | - $rights = in_array($account_id,$readcat) ? ($rights | Acl::READ) : false; |
|
251 | - $rights = in_array($account_id,$writecat) ? ($rights | Acl::READ | Acl::ADD | Acl::EDIT | Acl::DELETE): $rights; |
|
252 | - $rights = in_array($account_id,$calreadcat) ? ($rights | self::CAL_READ) : $rights; |
|
253 | - $rights = in_array($account_id,$calbookcat) ? ($rights | self::DIRECT_BOOKING | self::CAL_READ) : $rights; |
|
254 | - $rights = in_array($account_id,$admincat) ? ($rights = 511) : $rights; |
|
250 | + $rights = in_array($account_id, $readcat) ? ($rights|Acl::READ) : false; |
|
251 | + $rights = in_array($account_id, $writecat) ? ($rights|Acl::READ|Acl::ADD|Acl::EDIT|Acl::DELETE) : $rights; |
|
252 | + $rights = in_array($account_id, $calreadcat) ? ($rights|self::CAL_READ) : $rights; |
|
253 | + $rights = in_array($account_id, $calbookcat) ? ($rights|self::DIRECT_BOOKING|self::CAL_READ) : $rights; |
|
254 | + $rights = in_array($account_id, $admincat) ? ($rights = 511) : $rights; |
|
255 | 255 | if ($rights) |
256 | 256 | { |
257 | - $GLOBALS['egw']->acl->add_repository('resources','L'.$cat_id,$account_id,$rights); |
|
257 | + $GLOBALS['egw']->acl->add_repository('resources', 'L'.$cat_id, $account_id, $rights); |
|
258 | 258 | } |
259 | 259 | } |
260 | 260 | } |
@@ -28,9 +28,7 @@ discard block |
||
28 | 28 | |
29 | 29 | /** |
30 | 30 | * imports entries according to given definition object. |
31 | - * @param resource $_stream |
|
32 | - * @param string $_charset |
|
33 | - * @param definition $_definition |
|
31 | + * @param importexport_definition $_definition |
|
34 | 32 | */ |
35 | 33 | public function init(importexport_definition $_definition ) { |
36 | 34 | |
@@ -52,7 +50,7 @@ discard block |
||
52 | 50 | * |
53 | 51 | * Updates the count of actions taken |
54 | 52 | * |
55 | - * @return boolean success |
|
53 | + * @return null|boolean success |
|
56 | 54 | */ |
57 | 55 | protected function import_record(importexport_iface_egw_record &$record, &$import_csv) |
58 | 56 | { |
@@ -45,15 +45,15 @@ discard block |
||
45 | 45 | } |
46 | 46 | |
47 | 47 | /** |
48 | - * Import a single record |
|
49 | - * |
|
50 | - * You don't need to worry about mappings or translations, they've been done already. |
|
51 | - * You do need to handle the conditions and the actions taken. |
|
52 | - * |
|
53 | - * Updates the count of actions taken |
|
54 | - * |
|
55 | - * @return boolean success |
|
56 | - */ |
|
48 | + * Import a single record |
|
49 | + * |
|
50 | + * You don't need to worry about mappings or translations, they've been done already. |
|
51 | + * You do need to handle the conditions and the actions taken. |
|
52 | + * |
|
53 | + * Updates the count of actions taken |
|
54 | + * |
|
55 | + * @return boolean success |
|
56 | + */ |
|
57 | 57 | protected function import_record(importexport_iface_egw_record &$record, &$import_csv) |
58 | 58 | { |
59 | 59 | // Check for an un-matched accessory of, try again on just name |
@@ -250,14 +250,14 @@ discard block |
||
250 | 250 | } |
251 | 251 | |
252 | 252 | /** |
253 | - * Returns warnings that were encountered during importing |
|
254 | - * Maximum of one warning message per record, but you can append if you need to |
|
255 | - * |
|
256 | - * @return Array ( |
|
257 | - * record_# => warning message |
|
258 | - * ) |
|
259 | - */ |
|
260 | - public function get_warnings() { |
|
253 | + * Returns warnings that were encountered during importing |
|
254 | + * Maximum of one warning message per record, but you can append if you need to |
|
255 | + * |
|
256 | + * @return Array ( |
|
257 | + * record_# => warning message |
|
258 | + * ) |
|
259 | + */ |
|
260 | + public function get_warnings() { |
|
261 | 261 | return $this->warnings; |
262 | 262 | } |
263 | 263 | } |
@@ -16,7 +16,7 @@ discard block |
||
16 | 16 | /** |
17 | 17 | * class to import resources from CSV |
18 | 18 | */ |
19 | -class resources_import_csv extends importexport_basic_import_csv { |
|
19 | +class resources_import_csv extends importexport_basic_import_csv { |
|
20 | 20 | |
21 | 21 | |
22 | 22 | /** |
@@ -24,7 +24,7 @@ discard block |
||
24 | 24 | * |
25 | 25 | * @var array |
26 | 26 | */ |
27 | - protected static $conditions = array( 'exists' ); |
|
27 | + protected static $conditions = array('exists'); |
|
28 | 28 | |
29 | 29 | /** |
30 | 30 | * imports entries according to given definition object. |
@@ -32,7 +32,7 @@ discard block |
||
32 | 32 | * @param string $_charset |
33 | 33 | * @param definition $_definition |
34 | 34 | */ |
35 | - public function init(importexport_definition $_definition ) { |
|
35 | + public function init(importexport_definition $_definition) { |
|
36 | 36 | |
37 | 37 | // fetch the resource bo |
38 | 38 | $this->bo = new resources_bo(); |
@@ -54,33 +54,33 @@ discard block |
||
54 | 54 | * |
55 | 55 | * @return boolean success |
56 | 56 | */ |
57 | - protected function import_record(importexport_iface_egw_record &$record, &$import_csv) |
|
57 | + protected function import_record(importexport_iface_egw_record&$record, &$import_csv) |
|
58 | 58 | { |
59 | 59 | // Check for an un-matched accessory of, try again on just name |
60 | - if(!is_numeric($record->accessory_of)) |
|
60 | + if (!is_numeric($record->accessory_of)) |
|
61 | 61 | { |
62 | 62 | $accessory_of = $record->accessory_of; |
63 | 63 | |
64 | 64 | // Look for exact match in just name |
65 | - $results = $this->bo->so->search(array('name' => $record->accessory_of),array('res_id','name')); |
|
66 | - if(count($results) >= 1) |
|
65 | + $results = $this->bo->so->search(array('name' => $record->accessory_of), array('res_id', 'name')); |
|
66 | + if (count($results) >= 1) |
|
67 | 67 | { |
68 | 68 | // More than 1 result? Bad names. Pick one. |
69 | - foreach($results as $result) |
|
69 | + foreach ($results as $result) |
|
70 | 70 | { |
71 | - if($result['name'] == $record->accessory_of) |
|
71 | + if ($result['name'] == $record->accessory_of) |
|
72 | 72 | { |
73 | 73 | $record->accessory_of = $result['res_id']; |
74 | 74 | break; |
75 | 75 | } |
76 | 76 | } |
77 | - if(is_numeric($record->accessory_of)) |
|
77 | + if (is_numeric($record->accessory_of)) |
|
78 | 78 | { |
79 | 79 | // Import/Export conversion gave a warning, so cancel it |
80 | - $pattern = lang('Unable to link to %1 "%2"',lang('resources'),$accessory_of) . ' - ('.lang('too many matches') . '|'.lang('no matches') . ')'; |
|
80 | + $pattern = lang('Unable to link to %1 "%2"', lang('resources'), $accessory_of).' - ('.lang('too many matches').'|'.lang('no matches').')'; |
|
81 | 81 | $this->warnings[$import_csv->get_current_position()] = preg_replace($pattern, '', $this->warnings[$import_csv->get_current_position()], 1); |
82 | 82 | // If that was the only warning, clear it for this row |
83 | - if(trim($this->warnings[$import_csv->get_current_position()]) == '') |
|
83 | + if (trim($this->warnings[$import_csv->get_current_position()]) == '') |
|
84 | 84 | { |
85 | 85 | unset($this->warnings[$import_csv->get_current_position()]); |
86 | 86 | } |
@@ -92,7 +92,7 @@ discard block |
||
92 | 92 | // Check for a new category, it needs permissions set |
93 | 93 | $category = $GLOBALS['egw']->categories->read($record->cat_id); |
94 | 94 | |
95 | - if($category['last_mod'] >= $this->start_time) { |
|
95 | + if ($category['last_mod'] >= $this->start_time) { |
|
96 | 96 | // New category. Give read & write permissions to the current user's default group |
97 | 97 | $this->acl_bo->set_rights($record['cat_id'], |
98 | 98 | array($GLOBALS['egw_info']['user']['account_primary_group']), |
@@ -104,37 +104,37 @@ discard block |
||
104 | 104 | // Refresh ACL |
105 | 105 | //$GLOBALS['egw']->acl->read_repository(); |
106 | 106 | } |
107 | - if(!$record->accessory_of) $record->accessory_of = -1; |
|
107 | + if (!$record->accessory_of) $record->accessory_of = -1; |
|
108 | 108 | //error_log(__METHOD__.__LINE__.array2string($_definition->plugin_options['conditions'])); |
109 | 109 | if ($this->definition->plugin_options['conditions']) { |
110 | 110 | |
111 | - foreach ( $this->definition->plugin_options['conditions'] as $condition ) { |
|
111 | + foreach ($this->definition->plugin_options['conditions'] as $condition) { |
|
112 | 112 | $results = array(); |
113 | - switch ( $condition['type'] ) { |
|
113 | + switch ($condition['type']) { |
|
114 | 114 | // exists |
115 | 115 | case 'exists' : |
116 | - if($record->{$condition['string']}) { |
|
116 | + if ($record->{$condition['string']}) { |
|
117 | 117 | $results = $this->bo->so->search( |
118 | - array( $condition['string'] => $record->{$condition['string']}), |
|
118 | + array($condition['string'] => $record->{$condition['string']}), |
|
119 | 119 | False |
120 | 120 | ); |
121 | 121 | } |
122 | 122 | |
123 | - if ( is_array( $results ) && count( array_keys( $results )) >= 1) { |
|
123 | + if (is_array($results) && count(array_keys($results)) >= 1) { |
|
124 | 124 | // apply action to all contacts matching this exists condition |
125 | 125 | $action = $condition['true']; |
126 | - foreach ( (array)$results as $resource ) { |
|
126 | + foreach ((array)$results as $resource) { |
|
127 | 127 | $record->res_id = $resource['res_id']; |
128 | - if ( $_definition->plugin_options['update_cats'] == 'add' ) { |
|
129 | - if ( !is_array( $resource['cat_id'] ) ) $resource['cat_id'] = explode( ',', $resource['cat_id'] ); |
|
130 | - if ( !is_array( $record->cat_id ) ) $record->cat_id = explode( ',', $record->cat_id ); |
|
131 | - $record->cat_id = implode( ',', array_unique( array_merge( $record->cat_id, $resource['cat_id'] ) ) ); |
|
128 | + if ($_definition->plugin_options['update_cats'] == 'add') { |
|
129 | + if (!is_array($resource['cat_id'])) $resource['cat_id'] = explode(',', $resource['cat_id']); |
|
130 | + if (!is_array($record->cat_id)) $record->cat_id = explode(',', $record->cat_id); |
|
131 | + $record->cat_id = implode(',', array_unique(array_merge($record->cat_id, $resource['cat_id']))); |
|
132 | 132 | } |
133 | - $success = $this->action( $action['action'], $record, $import_csv->get_current_position() ); |
|
133 | + $success = $this->action($action['action'], $record, $import_csv->get_current_position()); |
|
134 | 134 | } |
135 | 135 | } else { |
136 | 136 | $action = $condition['false']; |
137 | - $success = ($this->action( $action['action'], $record, $import_csv->get_current_position() )); |
|
137 | + $success = ($this->action($action['action'], $record, $import_csv->get_current_position())); |
|
138 | 138 | } |
139 | 139 | break; |
140 | 140 | |
@@ -147,7 +147,7 @@ discard block |
||
147 | 147 | } |
148 | 148 | } else { |
149 | 149 | // unconditional insert |
150 | - $success = $this->action( 'insert', $record, $import_csv->get_current_position() ); |
|
150 | + $success = $this->action('insert', $record, $import_csv->get_current_position()); |
|
151 | 151 | } |
152 | 152 | return $success; |
153 | 153 | } |
@@ -159,7 +159,7 @@ discard block |
||
159 | 159 | * @param importexport_iface_egw_record $record Entry record |
160 | 160 | * @return bool success or not |
161 | 161 | */ |
162 | - protected function action ( $_action, importexport_iface_egw_record &$record, $record_num = 0 ) { |
|
162 | + protected function action($_action, importexport_iface_egw_record&$record, $record_num = 0) { |
|
163 | 163 | $_data = $record->get_record_array(); |
164 | 164 | switch ($_action) { |
165 | 165 | case 'none' : |
@@ -173,17 +173,17 @@ discard block |
||
173 | 173 | |
174 | 174 | // Fall through |
175 | 175 | case 'insert' : |
176 | - if($_action == 'insert') { |
|
176 | + if ($_action == 'insert') { |
|
177 | 177 | // Backend doesn't like inserting with ID specified, it can overwrite |
178 | 178 | unset($_data['res_id']); |
179 | 179 | } |
180 | - if ( $this->dry_run ) { |
|
180 | + if ($this->dry_run) { |
|
181 | 181 | //print_r($_data); |
182 | 182 | $this->results[$_action]++; |
183 | 183 | return true; |
184 | 184 | } else { |
185 | - $result = $this->bo->save( $_data ); |
|
186 | - if($result && !is_numeric($result)) { |
|
185 | + $result = $this->bo->save($_data); |
|
186 | + if ($result && !is_numeric($result)) { |
|
187 | 187 | $this->errors[$record_num] = $result; |
188 | 188 | return false; |
189 | 189 | } else { |
@@ -16,7 +16,8 @@ discard block |
||
16 | 16 | /** |
17 | 17 | * class to import resources from CSV |
18 | 18 | */ |
19 | -class resources_import_csv extends importexport_basic_import_csv { |
|
19 | +class resources_import_csv extends importexport_basic_import_csv |
|
20 | +{ |
|
20 | 21 | |
21 | 22 | |
22 | 23 | /** |
@@ -32,7 +33,8 @@ discard block |
||
32 | 33 | * @param string $_charset |
33 | 34 | * @param definition $_definition |
34 | 35 | */ |
35 | - public function init(importexport_definition $_definition ) { |
|
36 | + public function init(importexport_definition $_definition ) |
|
37 | + { |
|
36 | 38 | |
37 | 39 | // fetch the resource bo |
38 | 40 | $this->bo = new resources_bo(); |
@@ -92,7 +94,8 @@ discard block |
||
92 | 94 | // Check for a new category, it needs permissions set |
93 | 95 | $category = $GLOBALS['egw']->categories->read($record->cat_id); |
94 | 96 | |
95 | - if($category['last_mod'] >= $this->start_time) { |
|
97 | + if($category['last_mod'] >= $this->start_time) |
|
98 | + { |
|
96 | 99 | // New category. Give read & write permissions to the current user's default group |
97 | 100 | $this->acl_bo->set_rights($record['cat_id'], |
98 | 101 | array($GLOBALS['egw_info']['user']['account_primary_group']), |
@@ -104,35 +107,53 @@ discard block |
||
104 | 107 | // Refresh ACL |
105 | 108 | //$GLOBALS['egw']->acl->read_repository(); |
106 | 109 | } |
107 | - if(!$record->accessory_of) $record->accessory_of = -1; |
|
110 | + if(!$record->accessory_of) |
|
111 | + { |
|
112 | + $record->accessory_of = -1; |
|
113 | + } |
|
108 | 114 | //error_log(__METHOD__.__LINE__.array2string($_definition->plugin_options['conditions'])); |
109 | - if ($this->definition->plugin_options['conditions']) { |
|
115 | + if ($this->definition->plugin_options['conditions']) |
|
116 | + { |
|
110 | 117 | |
111 | - foreach ( $this->definition->plugin_options['conditions'] as $condition ) { |
|
118 | + foreach ( $this->definition->plugin_options['conditions'] as $condition ) |
|
119 | + { |
|
112 | 120 | $results = array(); |
113 | - switch ( $condition['type'] ) { |
|
121 | + switch ( $condition['type'] ) |
|
122 | + { |
|
114 | 123 | // exists |
115 | 124 | case 'exists' : |
116 | - if($record->{$condition['string']}) { |
|
125 | + if($record->{$condition['string']}) |
|
126 | + { |
|
117 | 127 | $results = $this->bo->so->search( |
118 | 128 | array( $condition['string'] => $record->{$condition['string']}), |
119 | 129 | False |
120 | 130 | ); |
121 | 131 | } |
122 | 132 | |
123 | - if ( is_array( $results ) && count( array_keys( $results )) >= 1) { |
|
133 | + if ( is_array( $results ) && count( array_keys( $results )) >= 1) |
|
134 | + { |
|
124 | 135 | // apply action to all contacts matching this exists condition |
125 | 136 | $action = $condition['true']; |
126 | - foreach ( (array)$results as $resource ) { |
|
137 | + foreach ( (array)$results as $resource ) |
|
138 | + { |
|
127 | 139 | $record->res_id = $resource['res_id']; |
128 | - if ( $_definition->plugin_options['update_cats'] == 'add' ) { |
|
129 | - if ( !is_array( $resource['cat_id'] ) ) $resource['cat_id'] = explode( ',', $resource['cat_id'] ); |
|
130 | - if ( !is_array( $record->cat_id ) ) $record->cat_id = explode( ',', $record->cat_id ); |
|
140 | + if ( $_definition->plugin_options['update_cats'] == 'add' ) |
|
141 | + { |
|
142 | + if ( !is_array( $resource['cat_id'] ) ) |
|
143 | + { |
|
144 | + $resource['cat_id'] = explode( ',', $resource['cat_id'] ); |
|
145 | + } |
|
146 | + if ( !is_array( $record->cat_id ) ) |
|
147 | + { |
|
148 | + $record->cat_id = explode( ',', $record->cat_id ); |
|
149 | + } |
|
131 | 150 | $record->cat_id = implode( ',', array_unique( array_merge( $record->cat_id, $resource['cat_id'] ) ) ); |
132 | 151 | } |
133 | 152 | $success = $this->action( $action['action'], $record, $import_csv->get_current_position() ); |
134 | 153 | } |
135 | - } else { |
|
154 | + } |
|
155 | + else |
|
156 | + { |
|
136 | 157 | $action = $condition['false']; |
137 | 158 | $success = ($this->action( $action['action'], $record, $import_csv->get_current_position() )); |
138 | 159 | } |
@@ -143,9 +164,14 @@ discard block |
||
143 | 164 | die('condition / action not supported!!!'); |
144 | 165 | break; |
145 | 166 | } |
146 | - if ($action['last']) break; |
|
167 | + if ($action['last']) |
|
168 | + { |
|
169 | + break; |
|
170 | + } |
|
147 | 171 | } |
148 | - } else { |
|
172 | + } |
|
173 | + else |
|
174 | + { |
|
149 | 175 | // unconditional insert |
150 | 176 | $success = $this->action( 'insert', $record, $import_csv->get_current_position() ); |
151 | 177 | } |
@@ -159,9 +185,11 @@ discard block |
||
159 | 185 | * @param importexport_iface_egw_record $record Entry record |
160 | 186 | * @return bool success or not |
161 | 187 | */ |
162 | - protected function action ( $_action, importexport_iface_egw_record &$record, $record_num = 0 ) { |
|
188 | + protected function action ( $_action, importexport_iface_egw_record &$record, $record_num = 0 ) |
|
189 | + { |
|
163 | 190 | $_data = $record->get_record_array(); |
164 | - switch ($_action) { |
|
191 | + switch ($_action) |
|
192 | + { |
|
165 | 193 | case 'none' : |
166 | 194 | return true; |
167 | 195 | case 'update' : |
@@ -173,20 +201,27 @@ discard block |
||
173 | 201 | |
174 | 202 | // Fall through |
175 | 203 | case 'insert' : |
176 | - if($_action == 'insert') { |
|
204 | + if($_action == 'insert') |
|
205 | + { |
|
177 | 206 | // Backend doesn't like inserting with ID specified, it can overwrite |
178 | 207 | unset($_data['res_id']); |
179 | 208 | } |
180 | - if ( $this->dry_run ) { |
|
209 | + if ( $this->dry_run ) |
|
210 | + { |
|
181 | 211 | //print_r($_data); |
182 | 212 | $this->results[$_action]++; |
183 | 213 | return true; |
184 | - } else { |
|
214 | + } |
|
215 | + else |
|
216 | + { |
|
185 | 217 | $result = $this->bo->save( $_data ); |
186 | - if($result && !is_numeric($result)) { |
|
218 | + if($result && !is_numeric($result)) |
|
219 | + { |
|
187 | 220 | $this->errors[$record_num] = $result; |
188 | 221 | return false; |
189 | - } else { |
|
222 | + } |
|
223 | + else |
|
224 | + { |
|
190 | 225 | $this->results[$_action]++; |
191 | 226 | return true; |
192 | 227 | } |
@@ -202,7 +237,8 @@ discard block |
||
202 | 237 | * |
203 | 238 | * @return string name |
204 | 239 | */ |
205 | - public static function get_name() { |
|
240 | + public static function get_name() |
|
241 | + { |
|
206 | 242 | return lang('Resources CSV import'); |
207 | 243 | } |
208 | 244 | |
@@ -211,7 +247,8 @@ discard block |
||
211 | 247 | * |
212 | 248 | * @return string descriprion |
213 | 249 | */ |
214 | - public static function get_description() { |
|
250 | + public static function get_description() |
|
251 | + { |
|
215 | 252 | return lang("Imports a list of resources from a CSV file."); |
216 | 253 | } |
217 | 254 | |
@@ -220,7 +257,8 @@ discard block |
||
220 | 257 | * |
221 | 258 | * @return string suffix (comma seperated) |
222 | 259 | */ |
223 | - public static function get_filesuffix() { |
|
260 | + public static function get_filesuffix() |
|
261 | + { |
|
224 | 262 | return 'csv'; |
225 | 263 | } |
226 | 264 | |
@@ -236,7 +274,8 @@ discard block |
||
236 | 274 | * preserv => array, |
237 | 275 | * ) |
238 | 276 | */ |
239 | - public function get_options_etpl() { |
|
277 | + public function get_options_etpl() |
|
278 | + { |
|
240 | 279 | // lets do it! |
241 | 280 | } |
242 | 281 | |
@@ -245,7 +284,8 @@ discard block |
||
245 | 284 | * |
246 | 285 | * @return string etemplate name |
247 | 286 | */ |
248 | - public function get_selectors_etpl() { |
|
287 | + public function get_selectors_etpl() |
|
288 | + { |
|
249 | 289 | // lets do it! |
250 | 290 | } |
251 | 291 | |
@@ -257,7 +297,8 @@ discard block |
||
257 | 297 | * record_# => warning message |
258 | 298 | * ) |
259 | 299 | */ |
260 | - public function get_warnings() { |
|
300 | + public function get_warnings() |
|
301 | + { |
|
261 | 302 | return $this->warnings; |
262 | 303 | } |
263 | 304 | } |
@@ -33,7 +33,7 @@ |
||
33 | 33 | * |
34 | 34 | * @param string $key key of value to get |
35 | 35 | * @param int $res_id resource id |
36 | - * @return mixed value of key and resource, false if key or id not found. |
|
36 | + * @return integer value of key and resource, false if key or id not found. |
|
37 | 37 | */ |
38 | 38 | function get_value($key,$res_id) |
39 | 39 | { |
@@ -22,10 +22,10 @@ discard block |
||
22 | 22 | { |
23 | 23 | function __construct() |
24 | 24 | { |
25 | - parent::__construct('resources','egw_resources', 'egw_resources_extra', '', |
|
26 | - 'extra_name', 'extra_value', 'extra_id' ); |
|
25 | + parent::__construct('resources', 'egw_resources', 'egw_resources_extra', '', |
|
26 | + 'extra_name', 'extra_value', 'extra_id'); |
|
27 | 27 | |
28 | - $this->columns_to_search = array('name','short_description','inventory_number','long_description','location'); |
|
28 | + $this->columns_to_search = array('name', 'short_description', 'inventory_number', 'long_description', 'location'); |
|
29 | 29 | } |
30 | 30 | |
31 | 31 | /** |
@@ -35,10 +35,9 @@ discard block |
||
35 | 35 | * @param int $res_id resource id |
36 | 36 | * @return mixed value of key and resource, false if key or id not found. |
37 | 37 | */ |
38 | - function get_value($key,$res_id) |
|
38 | + function get_value($key, $res_id) |
|
39 | 39 | { |
40 | - return $res_id == $this->data['res_id'] ? $this->data[$key] : |
|
41 | - $this->db->select($this->table_name,$key,array('res_id' => $res_id),__LINE__,__FILE__)->fetchColumn(); |
|
40 | + return $res_id == $this->data['res_id'] ? $this->data[$key] : $this->db->select($this->table_name, $key, array('res_id' => $res_id), __LINE__, __FILE__)->fetchColumn(); |
|
42 | 41 | } |
43 | 42 | |
44 | 43 | /** |
@@ -90,7 +89,7 @@ discard block |
||
90 | 89 | function save($resource) |
91 | 90 | { |
92 | 91 | $this->data = $resource; |
93 | - if(parent::save() != 0) return false; |
|
92 | + if (parent::save() != 0) return false; |
|
94 | 93 | $res_id = $this->data['res_id']; |
95 | 94 | |
96 | 95 | return $res_id; |
@@ -51,7 +51,10 @@ discard block |
||
51 | 51 | */ |
52 | 52 | function read($res_id) |
53 | 53 | { |
54 | - if (is_array($res_id) && count($res_id) == 1 && isset($res_id['res_id'])) $res_id = $res_id['res_id']; |
|
54 | + if (is_array($res_id) && count($res_id) == 1 && isset($res_id['res_id'])) |
|
55 | + { |
|
56 | + $res_id = $res_id['res_id']; |
|
57 | + } |
|
55 | 58 | |
56 | 59 | /*if (!is_array($res_id) && $res_id == $this->data['res_id']) |
57 | 60 | { |
@@ -90,7 +93,10 @@ discard block |
||
90 | 93 | function save($resource) |
91 | 94 | { |
92 | 95 | $this->data = $resource; |
93 | - if(parent::save() != 0) return false; |
|
96 | + if(parent::save() != 0) |
|
97 | + { |
|
98 | + return false; |
|
99 | + } |
|
94 | 100 | $res_id = $this->data['res_id']; |
95 | 101 | |
96 | 102 | return $res_id; |
@@ -273,7 +273,7 @@ |
||
273 | 273 | * @param int &$success number of succeded actions |
274 | 274 | * @param int &$failed number of failed actions (not enought permissions) |
275 | 275 | * @param string &$action_msg translated verb for the actions, to be used in a message like %1 timesheets 'deleted' |
276 | - * @param string/array $session_name 'index' or 'email', or array with session-data depending if we are in the main list or the popup |
|
276 | + * @param string $session_name 'index' or 'email', or array with session-data depending if we are in the main list or the popup |
|
277 | 277 | * @return boolean true if all actions succeded, false otherwise |
278 | 278 | */ |
279 | 279 | function action($action,$checked,$use_all,&$success,&$failed,&$action_msg,$session_name,&$msg) |
@@ -105,7 +105,9 @@ discard block |
||
105 | 105 | } |
106 | 106 | } |
107 | 107 | } |
108 | - } else { |
|
108 | + } |
|
109 | + else |
|
110 | + { |
|
109 | 111 | $msg = $content; |
110 | 112 | } |
111 | 113 | $content = array(); |
@@ -140,7 +142,8 @@ discard block |
||
140 | 142 | $content['nm']['options-filter2'][resources_bo::DELETED] = lang('Deleted'); |
141 | 143 | } |
142 | 144 | |
143 | - if($_GET['search']) { |
|
145 | + if($_GET['search']) |
|
146 | + { |
|
144 | 147 | $content['nm']['search'] = $_GET['search']; |
145 | 148 | } |
146 | 149 | if($_GET['view_accs_of']) |
@@ -305,7 +308,10 @@ discard block |
||
305 | 308 | foreach($checked as $n=>$id) |
306 | 309 | { |
307 | 310 | // Extra data |
308 | - if(!$id) continue; |
|
311 | + if(!$id) |
|
312 | + { |
|
313 | + continue; |
|
314 | + } |
|
309 | 315 | $resource = $this->bo->read($id); |
310 | 316 | $resource['deleted'] = null; |
311 | 317 | if($resource['accessory_of'] > 0) |
@@ -337,7 +343,10 @@ discard block |
||
337 | 343 | } |
338 | 344 | $success++; |
339 | 345 | } |
340 | - if($restored_accessories) $action_msg .= ", " . lang('%1 accessories restored',$restored_accessories); |
|
346 | + if($restored_accessories) |
|
347 | + { |
|
348 | + $action_msg .= ", " . lang('%1 accessories restored',$restored_accessories); |
|
349 | + } |
|
341 | 350 | break; |
342 | 351 | case 'delete': |
343 | 352 | $action_msg = lang('deleted'); |
@@ -345,7 +354,10 @@ discard block |
||
345 | 354 | foreach($checked as $n => &$id) |
346 | 355 | { |
347 | 356 | // Extra data |
348 | - if(!$id) continue; |
|
357 | + if(!$id) |
|
358 | + { |
|
359 | + continue; |
|
360 | + } |
|
349 | 361 | $resource = $this->bo->read($id); |
350 | 362 | if($settings == 'promote') |
351 | 363 | { |
@@ -371,7 +383,10 @@ discard block |
||
371 | 383 | |
372 | 384 | // Don't need to process these ones now |
373 | 385 | $checked_key = array_search($acc_id, $checked); |
374 | - if($checked_key !== false) unset($checked[$checked_key]); |
|
386 | + if($checked_key !== false) |
|
387 | + { |
|
388 | + unset($checked[$checked_key]); |
|
389 | + } |
|
375 | 390 | } |
376 | 391 | } |
377 | 392 | else |
@@ -401,7 +416,10 @@ discard block |
||
401 | 416 | $failed++; |
402 | 417 | } |
403 | 418 | } |
404 | - if($promoted_accessories) $action_msg .= ", " . lang('%1 accessories now resources',$promoted_accessories); |
|
419 | + if($promoted_accessories) |
|
420 | + { |
|
421 | + $action_msg .= ", " . lang('%1 accessories now resources',$promoted_accessories); |
|
422 | + } |
|
405 | 423 | break; |
406 | 424 | } |
407 | 425 | return $failed == 0; |
@@ -443,7 +461,10 @@ discard block |
||
443 | 461 | if($acc_count && $content['accessory_of'] != -1) |
444 | 462 | { |
445 | 463 | // Resource with accessories changed into accessory |
446 | - if($acc_count) $msg = lang('%1 accessories now resources',$acc_count); |
|
464 | + if($acc_count) |
|
465 | + { |
|
466 | + $msg = lang('%1 accessories now resources',$acc_count); |
|
467 | + } |
|
447 | 468 | } |
448 | 469 | } |
449 | 470 | else |
@@ -475,9 +496,18 @@ discard block |
||
475 | 496 | |
476 | 497 | $nm_session_data = Api\Cache::getSession('resources', 'index_nm'); |
477 | 498 | $res_id = is_numeric($content) ? (int)$content : $content['res_id']; |
478 | - if (isset($_GET['res_id'])) $res_id = $_GET['res_id']; |
|
479 | - if (isset($nm_session_data['filter2']) && $nm_session_data['filter2'] > 0) $accessory_of = $nm_session_data['filter2']; |
|
480 | - if (isset($_GET['accessory_of'])) $accessory_of = $_GET['accessory_of']; |
|
499 | + if (isset($_GET['res_id'])) |
|
500 | + { |
|
501 | + $res_id = $_GET['res_id']; |
|
502 | + } |
|
503 | + if (isset($nm_session_data['filter2']) && $nm_session_data['filter2'] > 0) |
|
504 | + { |
|
505 | + $accessory_of = $nm_session_data['filter2']; |
|
506 | + } |
|
507 | + if (isset($_GET['accessory_of'])) |
|
508 | + { |
|
509 | + $accessory_of = $_GET['accessory_of']; |
|
510 | + } |
|
481 | 511 | $content = array('res_id' => $res_id); |
482 | 512 | if ($res_id > 0) |
483 | 513 | { |
@@ -487,7 +517,9 @@ discard block |
||
487 | 517 | 'to_id' => $res_id, |
488 | 518 | 'to_app' => 'resources' |
489 | 519 | ); |
490 | - } elseif ($accessory_of > 0) { |
|
520 | + } |
|
521 | + elseif ($accessory_of > 0) |
|
522 | + { |
|
491 | 523 | // Pre-set according to parent |
492 | 524 | $owner = $this->bo->read($accessory_of); |
493 | 525 | if($owner['accessory_of'] > 0) |
@@ -498,16 +530,22 @@ discard block |
||
498 | 530 | } |
499 | 531 | $content['cat_id'] = $owner['cat_id']; |
500 | 532 | $content['bookable'] = true; |
501 | - } else { |
|
533 | + } |
|
534 | + else |
|
535 | + { |
|
502 | 536 | // New resource |
503 | 537 | $content['cat_id'] = $nm_session_data['filter']; |
504 | 538 | $content['bookable'] = true; |
505 | 539 | } |
506 | - if($msg) { |
|
540 | + if($msg) |
|
541 | + { |
|
507 | 542 | $content['msg'] = $msg; |
508 | 543 | } |
509 | 544 | |
510 | - if ($_GET['msg']) $content['msg'] = strip_tags($_GET['msg']); |
|
545 | + if ($_GET['msg']) |
|
546 | + { |
|
547 | + $content['msg'] = strip_tags($_GET['msg']); |
|
548 | + } |
|
511 | 549 | |
512 | 550 | // some presetes |
513 | 551 | $content['resource_picture'] = $this->bo->get_picture($content['res_id'],false); |
@@ -545,7 +583,10 @@ discard block |
||
545 | 583 | ); |
546 | 584 | |
547 | 585 | $sel_options['accessory_of'] = array(-1 => lang('none')) + (array)$this->bo->link_query('',$search_options); |
548 | - if($res_id) unset($sel_options['accessory_of'][$res_id]); |
|
586 | + if($res_id) |
|
587 | + { |
|
588 | + unset($sel_options['accessory_of'][$res_id]); |
|
589 | + } |
|
549 | 590 | |
550 | 591 | // $content['general|page|pictures|links'] = 'resources.edit_tabs.page'; //debug |
551 | 592 |
@@ -37,8 +37,8 @@ discard block |
||
37 | 37 | function __construct() |
38 | 38 | { |
39 | 39 | // print_r($GLOBALS['egw_info']); die(); |
40 | - $this->tmpl = new Etemplate('resources.show'); |
|
41 | - $this->bo = new resources_bo(); |
|
40 | + $this->tmpl = new Etemplate('resources.show'); |
|
41 | + $this->bo = new resources_bo(); |
|
42 | 42 | // $this->calui = CreateObject('resources.ui_calviews'); |
43 | 43 | } |
44 | 44 | |
@@ -49,7 +49,7 @@ discard block |
||
49 | 49 | * @param array $content content from eTemplate callback |
50 | 50 | * |
51 | 51 | */ |
52 | - function index($content='') |
|
52 | + function index($content = '') |
|
53 | 53 | { |
54 | 54 | if (is_array($content)) |
55 | 55 | { |
@@ -59,25 +59,25 @@ discard block |
||
59 | 59 | |
60 | 60 | if (isset($content['btn_delete_selected'])) |
61 | 61 | { |
62 | - foreach($content['nm']['rows'] as $row) |
|
62 | + foreach ($content['nm']['rows'] as $row) |
|
63 | 63 | { |
64 | - if($res_id = $row['checkbox'][0]) |
|
64 | + if ($res_id = $row['checkbox'][0]) |
|
65 | 65 | { |
66 | - $msg .= '<p>'. $this->bo->delete($res_id). '</p><br>'; |
|
66 | + $msg .= '<p>'.$this->bo->delete($res_id).'</p><br>'; |
|
67 | 67 | } |
68 | 68 | } |
69 | 69 | return $this->index($msg); |
70 | 70 | } |
71 | - foreach($content['nm']['rows'] as $row) |
|
71 | + foreach ($content['nm']['rows'] as $row) |
|
72 | 72 | { |
73 | - if(isset($row['delete'])) |
|
73 | + if (isset($row['delete'])) |
|
74 | 74 | { |
75 | - $res_id = array_search('pressed',$row['delete']); |
|
75 | + $res_id = array_search('pressed', $row['delete']); |
|
76 | 76 | return $this->index($this->bo->delete($res_id)); |
77 | 77 | } |
78 | - if(isset($row['view_acc'])) |
|
78 | + if (isset($row['view_acc'])) |
|
79 | 79 | { |
80 | - $sessiondata['filter2'] = array_search('pressed',$row['view_acc']); |
|
80 | + $sessiondata['filter2'] = array_search('pressed', $row['view_acc']); |
|
81 | 81 | Api\Cache::setSession('resources', 'index_nm', $sessiondata); |
82 | 82 | return $this->index(); |
83 | 83 | } |
@@ -90,18 +90,18 @@ discard block |
||
90 | 90 | } |
91 | 91 | else |
92 | 92 | { |
93 | - if ($this->action($content['nm']['action'],$content['nm']['selected'],$content['nm']['select_all'], |
|
94 | - $success,$failed,$action_msg,'resources_index_nm',$msg)) |
|
93 | + if ($this->action($content['nm']['action'], $content['nm']['selected'], $content['nm']['select_all'], |
|
94 | + $success, $failed, $action_msg, 'resources_index_nm', $msg)) |
|
95 | 95 | { |
96 | - $msg .= lang('%1 resource(s) %2',$success,$action_msg); |
|
96 | + $msg .= lang('%1 resource(s) %2', $success, $action_msg); |
|
97 | 97 | } |
98 | - elseif(empty($msg)) |
|
98 | + elseif (empty($msg)) |
|
99 | 99 | { |
100 | - $msg .= lang('%1 resource(s) %2, %3 failed because of insufficent rights !!!',$success,$action_msg,$failed); |
|
100 | + $msg .= lang('%1 resource(s) %2, %3 failed because of insufficent rights !!!', $success, $action_msg, $failed); |
|
101 | 101 | } |
102 | 102 | else |
103 | 103 | { |
104 | - $msg .= lang('%1 resource(s) %2, %3 failed',$success,$action_msg,$failed); |
|
104 | + $msg .= lang('%1 resource(s) %2, %3 failed', $success, $action_msg, $failed); |
|
105 | 105 | } |
106 | 106 | } |
107 | 107 | } |
@@ -111,65 +111,65 @@ discard block |
||
111 | 111 | $content = array(); |
112 | 112 | $content['msg'] = $msg ? $msg : $_GET['msg']; |
113 | 113 | |
114 | - $content['nm']['get_rows'] = 'resources.resources_bo.get_rows'; |
|
114 | + $content['nm']['get_rows'] = 'resources.resources_bo.get_rows'; |
|
115 | 115 | $content['nm']['no_filter'] = False; |
116 | 116 | $content['nm']['filter_no_lang'] = true; |
117 | 117 | $content['nm']['no_cat'] = true; |
118 | 118 | $content['nm']['bottom_too'] = true; |
119 | 119 | $content['nm']['order'] = 'name'; |
120 | - $content['nm']['sort'] = 'ASC'; |
|
121 | - $content['nm']['store_state'] = 'get_rows'; |
|
120 | + $content['nm']['sort'] = 'ASC'; |
|
121 | + $content['nm']['store_state'] = 'get_rows'; |
|
122 | 122 | $content['nm']['row_id'] = 'res_id'; |
123 | 123 | $content['nm']['favorites'] = true; |
124 | 124 | |
125 | 125 | $nm_session_data = Api\Cache::getSession('resources', 'index_nm'); |
126 | - if($nm_session_data) |
|
126 | + if ($nm_session_data) |
|
127 | 127 | { |
128 | 128 | $content['nm'] = $nm_session_data; |
129 | 129 | } |
130 | - $content['nm']['options-filter']= array(''=>lang('all categories'))+(array)$this->bo->acl->get_cats(Acl::READ); |
|
130 | + $content['nm']['options-filter'] = array(''=>lang('all categories')) + (array)$this->bo->acl->get_cats(Acl::READ); |
|
131 | 131 | $content['nm']['options-filter2'] = resources_bo::$filter_options; |
132 | - if(!$content['nm']['filter2']) |
|
132 | + if (!$content['nm']['filter2']) |
|
133 | 133 | { |
134 | 134 | $content['nm']['filter2'] = key(resources_bo::$filter_options); |
135 | 135 | } |
136 | 136 | |
137 | 137 | $config = Api\Config::read('resources'); |
138 | - if($config['history']) |
|
138 | + if ($config['history']) |
|
139 | 139 | { |
140 | 140 | $content['nm']['options-filter2'][resources_bo::DELETED] = lang('Deleted'); |
141 | 141 | } |
142 | 142 | |
143 | - if($_GET['search']) { |
|
143 | + if ($_GET['search']) { |
|
144 | 144 | $content['nm']['search'] = $_GET['search']; |
145 | 145 | } |
146 | - if($_GET['view_accs_of']) |
|
146 | + if ($_GET['view_accs_of']) |
|
147 | 147 | { |
148 | 148 | $content['nm']['filter2'] = (int)$_GET['view_accs_of']; |
149 | 149 | } |
150 | - $content['nm']['actions'] = $this->get_actions(); |
|
150 | + $content['nm']['actions'] = $this->get_actions(); |
|
151 | 151 | $content['nm']['placeholder_actions'] = array('add'); |
152 | 152 | |
153 | 153 | // check if user is permitted to add resources |
154 | 154 | // If they can't read any categories, they won't be able to save it |
155 | - if(!$this->bo->acl->get_cats(Acl::ADD) || !$this->bo->acl->get_cats(Acl::READ)) |
|
155 | + if (!$this->bo->acl->get_cats(Acl::ADD) || !$this->bo->acl->get_cats(Acl::READ)) |
|
156 | 156 | { |
157 | 157 | $no_button['add'] = $no_button['nm']['add'] = true; |
158 | 158 | } |
159 | 159 | $no_button['back'] = true; |
160 | 160 | $GLOBALS['egw_info']['flags']['app_header'] = lang('resources'); |
161 | 161 | |
162 | - Framework::includeJS('.','resources','resources'); |
|
162 | + Framework::includeJS('.', 'resources', 'resources'); |
|
163 | 163 | |
164 | - if($content['nm']['filter2'] > 0) |
|
164 | + if ($content['nm']['filter2'] > 0) |
|
165 | 165 | { |
166 | 166 | $master = $this->bo->so->read(array('res_id' => $content['nm']['filter2'])); |
167 | 167 | $content['nm']['options-filter2'] = resources_bo::$filter_options + array( |
168 | - $master['res_id'] => lang('accessories of') . ' ' . $master['name'] |
|
168 | + $master['res_id'] => lang('accessories of').' '.$master['name'] |
|
169 | 169 | ); |
170 | - $content['nm']['get_rows'] = 'resources.resources_bo.get_rows'; |
|
171 | - $GLOBALS['egw_info']['flags']['app_header'] = lang('resources') . ' - ' . lang('accessories of '). ' '. $master['name'] . |
|
172 | - ($master['short_description'] ? ' [' . $master['short_description'] . ']' : ''); |
|
170 | + $content['nm']['get_rows'] = 'resources.resources_bo.get_rows'; |
|
171 | + $GLOBALS['egw_info']['flags']['app_header'] = lang('resources').' - '.lang('accessories of ').' '.$master['name']. |
|
172 | + ($master['short_description'] ? ' ['.$master['short_description'].']' : ''); |
|
173 | 173 | } |
174 | 174 | $preserv = $content; |
175 | 175 | |
@@ -177,7 +177,7 @@ discard block |
||
177 | 177 | |
178 | 178 | Api\Cache::setSession('resources', 'index_nm', $content['nm']); |
179 | 179 | $this->tmpl->read('resources.show'); |
180 | - return $this->tmpl->exec('resources.resources_ui.index',$content,$sel_options,$no_button,$preserv); |
|
180 | + return $this->tmpl->exec('resources.resources_ui.index', $content, $sel_options, $no_button, $preserv); |
|
181 | 181 | } |
182 | 182 | |
183 | 183 | /** |
@@ -194,9 +194,9 @@ discard block |
||
194 | 194 | 'allowOnMultiple' => false, |
195 | 195 | 'url' => 'menuaction=resources.resources_ui.edit&res_id=$id', |
196 | 196 | 'popup' => Link::get_registry('resources', 'add_popup'), |
197 | - 'group' => $group=1, |
|
197 | + 'group' => $group = 1, |
|
198 | 198 | 'disableClass' => 'rowNoEdit', |
199 | - 'onExecute' => Api\Header\UserAgent::mobile()?'javaScript:app.resources.viewEntry':'', |
|
199 | + 'onExecute' => Api\Header\UserAgent::mobile() ? 'javaScript:app.resources.viewEntry' : '', |
|
200 | 200 | 'mobileViewTemplate' => 'view?'.filemtime(Api\Etemplate\Widget\Template::rel2path('/resources/templates/mobile/view.xet')) |
201 | 201 | ), |
202 | 202 | 'add' => array( |
@@ -278,7 +278,7 @@ discard block |
||
278 | 278 | * @param string/array $session_name 'index' or 'email', or array with session-data depending if we are in the main list or the popup |
279 | 279 | * @return boolean true if all actions succeded, false otherwise |
280 | 280 | */ |
281 | - function action($action,$checked,$use_all,&$success,&$failed,&$action_msg,$session_name,&$msg) |
|
281 | + function action($action, $checked, $use_all, &$success, &$failed, &$action_msg, $session_name, &$msg) |
|
282 | 282 | { |
283 | 283 | $success = $failed = 0; |
284 | 284 | if ($use_all) |
@@ -286,11 +286,11 @@ discard block |
||
286 | 286 | // get the whole selection |
287 | 287 | $query = is_array($session_name) ? $session_name : Api\Cache::getSession($session_name, 'session_data'); |
288 | 288 | |
289 | - @set_time_limit(0); // switch off the execution time limit, as it's for big selections to small |
|
290 | - $query['num_rows'] = -1; // all |
|
291 | - $this->bo->get_rows($query,$resources,$readonlys); |
|
289 | + @set_time_limit(0); // switch off the execution time limit, as it's for big selections to small |
|
290 | + $query['num_rows'] = -1; // all |
|
291 | + $this->bo->get_rows($query, $resources, $readonlys); |
|
292 | 292 | $checked = array(); |
293 | - foreach($resources as $resource) |
|
293 | + foreach ($resources as $resource) |
|
294 | 294 | { |
295 | 295 | $checked[] = $resource['res_id']; |
296 | 296 | } |
@@ -300,17 +300,17 @@ discard block |
||
300 | 300 | // Dialogs to get options |
301 | 301 | list($action, $settings) = explode('_', $action, 2); |
302 | 302 | |
303 | - switch($action) |
|
303 | + switch ($action) |
|
304 | 304 | { |
305 | 305 | case 'restore': |
306 | 306 | $action_msg = lang('restored'); |
307 | - foreach($checked as $n=>$id) |
|
307 | + foreach ($checked as $n=>$id) |
|
308 | 308 | { |
309 | 309 | // Extra data |
310 | - if(!$id) continue; |
|
310 | + if (!$id) continue; |
|
311 | 311 | $resource = $this->bo->read($id); |
312 | 312 | $resource['deleted'] = null; |
313 | - if($resource['accessory_of'] > 0) |
|
313 | + if ($resource['accessory_of'] > 0) |
|
314 | 314 | { |
315 | 315 | /* |
316 | 316 | If restoring an accessory, and parent is deleted, and not in |
@@ -318,18 +318,18 @@ discard block |
||
318 | 318 | */ |
319 | 319 | $parent = $this->bo->read($resource['accessory_of']); |
320 | 320 | $checked_key = array_search($parent['res_id'], $checked); |
321 | - if($checked_key === false && $parent['deleted']) |
|
321 | + if ($checked_key === false && $parent['deleted']) |
|
322 | 322 | { |
323 | 323 | $resource['accessory_of'] = -1; |
324 | 324 | } |
325 | 325 | } |
326 | 326 | |
327 | 327 | $this->bo->save($resource); |
328 | - if($settings == 'accessories') |
|
328 | + if ($settings == 'accessories') |
|
329 | 329 | { |
330 | 330 | // Restore accessories too |
331 | - $accessories = $this->bo->get_acc_list($id,true); |
|
332 | - foreach($accessories as $acc_id => $name) |
|
331 | + $accessories = $this->bo->get_acc_list($id, true); |
|
332 | + foreach ($accessories as $acc_id => $name) |
|
333 | 333 | { |
334 | 334 | $acc = $this->bo->read($acc_id); |
335 | 335 | $acc['deleted'] = null; |
@@ -339,20 +339,20 @@ discard block |
||
339 | 339 | } |
340 | 340 | $success++; |
341 | 341 | } |
342 | - if($restored_accessories) $action_msg .= ", " . lang('%1 accessories restored',$restored_accessories); |
|
342 | + if ($restored_accessories) $action_msg .= ", ".lang('%1 accessories restored', $restored_accessories); |
|
343 | 343 | break; |
344 | 344 | case 'delete': |
345 | 345 | $action_msg = lang('deleted'); |
346 | 346 | $promoted_accessories = 0; |
347 | - foreach($checked as $n => &$id) |
|
347 | + foreach ($checked as $n => &$id) |
|
348 | 348 | { |
349 | 349 | // Extra data |
350 | - if(!$id) continue; |
|
350 | + if (!$id) continue; |
|
351 | 351 | $resource = $this->bo->read($id); |
352 | - if($settings == 'promote') |
|
352 | + if ($settings == 'promote') |
|
353 | 353 | { |
354 | 354 | // Handle a selected accessory |
355 | - if($resource['accessory_of'] > 0) |
|
355 | + if ($resource['accessory_of'] > 0) |
|
356 | 356 | { |
357 | 357 | $resource['accessory_of'] = -1; |
358 | 358 | $this->bo->save($resource); |
@@ -361,8 +361,8 @@ discard block |
||
361 | 361 | } |
362 | 362 | |
363 | 363 | // Make associated accessories into resources - include deleted |
364 | - $accessories = $this->bo->get_acc_list($id,true); |
|
365 | - foreach($accessories as $acc_id => $name) |
|
364 | + $accessories = $this->bo->get_acc_list($id, true); |
|
365 | + foreach ($accessories as $acc_id => $name) |
|
366 | 366 | { |
367 | 367 | $acc = $this->bo->read($acc_id); |
368 | 368 | $acc['accessory_of'] = -1; |
@@ -373,19 +373,19 @@ discard block |
||
373 | 373 | |
374 | 374 | // Don't need to process these ones now |
375 | 375 | $checked_key = array_search($acc_id, $checked); |
376 | - if($checked_key !== false) unset($checked[$checked_key]); |
|
376 | + if ($checked_key !== false) unset($checked[$checked_key]); |
|
377 | 377 | } |
378 | 378 | } |
379 | 379 | else |
380 | 380 | { |
381 | 381 | // Remove checked accessories, deleting resource will remove them |
382 | 382 | // We get an error if we try to delete them after they're gone |
383 | - $accessories = $this->bo->get_acc_list($id,$resource['deleted']); |
|
383 | + $accessories = $this->bo->get_acc_list($id, $resource['deleted']); |
|
384 | 384 | |
385 | - foreach($accessories as $acc_id => $name) |
|
385 | + foreach ($accessories as $acc_id => $name) |
|
386 | 386 | { |
387 | 387 | $checked_key = array_search($acc_id, $checked); |
388 | - if($checked_key !== false) |
|
388 | + if ($checked_key !== false) |
|
389 | 389 | { |
390 | 390 | $success++; |
391 | 391 | unset($checked[$checked_key]); |
@@ -399,11 +399,11 @@ discard block |
||
399 | 399 | } |
400 | 400 | else |
401 | 401 | { |
402 | - $msg = $error . "\n"; |
|
402 | + $msg = $error."\n"; |
|
403 | 403 | $failed++; |
404 | 404 | } |
405 | 405 | } |
406 | - if($promoted_accessories) $action_msg .= ", " . lang('%1 accessories now resources',$promoted_accessories); |
|
406 | + if ($promoted_accessories) $action_msg .= ", ".lang('%1 accessories now resources', $promoted_accessories); |
|
407 | 407 | break; |
408 | 408 | } |
409 | 409 | return $failed == 0; |
@@ -415,13 +415,13 @@ discard block |
||
415 | 415 | * |
416 | 416 | * @param $content Content from the eTemplate Exec call or id on inital call |
417 | 417 | */ |
418 | - function edit($content=0,$accessory_of = -1) |
|
418 | + function edit($content = 0, $accessory_of = -1) |
|
419 | 419 | { |
420 | 420 | if (is_array($content)) |
421 | 421 | { |
422 | 422 | list($button) = @each($content['button']); |
423 | 423 | unset($content['button']); |
424 | - switch($button) |
|
424 | + switch ($button) |
|
425 | 425 | { |
426 | 426 | case 'save': |
427 | 427 | case 'apply': |
@@ -432,20 +432,20 @@ discard block |
||
432 | 432 | // // links are already saved by eTemplate |
433 | 433 | // unset($resource['link_to']['to_id']); |
434 | 434 | // } |
435 | - if($content['res_id']) |
|
435 | + if ($content['res_id']) |
|
436 | 436 | { |
437 | 437 | $acc_count = count($this->bo->get_acc_list($content['res_id'])); |
438 | 438 | } |
439 | 439 | $result = $this->bo->save($content); |
440 | 440 | |
441 | - if(is_numeric($result)) |
|
441 | + if (is_numeric($result)) |
|
442 | 442 | { |
443 | - $msg = lang('Resource %1 saved!',$result); |
|
443 | + $msg = lang('Resource %1 saved!', $result); |
|
444 | 444 | $content['res_id'] = $result; |
445 | - if($acc_count && $content['accessory_of'] != -1) |
|
445 | + if ($acc_count && $content['accessory_of'] != -1) |
|
446 | 446 | { |
447 | 447 | // Resource with accessories changed into accessory |
448 | - if($acc_count) $msg = lang('%1 accessories now resources',$acc_count); |
|
448 | + if ($acc_count) $msg = lang('%1 accessories now resources', $acc_count); |
|
449 | 449 | } |
450 | 450 | } |
451 | 451 | else |
@@ -456,9 +456,9 @@ discard block |
||
456 | 456 | break; |
457 | 457 | case 'delete': |
458 | 458 | unset($content['delete']); |
459 | - if(!$this->bo->delete($content['res_id'])) |
|
459 | + if (!$this->bo->delete($content['res_id'])) |
|
460 | 460 | { |
461 | - $msg = lang('Resource %1 deleted!',$content['res_id']); |
|
461 | + $msg = lang('Resource %1 deleted!', $content['res_id']); |
|
462 | 462 | } |
463 | 463 | else |
464 | 464 | { |
@@ -466,9 +466,9 @@ discard block |
||
466 | 466 | break; |
467 | 467 | } |
468 | 468 | } |
469 | - Framework::refresh_opener($msg, 'resources',$content['res_id'],($button == 'delete'?'delete':'edit')); |
|
469 | + Framework::refresh_opener($msg, 'resources', $content['res_id'], ($button == 'delete' ? 'delete' : 'edit')); |
|
470 | 470 | |
471 | - if($button != 'apply') |
|
471 | + if ($button != 'apply') |
|
472 | 472 | { |
473 | 473 | Framework::window_close(); |
474 | 474 | } |
@@ -484,7 +484,7 @@ discard block |
||
484 | 484 | if ($res_id > 0) |
485 | 485 | { |
486 | 486 | $content = $this->bo->read($res_id); |
487 | - $content['picture_src'] = strpos($content['picture_src'],'.') !== false ? 'gen_src' : $content['picture_src']; |
|
487 | + $content['picture_src'] = strpos($content['picture_src'], '.') !== false ? 'gen_src' : $content['picture_src']; |
|
488 | 488 | $content['link_to'] = array( |
489 | 489 | 'to_id' => $res_id, |
490 | 490 | 'to_app' => 'resources' |
@@ -492,7 +492,7 @@ discard block |
||
492 | 492 | } elseif ($accessory_of > 0) { |
493 | 493 | // Pre-set according to parent |
494 | 494 | $owner = $this->bo->read($accessory_of); |
495 | - if($owner['accessory_of'] > 0) |
|
495 | + if ($owner['accessory_of'] > 0) |
|
496 | 496 | { |
497 | 497 | // Accessory of accessory not allowed, grab parent resource |
498 | 498 | $accessory_of = $owner['accessory_of']; |
@@ -505,33 +505,32 @@ discard block |
||
505 | 505 | $content['cat_id'] = $nm_session_data['filter']; |
506 | 506 | $content['bookable'] = true; |
507 | 507 | } |
508 | - if($msg) { |
|
508 | + if ($msg) { |
|
509 | 509 | $content['msg'] = $msg; |
510 | 510 | } |
511 | 511 | |
512 | 512 | if ($_GET['msg']) $content['msg'] = strip_tags($_GET['msg']); |
513 | 513 | |
514 | 514 | // some presetes |
515 | - $content['resource_picture'] = $this->bo->get_picture($content['res_id'],false); |
|
515 | + $content['resource_picture'] = $this->bo->get_picture($content['res_id'], false); |
|
516 | 516 | // Set original size picture |
517 | - $content['picture_original'] = $content['picture_src'] == 'own_src'? |
|
518 | - 'webdav.php/apps/resources/'.$content['res_id'].'/.picture.jpg': $this->bo->get_picture($content['res_id'],true); |
|
517 | + $content['picture_original'] = $content['picture_src'] == 'own_src' ? |
|
518 | + 'webdav.php/apps/resources/'.$content['res_id'].'/.picture.jpg' : $this->bo->get_picture($content['res_id'], true); |
|
519 | 519 | |
520 | 520 | $content['quantity'] = $content['quantity'] ? $content['quantity'] : 1; |
521 | 521 | $content['useable'] = $content['useable'] ? $content['useable'] : 1; |
522 | 522 | $content['accessory_of'] = $content['accessory_of'] ? $content['accessory_of'] : $accessory_of; |
523 | 523 | |
524 | - if($content['res_id'] && $content['accessory_of'] == -1) |
|
524 | + if ($content['res_id'] && $content['accessory_of'] == -1) |
|
525 | 525 | { |
526 | 526 | $content['acc_count'] = count($this->bo->get_acc_list($content['res_id'])); |
527 | 527 | } |
528 | 528 | $sel_options['status'] = resources_bo::$field2label; |
529 | 529 | |
530 | 530 | //$sel_options['gen_src_list'] = $this->bo->get_genpicturelist(); |
531 | - $sel_options['cat_id'] = $this->bo->acl->get_cats(Acl::ADD); |
|
532 | - $sel_options['cat_id'] = count($sel_options['cat_id']) == 1 ? $sel_options['cat_id'] : |
|
533 | - array('' => lang('select one')) + $sel_options['cat_id']; |
|
534 | - if($accessory_of > 0 || $content['accessory_of'] > 0) |
|
531 | + $sel_options['cat_id'] = $this->bo->acl->get_cats(Acl::ADD); |
|
532 | + $sel_options['cat_id'] = count($sel_options['cat_id']) == 1 ? $sel_options['cat_id'] : array('' => lang('select one')) + $sel_options['cat_id']; |
|
533 | + if ($accessory_of > 0 || $content['accessory_of'] > 0) |
|
535 | 534 | { |
536 | 535 | $content['accessory_of'] = $content['accessory_of'] ? $content['accessory_of'] : $accessory_of; |
537 | 536 | } |
@@ -546,19 +545,19 @@ discard block |
||
546 | 545 | ) |
547 | 546 | ); |
548 | 547 | |
549 | - $sel_options['accessory_of'] = array(-1 => lang('none')) + (array)$this->bo->link_query('',$search_options); |
|
550 | - if($res_id) unset($sel_options['accessory_of'][$res_id]); |
|
548 | + $sel_options['accessory_of'] = array(-1 => lang('none')) + (array)$this->bo->link_query('', $search_options); |
|
549 | + if ($res_id) unset($sel_options['accessory_of'][$res_id]); |
|
551 | 550 | |
552 | 551 | // $content['general|page|pictures|links'] = 'resources.edit_tabs.page'; //debug |
553 | 552 | |
554 | 553 | // Permissions |
555 | 554 | $read_only = array(); |
556 | - if($res_id && !$this->bo->acl->is_permitted($content['cat_id'],Acl::EDIT)) |
|
555 | + if ($res_id && !$this->bo->acl->is_permitted($content['cat_id'], Acl::EDIT)) |
|
557 | 556 | { |
558 | 557 | $read_only['__ALL__'] = true; |
559 | 558 | } |
560 | 559 | $config = Api\Config::read('resources'); |
561 | - if(!$this->bo->acl->is_permitted($content['cat_id'],Acl::DELETE) || |
|
560 | + if (!$this->bo->acl->is_permitted($content['cat_id'], Acl::DELETE) || |
|
562 | 561 | ($content['deleted'] && !$GLOBALS['egw_info']['user']['apps']['admin'] && $config['history'] == 'history')) |
563 | 562 | { |
564 | 563 | $read_only['delete'] = true; |
@@ -566,19 +565,19 @@ discard block |
||
566 | 565 | |
567 | 566 | // Can't make a resource with accessories an accessory |
568 | 567 | $read_only['accessory_of'] = $content['acc_count']; |
569 | - if($read_only['accessory_of']) |
|
568 | + if ($read_only['accessory_of']) |
|
570 | 569 | { |
571 | 570 | $content['accessory_label'] = lang('Remove accessories before changing Accessory of'); |
572 | 571 | } |
573 | 572 | |
574 | 573 | // Disable custom tab if there are no custom fields defined |
575 | - $read_only['tabs']['custom'] = !(Api\Storage\Customfields::get('resources',true)); |
|
576 | - $read_only['tabs']['history'] = ($content['history']['id'] != 0?false:true); |
|
574 | + $read_only['tabs']['custom'] = !(Api\Storage\Customfields::get('resources', true)); |
|
575 | + $read_only['tabs']['history'] = ($content['history']['id'] != 0 ?false:true); |
|
577 | 576 | |
578 | 577 | $preserv = $content; |
579 | 578 | |
580 | 579 | $this->tmpl->read('resources.edit'); |
581 | - return $this->tmpl->exec('resources.resources_ui.edit',$content,$sel_options,$read_only,$preserv,2); |
|
580 | + return $this->tmpl->exec('resources.resources_ui.edit', $content, $sel_options, $read_only, $preserv, 2); |
|
582 | 581 | } |
583 | 582 | |
584 | 583 | } |