/** * удаление забытых аватар :) * @param array модули (path, table) */ function deletelost() { global $oDb; if (!func_num_args()) { return; } $i = 0; clearstatcache(); $modules = func_get_args(); foreach ($modules as $module) { $avatars = $oDb->select_one_column("SELECT (id || '_' || avatar) FROM \"{$module['table']}\" WHERE avatar!='' "); $avatars[] = 'default.gif'; $aFiles = CDir::getFiles($module['path'], false, false); foreach ($aFiles as $f) { if (!in_array($f, $avatars)) { $i++; @unlink($module['path'] . '/' . $f); } } } return $i; }
/** * удаление забытых скриншотов :) * @param array модули (path, table) */ function deletelost() { global $oDb; if (!func_num_args()) { return; } $i = 0; clearstatcache(); $modules = func_get_args(); foreach ($modules as $module) { $previews = $oDb->select_one_column('SELECT CONCAT(id, "_", ' . $this->fieldPreview . ') FROM ' . $module['table'] . ' WHERE ' . $this->fieldPreview . '!="" '); $previews[] = 'default.gif'; $aFiles = CDir::getFiles($module['path'], false, false); foreach ($aFiles as $f) { if (!in_array($f, $previews)) { $i++; @unlink($module['path'] . '/' . $f); } } } return $i; }
/** * удаление забытых вложений :) * @param string */ function _clearlost($aAttachments = array()) { $i = 0; clearstatcache(); $filesALL = CDir::getFiles($this->path, false, false); foreach ($filesALL as $file) { list($file, $size, $ext) = explode(';', $file); if (!in_array($file, $aAttachments)) { $i++; @unlink($this->path . $file); } } return $i; }