@@ -121,7 +121,6 @@ |
||
| 121 | 121 | * saves notification into database so that the client can fetch it from there |
| 122 | 122 | * |
| 123 | 123 | * @param string $_message |
| 124 | - * @param array $_user_sessions |
|
| 125 | 124 | */ |
| 126 | 125 | private function save( $_message ) { |
| 127 | 126 | $result = $this->db->insert( self::_notification_table, array( |
@@ -83,8 +83,8 @@ discard block |
||
| 83 | 83 | */ |
| 84 | 84 | public function __construct($_sender, $_recipient, $_config = null, $_preferences = null) { |
| 85 | 85 | //error_log(__METHOD__."(".array2string($_sender).', '.array2string($_recipient).', '.array2string($config).',...)'); |
| 86 | - if(!is_object($_sender)) { throw new Exception("no sender given."); } |
|
| 87 | - if(!is_object($_recipient)) { throw new Exception("no recipient given."); } |
|
| 86 | + if (!is_object($_sender)) { throw new Exception("no sender given."); } |
|
| 87 | + if (!is_object($_recipient)) { throw new Exception("no recipient given."); } |
|
| 88 | 88 | $this->sender = $_sender; |
| 89 | 89 | $this->recipient = $_recipient; |
| 90 | 90 | $this->config = $_config; |
@@ -102,19 +102,19 @@ discard block |
||
| 102 | 102 | */ |
| 103 | 103 | public function send(array $_messages, $_subject = false, $_links = false, $_attachments = false) |
| 104 | 104 | { |
| 105 | - unset($_attachments); // not used |
|
| 105 | + unset($_attachments); // not used |
|
| 106 | 106 | // Check access log to see if user is still logged in |
| 107 | - if ( !Api\Session::notifications_active($this->recipient->account_id) ) |
|
| 107 | + if (!Api\Session::notifications_active($this->recipient->account_id)) |
|
| 108 | 108 | { |
| 109 | 109 | throw new Exception("User {$this->recipient->account_lid} isn't online. Can't send notification via popup"); |
| 110 | 110 | } |
| 111 | 111 | |
| 112 | - $message = $this->render_infos($_subject) |
|
| 112 | + $message = $this->render_infos($_subject) |
|
| 113 | 113 | .Api\Html::hr() |
| 114 | - .(isset($_messages['popup'])&&!empty($_messages['popup'])?$_messages['popup']:$_messages['html']) |
|
| 114 | + .(isset($_messages['popup']) && !empty($_messages['popup']) ? $_messages['popup'] : $_messages['html']) |
|
| 115 | 115 | .$this->render_links($_links); |
| 116 | 116 | |
| 117 | - $this->save( $message ); |
|
| 117 | + $this->save($message); |
|
| 118 | 118 | } |
| 119 | 119 | |
| 120 | 120 | /** |
@@ -123,12 +123,12 @@ discard block |
||
| 123 | 123 | * @param string $_message |
| 124 | 124 | * @param array $_user_sessions |
| 125 | 125 | */ |
| 126 | - private function save( $_message ) { |
|
| 127 | - $result = $this->db->insert( self::_notification_table, array( |
|
| 126 | + private function save($_message) { |
|
| 127 | + $result = $this->db->insert(self::_notification_table, array( |
|
| 128 | 128 | 'account_id' => $this->recipient->account_id, |
| 129 | 129 | 'notify_message' => $_message, |
| 130 | 130 | 'notify_type' => self::_type |
| 131 | - ), false,__LINE__,__FILE__,self::_appname); |
|
| 131 | + ), false, __LINE__, __FILE__, self::_appname); |
|
| 132 | 132 | if ($result === false) throw new Exception("Can't save notification into SQL table"); |
| 133 | 133 | } |
| 134 | 134 | |
@@ -140,25 +140,25 @@ discard block |
||
| 140 | 140 | * @return string html rendered link(s) as complete string with jspopup or a new window |
| 141 | 141 | */ |
| 142 | 142 | private function render_links($_links = false) { |
| 143 | - if(!is_array($_links) || count($_links) == 0) { return false; } |
|
| 143 | + if (!is_array($_links) || count($_links) == 0) { return false; } |
|
| 144 | 144 | $newline = "<br />"; |
| 145 | 145 | |
| 146 | 146 | $rendered_links = array(); |
| 147 | - foreach($_links as $link) { |
|
| 148 | - if(!$link->popup) { $link->view['no_popup'] = 1; } |
|
| 147 | + foreach ($_links as $link) { |
|
| 148 | + if (!$link->popup) { $link->view['no_popup'] = 1; } |
|
| 149 | 149 | |
| 150 | 150 | // do not expose sensitive data |
| 151 | - $url = preg_replace('/(sessionid|kp3|domain)=[^&]+&?/','', |
|
| 151 | + $url = preg_replace('/(sessionid|kp3|domain)=[^&]+&?/', '', |
|
| 152 | 152 | Api\Html::link('/index.php', $link->view)); |
| 153 | 153 | // extract application-icon from menuaction |
| 154 | - if($link->view['menuaction']) { |
|
| 155 | - $menuaction_arr = explode('.',$link->view['menuaction']); |
|
| 154 | + if ($link->view['menuaction']) { |
|
| 155 | + $menuaction_arr = explode('.', $link->view['menuaction']); |
|
| 156 | 156 | $application = $menuaction_arr[0]; |
| 157 | - $image = $application ? Api\Html::image($application,'navbar',$link->text,'align="middle" style="width: 24px; margin-right: 0.5em;"') : ''; |
|
| 157 | + $image = $application ? Api\Html::image($application, 'navbar', $link->text, 'align="middle" style="width: 24px; margin-right: 0.5em;"') : ''; |
|
| 158 | 158 | } else { |
| 159 | 159 | $image = ''; |
| 160 | 160 | } |
| 161 | - if($link->popup && !$GLOBALS['egw_info']['user']['preferences']['notifications']['external_mailclient']) |
|
| 161 | + if ($link->popup && !$GLOBALS['egw_info']['user']['preferences']['notifications']['external_mailclient']) |
|
| 162 | 162 | { |
| 163 | 163 | $data = array( |
| 164 | 164 | "data-app = '{$link->app}'", |
@@ -167,14 +167,14 @@ discard block |
||
| 167 | 167 | "data-popup = '{$link->popup}'" |
| 168 | 168 | ); |
| 169 | 169 | |
| 170 | - $rendered_links[] = Api\Html::div($image.$link->text,implode(' ',$data),'link'); |
|
| 170 | + $rendered_links[] = Api\Html::div($image.$link->text, implode(' ', $data), 'link'); |
|
| 171 | 171 | } else { |
| 172 | - $rendered_links[] = Api\Html::div('<a href="'.$url.'" target="_blank">'.$image.$link->text.'</a>','','link'); |
|
| 172 | + $rendered_links[] = Api\Html::div('<a href="'.$url.'" target="_blank">'.$image.$link->text.'</a>', '', 'link'); |
|
| 173 | 173 | } |
| 174 | 174 | |
| 175 | 175 | } |
| 176 | - if(count($rendered_links) > 0) { |
|
| 177 | - return Api\Html::hr().Api\Html::bold(lang('Linked entries:')).$newline.implode($newline,$rendered_links); |
|
| 176 | + if (count($rendered_links) > 0) { |
|
| 177 | + return Api\Html::hr().Api\Html::bold(lang('Linked entries:')).$newline.implode($newline, $rendered_links); |
|
| 178 | 178 | } |
| 179 | 179 | } |
| 180 | 180 | |
@@ -187,9 +187,9 @@ discard block |
||
| 187 | 187 | * @param int $height =400 height of the window |
| 188 | 188 | * @return string javascript (using single quotes) |
| 189 | 189 | */ |
| 190 | - private function jspopup($link,$target='_blank',$width=750,$height=410) |
|
| 190 | + private function jspopup($link, $target = '_blank', $width = 750, $height = 410) |
|
| 191 | 191 | { |
| 192 | - if($GLOBALS['egw_info']['user']['preferences']['notifications']['external_mailclient']) |
|
| 192 | + if ($GLOBALS['egw_info']['user']['preferences']['notifications']['external_mailclient']) |
|
| 193 | 193 | { |
| 194 | 194 | return 'window.open('.($link == 'this.href' ? $link : "'".$link."'").','. |
| 195 | 195 | ($target == 'this.target' ? $target : "'".$target."'").",$width,$height,'yes')"; |
@@ -213,8 +213,8 @@ discard block |
||
| 213 | 213 | |
| 214 | 214 | $sender = $this->sender->account_fullname ? $this->sender->account_fullname : $this->sender_account_email; |
| 215 | 215 | $infos[] = lang('Message from').': '.$sender; |
| 216 | - if(!empty($_subject)) { $infos[] = Api\Html::bold($_subject); } |
|
| 217 | - return implode($newline,$infos); |
|
| 216 | + if (!empty($_subject)) { $infos[] = Api\Html::bold($_subject); } |
|
| 217 | + return implode($newline, $infos); |
|
| 218 | 218 | } |
| 219 | 219 | |
| 220 | 220 | /** |
@@ -223,8 +223,8 @@ discard block |
||
| 223 | 223 | * @param settings array with keys account_id and new_owner (new_owner is optional) |
| 224 | 224 | */ |
| 225 | 225 | public static function deleteaccount($settings) { |
| 226 | - $GLOBALS['egw']->db->delete( self::_notification_table, array( |
|
| 226 | + $GLOBALS['egw']->db->delete(self::_notification_table, array( |
|
| 227 | 227 | 'account_id' => $settings['account_id'] |
| 228 | - ),__LINE__,__FILE__,self::_appname); |
|
| 228 | + ), __LINE__, __FILE__, self::_appname); |
|
| 229 | 229 | } |
| 230 | 230 | } |
@@ -21,7 +21,8 @@ discard block |
||
| 21 | 21 | * out the table to look if there is a notificaton for this |
| 22 | 22 | * client. The second stage is done in class.notifications_ajax.inc.php |
| 23 | 23 | */ |
| 24 | -class notifications_popup implements notifications_iface { |
|
| 24 | +class notifications_popup implements notifications_iface |
|
| 25 | +{ |
|
| 25 | 26 | |
| 26 | 27 | /** |
| 27 | 28 | * Appname |
@@ -81,10 +82,15 @@ discard block |
||
| 81 | 82 | * @param object $_config |
| 82 | 83 | * @param object $_preferences |
| 83 | 84 | */ |
| 84 | - public function __construct($_sender, $_recipient, $_config = null, $_preferences = null) { |
|
| 85 | + public function __construct($_sender, $_recipient, $_config = null, $_preferences = null) |
|
| 86 | + { |
|
| 85 | 87 | //error_log(__METHOD__."(".array2string($_sender).', '.array2string($_recipient).', '.array2string($config).',...)'); |
| 86 | - if(!is_object($_sender)) { throw new Exception("no sender given."); } |
|
| 87 | - if(!is_object($_recipient)) { throw new Exception("no recipient given."); } |
|
| 88 | + if(!is_object($_sender)) |
|
| 89 | + { |
|
| 90 | +throw new Exception("no sender given."); } |
|
| 91 | + if(!is_object($_recipient)) |
|
| 92 | + { |
|
| 93 | +throw new Exception("no recipient given."); } |
|
| 88 | 94 | $this->sender = $_sender; |
| 89 | 95 | $this->recipient = $_recipient; |
| 90 | 96 | $this->config = $_config; |
@@ -123,13 +129,17 @@ discard block |
||
| 123 | 129 | * @param string $_message |
| 124 | 130 | * @param array $_user_sessions |
| 125 | 131 | */ |
| 126 | - private function save( $_message ) { |
|
| 132 | + private function save( $_message ) |
|
| 133 | + { |
|
| 127 | 134 | $result = $this->db->insert( self::_notification_table, array( |
| 128 | 135 | 'account_id' => $this->recipient->account_id, |
| 129 | 136 | 'notify_message' => $_message, |
| 130 | 137 | 'notify_type' => self::_type |
| 131 | 138 | ), false,__LINE__,__FILE__,self::_appname); |
| 132 | - if ($result === false) throw new Exception("Can't save notification into SQL table"); |
|
| 139 | + if ($result === false) |
|
| 140 | + { |
|
| 141 | + throw new Exception("Can't save notification into SQL table"); |
|
| 142 | + } |
|
| 133 | 143 | } |
| 134 | 144 | |
| 135 | 145 | /** |
@@ -139,23 +149,32 @@ discard block |
||
| 139 | 149 | * @param array $_links |
| 140 | 150 | * @return string html rendered link(s) as complete string with jspopup or a new window |
| 141 | 151 | */ |
| 142 | - private function render_links($_links = false) { |
|
| 143 | - if(!is_array($_links) || count($_links) == 0) { return false; } |
|
| 152 | + private function render_links($_links = false) |
|
| 153 | + { |
|
| 154 | + if(!is_array($_links) || count($_links) == 0) |
|
| 155 | + { |
|
| 156 | +return false; } |
|
| 144 | 157 | $newline = "<br />"; |
| 145 | 158 | |
| 146 | 159 | $rendered_links = array(); |
| 147 | - foreach($_links as $link) { |
|
| 148 | - if(!$link->popup) { $link->view['no_popup'] = 1; } |
|
| 160 | + foreach($_links as $link) |
|
| 161 | + { |
|
| 162 | + if(!$link->popup) |
|
| 163 | + { |
|
| 164 | +$link->view['no_popup'] = 1; } |
|
| 149 | 165 | |
| 150 | 166 | // do not expose sensitive data |
| 151 | 167 | $url = preg_replace('/(sessionid|kp3|domain)=[^&]+&?/','', |
| 152 | 168 | Api\Html::link('/index.php', $link->view)); |
| 153 | 169 | // extract application-icon from menuaction |
| 154 | - if($link->view['menuaction']) { |
|
| 170 | + if($link->view['menuaction']) |
|
| 171 | + { |
|
| 155 | 172 | $menuaction_arr = explode('.',$link->view['menuaction']); |
| 156 | 173 | $application = $menuaction_arr[0]; |
| 157 | 174 | $image = $application ? Api\Html::image($application,'navbar',$link->text,'align="middle" style="width: 24px; margin-right: 0.5em;"') : ''; |
| 158 | - } else { |
|
| 175 | + } |
|
| 176 | + else |
|
| 177 | + { |
|
| 159 | 178 | $image = ''; |
| 160 | 179 | } |
| 161 | 180 | if($link->popup && !$GLOBALS['egw_info']['user']['preferences']['notifications']['external_mailclient']) |
@@ -168,12 +187,15 @@ discard block |
||
| 168 | 187 | ); |
| 169 | 188 | |
| 170 | 189 | $rendered_links[] = Api\Html::div($image.$link->text,implode(' ',$data),'link'); |
| 171 | - } else { |
|
| 190 | + } |
|
| 191 | + else |
|
| 192 | + { |
|
| 172 | 193 | $rendered_links[] = Api\Html::div('<a href="'.$url.'" target="_blank">'.$image.$link->text.'</a>','','link'); |
| 173 | 194 | } |
| 174 | 195 | |
| 175 | 196 | } |
| 176 | - if(count($rendered_links) > 0) { |
|
| 197 | + if(count($rendered_links) > 0) |
|
| 198 | + { |
|
| 177 | 199 | return Api\Html::hr().Api\Html::bold(lang('Linked entries:')).$newline.implode($newline,$rendered_links); |
| 178 | 200 | } |
| 179 | 201 | } |
@@ -207,13 +229,16 @@ discard block |
||
| 207 | 229 | * @param string $_subject |
| 208 | 230 | * @return string html rendered info as complete string |
| 209 | 231 | */ |
| 210 | - private function render_infos($_subject = false) { |
|
| 232 | + private function render_infos($_subject = false) |
|
| 233 | + { |
|
| 211 | 234 | $infos = array(); |
| 212 | 235 | $newline = "<br />"; |
| 213 | 236 | |
| 214 | 237 | $sender = $this->sender->account_fullname ? $this->sender->account_fullname : $this->sender_account_email; |
| 215 | 238 | $infos[] = lang('Message from').': '.$sender; |
| 216 | - if(!empty($_subject)) { $infos[] = Api\Html::bold($_subject); } |
|
| 239 | + if(!empty($_subject)) |
|
| 240 | + { |
|
| 241 | +$infos[] = Api\Html::bold($_subject); } |
|
| 217 | 242 | return implode($newline,$infos); |
| 218 | 243 | } |
| 219 | 244 | |
@@ -222,7 +247,8 @@ discard block |
||
| 222 | 247 | * |
| 223 | 248 | * @param settings array with keys account_id and new_owner (new_owner is optional) |
| 224 | 249 | */ |
| 225 | - public static function deleteaccount($settings) { |
|
| 250 | + public static function deleteaccount($settings) |
|
| 251 | + { |
|
| 226 | 252 | $GLOBALS['egw']->db->delete( self::_notification_table, array( |
| 227 | 253 | 'account_id' => $settings['account_id'] |
| 228 | 254 | ),__LINE__,__FILE__,self::_appname); |
@@ -106,7 +106,7 @@ |
||
| 106 | 106 | // Check access log to see if user is still logged in |
| 107 | 107 | if ( !Api\Session::notifications_active($this->recipient->account_id) ) |
| 108 | 108 | { |
| 109 | - throw new Exception("User {$this->recipient->account_lid} isn't online. Can't send notification via popup"); |
|
| 109 | + throw new Exception("user {$this->recipient->account_lid} isn't online. Can't send notification via popup"); |
|
| 110 | 110 | } |
| 111 | 111 | |
| 112 | 112 | $message = $this->render_infos($_subject) |
@@ -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 | */ |
@@ -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' => !empty($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 | } |
@@ -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"); |
@@ -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; |