| | |
| | | function insert($event_name,$data) { |
| | | global $app, $conf; |
| | | |
| | | $app->uses('system'); |
| | | |
| | | if(!is_dir($data['new']['dir'])) { |
| | | $app->log("FTP User directory '".$data['new']['dir']."' does not exist. Creating it now.",LOGLEVEL_DEBUG); |
| | | |
| | | $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".intval($data['new']['parent_domain_id'])); |
| | | |
| | | //* Check if the resulting path is inside the docroot |
| | | if(substr($data['new']['dir'],0,strlen($web['document_root'])) != $web['document_root']) { |
| | | $app->log('User dir is outside of docroot.',LOGLEVEL_WARN); |
| | | return false; |
| | | } |
| | | |
| | | $app->system->web_folder_protection($web['document_root'],false); |
| | | exec('mkdir -p '.escapeshellcmd($data['new']['dir'])); |
| | | exec('chown '.escapeshellcmd($web["system_user"]).':'.escapeshellcmd($web['system_group']).' '.$data['new']['dir']); |
| | | $app->system->web_folder_protection($web['document_root'],true); |
| | | |
| | | $app->log("Added ftpuser_dir: ".$data['new']['dir'],LOGLEVEL_DEBUG); |
| | | $app->log("Added ftpuser_dir: ".$data['new']['dir'],LOGLEVEL_DEBUG); |
| | | } |
| | | |
| | | } |
| | |
| | | function update($event_name,$data) { |
| | | global $app, $conf; |
| | | |
| | | $app->uses('system'); |
| | | |
| | | if(!is_dir($data['new']['dir'])) { |
| | | $app->log("FTP User directory '".$data['new']['dir']."' does not exist. Creating it now.",LOGLEVEL_DEBUG); |
| | | |
| | | $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".intval($data['new']['parent_domain_id'])); |
| | | |
| | | //* Check if the resulting path is inside the docroot |
| | | if(substr($data['new']['dir'],0,strlen($web['document_root'])) != $web['document_root']) { |
| | | $app->log('User dir is outside of docroot.',LOGLEVEL_WARN); |
| | | return false; |
| | | } |
| | | |
| | | $app->system->web_folder_protection($web['document_root'],false); |
| | | exec('mkdir -p '.escapeshellcmd($data['new']['dir'])); |
| | | exec('chown '.escapeshellcmd($web["system_user"]).':'.escapeshellcmd($web['system_group']).' '.$data['new']['dir']); |
| | | $app->system->web_folder_protection($web['document_root'],true); |
| | | |
| | | $app->log("Added ftpuser_dir: ".$data['new']['dir'],LOGLEVEL_DEBUG); |
| | | } |