True, 'search_user' => True, 'update_quota' => True, 'load_quota' => True, 'quota' => True, 'removeFolder' => True, 'reconstructFolder' => True, 'set_owner' => True, 'set_permission' => True, 'renameFolder' => True, 'createFolder' => True, 'groups_users' => True, 'folders' => True ); function vfs_functions(){ } function folders(){ $GLOBALS['phpgw_info']['flags'] = array ( 'currentapp' => 'filemanager', 'noheader' => False, 'nonavbar' => False, 'nofooter' => False, 'noappheader' => False, 'enable_browser_class' => True ); $GLOBALS['phpgw']->common->phpgw_header(); include('load_lang.php'); echo ""; echo ""; echo ""; $t = $GLOBALS['phpgw']->template; $t->set_file(array('config_list' => 'config_folders.tpl')); $t->set_block('config_list','body','body'); $vars[lang_directory]=lang('directory'); $vars[lang_search]=lang('search'); $vars[lang_remove]=lang('remove'); $vars[lang_rename]=lang('rename'); $vars[lang_create]=lang('create'); $vars[lang_reconstruct]=lang('reconstruct'); $t->set_var($vars); $t->pparse('out','body'); $GLOBALS['phpgw']->common->phpgw_footer(); $GLOBALS['phpgw']->common->phpgw_exit(); } function groups_users(){ $GLOBALS['phpgw_info']['flags'] = array ( 'currentapp' => 'filemanager', 'noheader' => False, 'nonavbar' => False, 'nofooter' => False, 'noappheader' => False, 'enable_browser_class' => True ); $GLOBALS['phpgw']->common->phpgw_header(); include('load_lang.php'); echo ""; echo ""; echo ""; $t = $GLOBALS['phpgw']->template; $t->set_file(array('config_list' => 'config_owner.tpl')); $t->set_block('config_list','body','body'); $vars[lang_users_and_groups]=lang('Users and groups'); $vars[lang_search]=lang('search'); $vars[lang_directory]=lang('directory'); $vars[lang_setowner]=lang('set owner'); $vars[lang_setperm]=lang('set permission'); $t->set_var($vars); $t->pparse('out','body'); $GLOBALS['phpgw']->common->phpgw_footer(); $GLOBALS['phpgw']->common->phpgw_exit(); } function createFolder(){ $GLOBALS['phpgw_info']['flags'] = array ( 'currentapp' => 'filemanager', 'noheader' => True, 'nonavbar' => True, 'nofooter' => True, 'noappheader' => True, 'enable_browser_class' => True ); $bo = CreateObject('filemanager.bofilemanager'); $name = $GLOBALS['phpgw']->db->db_addslashes(base64_decode($_GET['name'])); if (strlen($name) < 2) return false; $c = CreateObject('phpgwapi.config','filemanager'); $c->read_repository(); $current_config = $c->config_data; $bo->vfs->override_acl = 1; if ( $bo->vfs->mkdir(array( 'string' => $name, 'relatives' => array(RELATIVE_NONE) )) ) if ( $bo->vfs->set_quota(array( 'string' => $name, 'relatives' => array(RELATIVE_NONE), 'new_quota' => $current_config['filemanager_quota_size'] )) ) $return = True; $bo->vfs->override_acl = 0; if ($return){ echo "Folder created"; } else echo "Error"; } function removeFolder(){ $GLOBALS['phpgw_info']['flags'] = array ( 'currentapp' => 'filemanager', 'noheader' => True, 'nonavbar' => True, 'nofooter' => True, 'noappheader' => True, 'enable_browser_class' => True ); $bo = CreateObject('filemanager.bofilemanager'); $name = $GLOBALS['phpgw']->db->db_addslashes(base64_decode($_GET['dir'])); if (strlen($name) < 2) return false; $bo->vfs->delete(array( 'string' => $name, 'relatives' => array(RELATIVE_NONE) )); /* Clean the log */ $GLOBALS['phpgw']->db->query('DELETE FROM phpgw_vfs WHERE directory = \''.$name.'\'',__LINE__,__FILE__); if ($GLOBALS['phpgw']->db->Error) echo "Erro"; else { $GLOBALS['phpgw']->db->query('DELETE FROM phpgw_vfs_quota WHERE directory = \''.$name.'\'',__LINE__,__FILE__); if (!$GLOBALS['phpgw']->db->Error) echo lang('directory removed sucessfully'); else echo "Erro"; } return; } function reconstructFolder(){ $GLOBALS['phpgw_info']['flags'] = array ( 'currentapp' => 'filemanager', 'noheader' => True, 'nonavbar' => True, 'nofooter' => True, 'noappheader' => True, 'enable_browser_class' => True ); $bo = CreateObject('filemanager.bofilemanager'); $name = $GLOBALS['phpgw']->db->db_addslashes(base64_decode($_GET['dir'])); if (strlen($name) < 2) return false; $bo->vfs->update_real(array( 'string' => $name, 'relatives' => array(RELATIVE_NONE) )); $bo->vfs->flush_journal(array( 'string' => $name, 'relatives' => array(RELATIVE_NONE), 'deleteall' => True )); echo lang('Your operation was successfully executed'); } function renameFolder(){ $GLOBALS['phpgw_info']['flags'] = array ( 'currentapp' => 'filemanager', 'noheader' => True, 'nonavbar' => True, 'nofooter' => True, 'noappheader' => True, 'enable_browser_class' => True ); $bo = CreateObject('filemanager.bofilemanager'); $name = $GLOBALS['phpgw']->db->db_addslashes(base64_decode($_GET['dir'])); $to = $GLOBALS['phpgw']->db->db_addslashes(base64_decode($_GET['to'])); if (strlen($name) < 2) return false; if ( $bo->vfs->mv(array( 'from' => $name, 'to' => $to, 'relatives' => array(RELATIVE_NONE) )) ){ $bo->vfs->flush_journal(array( 'string' => $name, 'relatives' => array(RELATIVE_NONE), 'deleteall' => True )); echo lang('Your operation was successfully executed'); } else echo lang('Error'); } function quota(){ $GLOBALS['phpgw_info']['flags'] = array ( 'currentapp' => 'filemanager', 'noheader' => False, 'nonavbar' => False, 'nofooter' => False, 'noappheader' => False, 'enable_browser_class' => True ); $GLOBALS['phpgw']->common->phpgw_header(); include('load_lang.php'); echo ""; echo ""; echo ""; $t = $GLOBALS['phpgw']->template; $t->set_file(array('config_list' => 'config_quota.tpl')); $t->set_block('config_list','body','body'); $vars[lang_directory]=lang('directory'); $vars[lang_search]=lang('search'); $vars[lang_save]=lang('save'); $t->set_var($vars); $t->pparse('out','body'); $GLOBALS['phpgw']->common->phpgw_footer(); $GLOBALS['phpgw']->common->phpgw_exit(); } function search_dir(){ $GLOBALS['phpgw_info']['flags'] = array ( 'currentapp' => 'filemanager', 'noheader' => True, 'nonavbar' => True, 'nofooter' => True, 'noappheader' => True, 'enable_browser_class' => True ); $name = $GLOBALS['phpgw']->db->db_addslashes($_GET['name']); $GLOBALS['phpgw']->db->query('SELECT DISTINCT directory FROM phpgw_vfs WHERE (directory like \'%'.$name.'%\') LIMIT 20',__LINE__,__FILE__); while ($GLOBALS['phpgw']->db->next_record()){ $val = $GLOBALS['phpgw']->db->row(); echo ""; } $GLOBALS['phpgw']->db->query('SELECT directory,name from phpgw_vfs WHERE directory = \'/home\' and name like \'%'.$name.'%\' LIMIT 1',__LINE__,__FILE__); if ($GLOBALS['phpgw']->db->next_record()){ $val = $GLOBALS['phpgw']->db->row(); echo ""; } } function search_user(){ $GLOBALS['phpgw_info']['flags'] = array ( 'currentapp' => 'filemanager', 'noheader' => True, 'nonavbar' => True, 'nofooter' => True, 'noappheader' => True, 'enable_browser_class' => True ); $account_info = $GLOBALS['phpgw']->accounts->get_list('both',0,'','',$_GET['name'],'all'); foreach($account_info as $val) echo ""; } function set_permission(){ $GLOBALS['phpgw_info']['flags'] = array ( 'currentapp' => 'filemanager', 'noheader' => True, 'nonavbar' => True, 'nofooter' => True, 'noappheader' => True, 'enable_browser_class' => True ); $name = $GLOBALS['phpgw']->db->db_addslashes(base64_decode($_GET['dir'])); $perms = ($_GET['perms'])*1; $owner = ($_GET['owner'])*1; $dirs=explode('/',$name); $GLOBALS['phpgw']->db->query('SELECT owner_id from phpgw_vfs WHERE directory = \'/'.$dirs[1].'\' and name=\''.$dirs[2].'\' LIMIT 1',__LINE__,__FILE__); if ($GLOBALS['phpgw']->db->next_record()){ $val = $GLOBALS['phpgw']->db->row(); $owner_id = $val['owner_id']; } $query = "SELECT count(*) FROM phpgw_acl WHERE acl_appname = 'filemanager' and acl_account = '".$owner_id."' and acl_location='".$owner."'"; if ($GLOBALS['phpgw']->db->query($query) && $GLOBALS['phpgw']->db->next_record()) $val = $GLOBALS['phpgw']->db->row(); else { echo $GLOBALS['phpgw']->db->error; return false; } if ($val['count'] == '1') $GLOBALS['phpgw']->db->query("UPDATE phpgw_acl SET acl_rights = ".$perms." where acl_appname = 'filemanager' and acl_account = '".$owner_id."' AND acl_location = '".$owner."'",__LINE__,__FILE__); else $GLOBALS['phpgw']->db->query("INSERT INTO phpgw_acl values('filemanager','".$owner."','".$owner_id."',".$perms.")",__LINE__,__FILE__); if ($GLOBALS['phpgw']->db->Error) echo "Erro"; else { echo lang('entry updated sucessfully'); } return; } function set_owner(){ $GLOBALS['phpgw_info']['flags'] = array ( 'currentapp' => 'filemanager', 'noheader' => True, 'nonavbar' => True, 'nofooter' => True, 'noappheader' => True, 'enable_browser_class' => True ); $name = $GLOBALS['phpgw']->db->db_addslashes(base64_decode($_GET['dir'])); $owner = ($_GET['owner'])*1; $GLOBALS['phpgw']->db->query('UPDATE phpgw_vfs SET owner_id = '.$owner.' WHERE directory = \''.$name.'\'',__LINE__,__FILE__); if ($GLOBALS['phpgw']->db->Error) echo "Erro"; else { $dirs=explode('/',$name); $GLOBALS['phpgw']->db->query('UPDATE phpgw_vfs SET owner_id = '.$owner.' WHERE directory = \'/'.$dirs[1].'\' and name=\''.$dirs[2].'\'',__LINE__,__FILE__); if ($GLOBALS['phpgw']->db->Error) echo "Erro"; else { echo lang('entry updated sucessfully'); } } return; } function update_quota(){ $GLOBALS['phpgw_info']['flags'] = array ( 'currentapp' => 'filemanager', 'noheader' => True, 'nonavbar' => True, 'nofooter' => True, 'noappheader' => True, 'enable_browser_class' => True ); $name = $GLOBALS['phpgw']->db->db_addslashes(base64_decode($_GET['dir'])); $size = ($_GET['val'])*1; /* See if quota exists or not */ $query = "SELECT count(directory) FROM phpgw_vfs_quota WHERE directory = '".$name."' LIMIT 1"; if ($GLOBALS['phpgw']->db->query($query) && $GLOBALS['phpgw']->db->next_record()) $val = $GLOBALS['phpgw']->db->row(); else { echo $GLOBALS['phpgw']->db->error; return false; } if ($val['count'] == '1') { $GLOBALS['phpgw']->db->query('UPDATE phpgw_vfs_quota SET quota_size = '.$size.' WHERE directory = \''.$name.'\'',__LINE__,__FILE__); if ($GLOBALS['phpgw']->db->Error) echo "Erro"; else echo lang('entry updated sucessfully'); } else { /*preferences does not exist*/ $query = "INSERT INTO phpgw_vfs_quota values ('".$name."',".$size.")"; if (!$GLOBALS['phpgw']->db->query($query)) echo $GLOBALS['phpgw']->db->error; else echo lang('entry updated sucessfully'); } return; } function load_quota(){ $GLOBALS['phpgw_info']['flags'] = array ( 'currentapp' => 'filemanager', 'noheader' => True, 'nonavbar' => True, 'nofooter' => True, 'noappheader' => True, 'enable_browser_class' => True ); $name = $GLOBALS['phpgw']->db->db_addslashes(base64_decode($_GET['name'])); $GLOBALS['phpgw']->db->query('SELECT quota_size FROM phpgw_vfs_quota WHERE directory = \''.$name.'\' LIMIT 1',__LINE__,__FILE__); $GLOBALS['phpgw']->db->next_record(); $val =$GLOBALS['phpgw']->db->row(); echo $val['quota_size']; return; } } ?>