Merged revisions 1806-1811,1816 from stable.
| | |
| | | //* Get config variable |
| | | $list_name = $this->listDef['name']; |
| | | $search_prefix = $this->listDef['search_prefix']; |
| | | |
| | | if(isset($_REQUEST['Filter']) && !isset($_SESSION['search'][$list_name])) { |
| | | //* Jump back to page 1 of the list when a new search gets started. |
| | | $_SESSION['search'][$list_name]['page'] = 0; |
| | | } |
| | | |
| | | //* store retrieval query |
| | | foreach($this->listDef['item'] as $i) { |
| | | $field = $i['field']; |
| | | |
| | | //*TODO: comment = hat sich die suche ge�ndert |
| | | //* The search string has been changed |
| | | if(isset($_REQUEST[$search_prefix.$field]) && isset($_SESSION['search'][$list_name][$search_prefix.$field]) && $_REQUEST[$search_prefix.$field] != $_SESSION['search'][$list_name][$search_prefix.$field]){ |
| | | $this->searchChanged = 1; |
| | | |
| | |
| | | 1 => array ( 'type' => 'UNIQUE', |
| | | 'errmsg'=> 'origin_error_unique'), |
| | | 2 => array ( 'type' => 'REGEX', |
| | | 'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z]{2,10}[\.]{0,1}$/', |
| | | 'regex' => '/^[\w\.\-\/]{2,255}\.[a-zA-Z]{2,10}[\.]{0,1}$/', |
| | | 'errmsg'=> 'origin_error_regex'), |
| | | ), |
| | | 'default' => '', |
| | |
| | | RESPONDDB="{vmail_mailbox_base}/mailfilters/$HOST/$USER/.vacation.lst" |
| | | |
| | | # The following must be one contiguous line |
| | | cc "| mailbot -t $RESPOND -d $RESPONDDB -D 1 \ |
| | | cc "| mailbot -t $RESPOND -d $RESPONDDB -c 'UTF-8' -D 1 \ |
| | | -A 'From: $RECIPIENT' -s 'Auto Response: from $RECIPIENT' \ |
| | | /usr/sbin/sendmail -t -f ''" |
| | | } |
| | |
| | | <tmpl_if name='zone'> |
| | | zone "<tmpl_var name='zone'>" { |
| | | type master; |
| | | file "<tmpl_var name='zonefile_path'>"; |
| | | <tmpl_var name='options'> file "<tmpl_var name='zonefile_path'>"; |
| | | }; |
| | | </tmpl_if> |
| | | </tmpl_loop> |
| | |
| | | {tmpl_var name='name'} RP {tmpl_var name='data'} |
| | | </tmpl_if> |
| | | <tmpl_if name="type" op='==' value='SRV'> |
| | | {tmpl_var name='name'} SRV {tmpl_var name='data'} |
| | | {tmpl_var name='name'} SRV 0 {tmpl_var name='data'} |
| | | </tmpl_if> |
| | | <tmpl_if name="type" op='==' value='TXT'> |
| | | {tmpl_var name='name'} TXT {tmpl_var name='data'} |
| | |
| | | |
| | | if($user != '' && $this->is_user($user) && $user != 'root') { |
| | | $user = escapeshellarg($user); |
| | | exec("chown $user $dir $dir_cur $dir_new $dir_tmp"); |
| | | // I assume that the name of the (vmail group) is the same as the name of the mail user in ispconfig 3 |
| | | $group = $user; |
| | | exec("chown $user:$group $dir $dir_cur $dir_new $dir_tmp"); |
| | | } |
| | | |
| | | //* Add the subfolder to the subscriptions and courierimapsubscribed files |
| | |
| | | |
| | | $records = $app->db->queryAllRecords("SELECT * FROM dns_rr WHERE zone = ".$zone['id']." AND active = 'Y'"); |
| | | $tpl->setLoop('zones',$records); |
| | | |
| | | |
| | | $filename = escapeshellcmd($dns_config['bind_zonefiles_dir'].'/pri.'.substr($zone['origin'],0,-1)); |
| | | $app->log("Writing BIND domain file: ".$filename,LOGLEVEL_DEBUG); |
| | |
| | | exec('chown '.escapeshellcmd($dns_config['bind_user']).':'.escapeshellcmd($dns_config['bind_group']).' '.$filename); |
| | | unset($tpl); |
| | | unset($records); |
| | | unset($records_out); |
| | | unset($zone); |
| | | } |
| | | |
| | |
| | | $this->write_named_conf($data,$dns_config); |
| | | |
| | | //* Delete the domain file |
| | | $filename = $dns_config['bind_zonefiles_dir'].'/pri.'.substr($data['old']['origin'],0,-1); |
| | | if(is_file($filename)) unset($filename); |
| | | $app->log("Deleting BIND domain file: ".$filename,LOGLEVEL_DEBUG); |
| | | $zone_file_name = $dns_config['bind_zonefiles_dir'].'/pri.'.substr($data['old']['origin'],0,-1); |
| | | if(is_file($zone_file_name)) unlink($zone_file_name); |
| | | $app->log("Deleting BIND domain file: ".$zone_file_name,LOGLEVEL_DEBUG); |
| | | |
| | | //* Reload bind nameserver |
| | | $app->services->restartServiceDelayed('bind','reload'); |
| | |
| | | function write_named_conf($data, $dns_config) { |
| | | global $app, $conf; |
| | | |
| | | $tmps = $app->db->queryAllRecords("SELECT origin FROM dns_soa WHERE active = 'Y'"); |
| | | $tmps = $app->db->queryAllRecords("SELECT origin, xfer, also_notify FROM dns_soa WHERE active = 'Y'"); |
| | | $zones = array(); |
| | | |
| | | foreach($tmps as $tmp) { |
| | | |
| | | $options = ''; |
| | | if(trim($tmp['xfer']) != '') $options .= ' allow-transfer {'.str_replace(',',';',$tmp['xfer']).";};\n"; |
| | | if(trim($tmp['also_notify']) != '') $options .= ' also-notify {'.str_replace(',',';',$tmp['also_notify']).";};\n"; |
| | | |
| | | $zones[] = array( 'zone' => substr($tmp['origin'],0,-1), |
| | | 'zonefile_path' => $dns_config['bind_zonefiles_dir'].'/pri.'.substr($tmp['origin'],0,-1) |
| | | 'zonefile_path' => $dns_config['bind_zonefiles_dir'].'/pri.'.substr($tmp['origin'],0,-1), |
| | | 'options' => $options |
| | | ); |
| | | } |
| | | |
| | |
| | | |
| | | if($mail_config["relayhost"] != '') { |
| | | exec("postconf -e 'relayhost = ".$mail_config["relayhost"]."'"); |
| | | exec("postconf -e 'smtp_sasl_auth_enable = yes'"); |
| | | if($mail_config["relayhost_user"] != '' && $mail_config["relayhost_password"] != '') { |
| | | exec("postconf -e 'smtp_sasl_auth_enable = yes'"); |
| | | } else { |
| | | exec("postconf -e 'smtp_sasl_auth_enable = no'"); |
| | | } |
| | | exec("postconf -e 'smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd'"); |
| | | exec("postconf -e 'smtp_sasl_security_options ='"); |
| | | |