- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/file.php
- Класс: CFile
- Вызов: CFile::ChangeSubDir
static function ChangeSubDir($module_id, $old_subdir, $new_subdir)
{
global $DB;
if ($old_subdir!=$new_subdir)
{
$strSql = "
UPDATE b_file SET
SUBDIR = REPLACE(SUBDIR,'".$DB->ForSQL($old_subdir)."','".$DB->ForSQL($new_subdir)."'),
TIMESTAMP_X = ".$DB->GetNowFunction()."
WHERE MODULE_ID='".$DB->ForSQL($module_id)."'
";
if($rs = $DB->Query($strSql, false, __LINE__))
{
$from = "/".COption::GetOptionString("main", "upload_dir", "upload")."/".$old_subdir;
$to = "/".COption::GetOptionString("main", "upload_dir", "upload")."/".$new_subdir;
CopyDirFiles($_SERVER["DOCUMENT_ROOT"].$from, $_SERVER["DOCUMENT_ROOT"].$to, true, true, true);
//Reset All b_file cache
$cache = MainApplication::getInstance()->getManagedCache();
$cache->cleanDir(self::CACHE_DIR);
}
}
}