function WriteToLog($txt, $level) { $this->logLevel = IntVal(COption::GetOptionString("mail", "smtp_log_level", "4")); if ($this->logLevel < $level) { return; } if (MicroTime(true) - $this->startPeriodTimeTruncate > 600) { if ($this->logFile) { FClose($this->logFile); } $this->logFile = null; if (File_Exists($_SERVER["DOCUMENT_ROOT"] . $this->logFileName)) { $logSize = @FileSize($_SERVER["DOCUMENT_ROOT"] . $this->logFileName); $logSize = IntVal($logSize); if ($logSize > $this->logMaxSize) { if (($fp = @FOpen($_SERVER["DOCUMENT_ROOT"] . $this->logFileName, "rb")) && ($fp1 = @FOpen($_SERVER["DOCUMENT_ROOT"] . $this->logFileName . "_", "wb"))) { $iSeekLen = IntVal($logSize - $this->logMaxSize / 2.0); FSeek($fp, $iSeekLen); @FWrite($fp1, "Truncated " . Date("Y-m-d H:i:s") . "\n---------------------------------\n"); do { $data = FRead($fp, 8192); if (StrLen($data) == 0) { break; } @FWrite($fp1, $data); } while (true); @FClose($fp); @FClose($fp1); @Copy($_SERVER["DOCUMENT_ROOT"] . $this->logFileName . "_", $_SERVER["DOCUMENT_ROOT"] . $this->logFileName); @UnLink($_SERVER["DOCUMENT_ROOT"] . $this->logFileName . "_"); } } ClearStatCache(); } $this->startPeriodTimeTruncate = MicroTime(true); } if (!$this->logFile || $this->logFile == null) { $this->logFile = FOpen($_SERVER["DOCUMENT_ROOT"] . $this->logFileName, "a"); } if (!$this->logFile) { echo "Can't write to log\n---------------------------------\n"; return; } FWrite($this->logFile, Date("Y-m-d H:i:s") . "\t" . trim($txt) . "\n"); FFlush($this->logFile); //if ($level > 4) echo trim($txt) . "\n---------------------------------\n"; }
function RmDirR($xdir) { $d = dir($xdir); while ($entry = $d->read()) { if ($entry != "." && $entry != "..") { if (Is_Dir($xdir . "/" . $entry)) { RmDirR($xdir . "/" . $entry); } else { echo "Deleting {$xdir}/{$entry}<br>\n"; UnLink($xdir . "/" . $entry); } } } $d->close(); RmDir($xdir); }
private function delete_thumbnaildir() { $thumbnailsdir = SlideshowJedoGallery::thumbnails_slideshowjedogallery_path(); if (file_exists($thumbnailsdir)) { @chmod($thumbnailsdir, 0777); //삭제하려는 폴더의 퍼미션을 777로 재 지정 $directory = dir($thumbnailsdir); while ($entry = $directory->read()) { if ($entry != "." && $entry != "..") { if (is_dir($thumbnailsdir . "/" . $entry)) { //삭제하려는 폴더안에 서브 폴더가 있을경우 재루프 delete_dir($thumbnailsdir . "/" . $entry); } else { @chmod($thumbnailsdir . "/" . $entry, 0777); //삭제하려는 폴더안에 파일일 경우 파일 퍼미션을 777로 재지정 @UnLink($thumbnailsdir . "/" . $entry); } } } $directory->close(); @rmdir($thumbnailsdir); } return false; }
function HTMLDoc_CreatePDF($ModeID, $HTML, $Prefix = '/') { /****************************************************************************/ $__args_types = array('string', 'string,object', 'string'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ if (Is_Object($HTML)) { #--------------------------------------------------------------------------- $Tables = $HTML->GetByTagName('TABLE'); #--------------------------------------------------------------------------- for ($i = 0; $i < Count($Tables); $i++) { #------------------------------------------------------------------------- $Table =& $Tables[$i]; #------------------------------------------------------------------------- switch (@$Table->Attribs['class']) { case 'Standard': $Table->AddAttribs(array('border' => 2, 'cellspacing' => 0, 'cellpadding' => 5), TRUE); break; default: # No more... } } #--------------------------------------------------------------------------- $Tds = $HTML->GetByTagName('TD'); #--------------------------------------------------------------------------- for ($i = 0; $i < Count($Tds); $i++) { #------------------------------------------------------------------------- $Td =& $Tds[$i]; #------------------------------------------------------------------------- switch (@$Td->Attribs['class']) { case 'Head': $Td->AddAttribs(array('bgcolor' => '#ADC1F0'), TRUE); break; case 'Separator': $Td->AddAttribs(array('bgcolor' => '#EAEAEA'), TRUE); break; default: # No more... } } #--------------------------------------------------------------------------- $Imgs = $HTML->GetByTagName('IMG'); #--------------------------------------------------------------------------- for ($i = 0; $i < Count($Imgs); $i++) { #------------------------------------------------------------------------- $Img =& $Imgs[$i]; #------------------------------------------------------------------------- $Img->AddAttribs(array('src' => SPrintF('%s/%s', $Prefix, $Img->Attribs['src'])), TRUE); } #--------------------------------------------------------------------------- $HTML = $HTML->Build(); } #----------------------------------------------------------------------------- $Config = Config(); #----------------------------------------------------------------------------- $Settings = $Config['HTMLDOC']; #----------------------------------------------------------------------------- $Modes = $Settings['Modes']; #----------------------------------------------------------------------------- $Mode = isset($Modes[$ModeID]) ? $Modes[$ModeID] : $ModeID; #----------------------------------------------------------------------------- $Tmp = System_Element('tmp'); if (Is_Error($Tmp)) { return ERROR | @Trigger_Error('[HTMLDoc_CreatePDF]: временная папка не найдена'); } #----------------------------------------------------------------------------- $Logs = SPrintF('%s/logs', $Tmp); #----------------------------------------------------------------------------- if (!File_Exists($Logs)) { #--------------------------------------------------------------------------- if (!@MkDir($Logs, 0777, TRUE)) { return ERROR | @Trigger_Error(500); } } #----------------------------------------------------------------------------- $HTML = @Mb_Convert_Encoding($HTML, $Settings['ConvertToCharset']); if (!$HTML) { return ERROR | @Trigger_Error('[HTMLDoc_CreatePDF]: не удалось преобразовать кодировку'); } #----------------------------------------------------------------------------- $UniqID = UniqID('HTMLDOC'); #----------------------------------------------------------------------------- $File = IO_Write($Path = SPrintF('%s/%s', $Tmp, $UniqID), $HTML); Debug($File); if (Is_Error($File)) { return ERROR | @Trigger_Error('[HTMLDoc_CreatePDF]: не удалось создать временный файл'); } #----------------------------------------------------------------------------- $Command = SPrintF('htmldoc %s %s', $Mode, $Path); #----------------------------------------------------------------------------- Debug($Command); #----------------------------------------------------------------------------- if (!PutENV('HTMLDOC_NOCGI=1')) { return ERROR | @Trigger_Error('[HTMLDoc_CreatePDF]: не удалось установить переменную окружения HTMLDOC_NOCGI'); } #----------------------------------------------------------------------------- $HTMLDOC = @Proc_Open($Command, array(array('pipe', 'r'), array('pipe', 'w'), array('file', $Log = SPrintF('%s/HTMLDOC.log', $Logs), 'a')), $Pipes); if (!Is_Resource($HTMLDOC)) { return ERROR | @Trigger_Error('[HTMLDoc_CreatePDF]: не удалось открыть процесс'); } #----------------------------------------------------------------------------- $StdOut =& $Pipes[1]; #----------------------------------------------------------------------------- $Result = ''; #----------------------------------------------------------------------------- while (!Feof($StdOut)) { $Result .= FRead($StdOut, 1024); } #----------------------------------------------------------------------------- Proc_Close($HTMLDOC); #----------------------------------------------------------------------------- if (!UnLink($Path)) { return ERROR | @Trigger_Error('[HTMLDoc_CreatePDF]: не удалось удалить временный файл'); } #----------------------------------------------------------------------------- if (!$Result) { return ERROR | @Trigger_Error(SPrintF('[HTMLDoc_CreatePDF]: ошибка формирования PDF, смотрите (%s)', $Log)); } #----------------------------------------------------------------------------- return $Result; }
function zRmDir($path) { $directory = dir($path); while ($entry = $directory->read()) { if ($entry != "." && $entry != "..") { if (Is_Dir($path . "/" . $entry)) { zRmDir($path . "/" . $entry); } else { @UnLink($path . "/" . $entry); } } } $directory->close(); @RmDir($path); }
#------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- if (File_Exists(SPrintF('%s/WhatsApp', $Tmp))) { #------------------------------------------------------------------------------- if (Is_Error(IO_RmDir(SPrintF('%s///WhatsApp', $Tmp)))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- echo SPrintF("Очистка временной директории WhatsApp\n"); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (File_Exists($MyCnf)) { UnLink($MyCnf); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $IsUpdate = DB_Update('Config', array('Value' => 'TRUE'), array('Where' => "`Param` = 'IsInitDB'")); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $IsFlush = CacheManager::flush(); if (!$IsFlush) { @Trigger_Error(500); } #------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- foreach ($Files as $File) { #------------------------------------------------------------------------------- if ($File == 'names.txt') { continue; } #------------------------------------------------------------------------------- $Path = SPrintF('%s/%s', $Uploads, $File); #------------------------------------------------------------------------------- if (Time() - FileMTime($Path) > 600) { #------------------------------------------------------------------------------- if (isset($Names[$File])) { unset($Names[$File]); } #------------------------------------------------------------------------------- if (!UnLink($Path)) { return ERROR | @Trigger_Error(SPrintF('Не удалось удалить файл (%s)', $Path)); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- $IsWrite = IO_Write($NamesPath, JSON_Encode($Names), TRUE); if (Is_Error($IsWrite)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return $Hash; #-------------------------------------------------------------------------------
function DeleteUploadedFile($Table, $ID) { #------------------------------------------------------------------------------- $Path = GetFilePath($Table, $ID); #------------------------------------------------------------------------------- if (File_Exists($Path['FilePath'])) { #------------------------------------------------------------------------------- Debug(SPrintF('[system/libs/Upload]: delete file: %s', $Path['FilePath'])); #------------------------------------------------------------------------------- if (!UnLink($Path['FilePath'])) { return new gException('CANNOT_DELETE_FILE', SPrintF('Не удалось удалить файл: %s', $File['FilePath'])); } #------------------------------------------------------------------------------- @RmDir($Path['FileDir']); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- return TRUE; #------------------------------------------------------------------------------- }
<?php #------------------------------------------------------------------------------- $Path = SPrintF('%s/%s/Images/LogoMono.bmp', SYSTEM_PATH, HOST_ID); #------------------------------------------------------------------------------- if (File_Exists($Path)) { #----------------------------------------------------------------------------- if (!Copy($Path, SPrintF('%s/%s/Images/Logo.bmp', SYSTEM_PATH, HOST_ID))) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------------------- UnLink($Path); } #------------------------------------------------------------------------------- return TRUE; #-------------------------------------------------------------------------------
#----------------------------------------------------------------- $ImageMagick = @Proc_Open($Command, array(array('pipe', 'r'), array('pipe', 'w'), array('file', SPrintF('%s/logs/ImageMagic.log', $Tmp), 'a')), $Pipes); if (!Is_Resource($ImageMagick)) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------- Proc_Close($ImageMagick); #----------------------------------------------------------------- UnLink($PDF); #----------------------------------------------------------------- $File = IO_Read($Tiff); if (Is_Error($File)) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------- UnLink($Tiff); #----------------------------------------------------------------- $Extension = 'tiff'; } else { $Extension = 'pdf'; } #------------------------------------------------------------------- $Length = MB_StrLen($File, 'ASCII'); #------------------------------------------------------------------- $Comp = Comp_Load('Formats/Invoice/Number', $Invoice['ID']); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------- if (!$IsNoHeaders) { #-------------------------------------------------------------------
$Path = SPrintF('%s/sessions', $Tmp); #------------------------------------------------------------------------------- if (File_Exists($Path)) { #------------------------------------------------------------------------------- $SessionIDsIDs = IO_Scan($Path); if (Is_Error($SessionIDsIDs)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- foreach ($SessionIDsIDs as $SessionID) { #------------------------------------------------------------------------------- if (@$_COOKIE['SessionID'] != $SessionID) { #------------------------------------------------------------------------------- if (Preg_Match(SPrintF('/^(REMEBMER|SESSION)%s/', MD5($UserID)), $SessionID)) { #------------------------------------------------------------------------------- if (!@UnLink(SPrintF('%s/%s', $Path, $SessionID))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return array('Status' => 'Ok'); #------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
<?php #------------------------------------------------------------------------------- $Path = SPrintF('%s/styles/%s/Images', SYSTEM_PATH, HOST_ID); #------------------------------------------------------------------------------- $Sign = SPrintF('%s/Sign.bmp', $Path); #------------------------------------------------------------------------------- if (!File_Exists($Sign)) { return TRUE; } #------------------------------------------------------------------------------- if (!@Copy($Sign, SPrintF('%s/dSign.bmp', $Path))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- if (!@Copy($Sign, SPrintF('%s/aSign.bmp', $Path))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- if (!@UnLink($Sign)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- return TRUE; #-------------------------------------------------------------------------------
public function Delete() { #----------------------------------------------------------------------------- $SessionID = $this->SessionID; #----------------------------------------------------------------------------- if (!$SessionID) { return ERROR | @Trigger_Error('[Session->Delete]: пустой идентификатор сессии'); } #----------------------------------------------------------------------------- $Tmp = System_Element('tmp'); if (Is_Error($Tmp)) { return ERROR | @Trigger_Error('[Session->Delete]: не удалось найти временную папку'); } #----------------------------------------------------------------------------- if (!UnLink(SPrintF('%s/sessions/%s', $Tmp, $SessionID))) { return ERROR | @Trigger_Error('[Session->Delete]: не удалось удалить файл сессии'); } #----------------------------------------------------------------------------- return TRUE; }
function IO_RmDir($Folder) { #------------------------------------------------------------------------------- $Folder = Preg_Replace('/\\/{2,}/', '/', rTrim($Folder, '/')); #------------------------------------------------------------------------------- if (StrPos(SPrintF('/%s/', $Folder), SYSTEM_PATH) === FALSE) { return ERROR | @Trigger_Error(SPrintF('[IO_RmDir]: ошибка безопасности при удалении (%s)', $Folder)); } #------------------------------------------------------------------------------- $Entities = IO_Scan($Folder, FALSE); if (Is_Error($Entities)) { return ERROR | @Trigger_Error('[IO_RmDir]: не удалось получить содержимое папки'); } #------------------------------------------------------------------------------- if (Count($Entities)) { #------------------------------------------------------------------------------- foreach ($Entities as $Entity) { #------------------------------------------------------------------------------- $Entity = SPrintF('%s/%s', $Folder, $Entity); #------------------------------------------------------------------------------- if (Is_Dir($Entity)) { #------------------------------------------------------------------------------- if (Is_Error(IO_RmDir($Entity))) { return ERROR | @Trigger_Error(SPrintF('[IO_RmDir]: ошибка рекурсивного вызова при удалении (%s)', $Entity)); } #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- if (!UnLink($Entity)) { return ERROR | @Trigger_Error(SPrintF('[IO_RmDir]: ошибка при удалении файла (%s)', $Entity)); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- if (!@RmDir($Folder)) { return ERROR | @Trigger_Error(SPrintF('[IO_RmDir]: ошибка при удалении директории (%s)', $Folder)); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return TRUE; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- }
if (Is_Error($Files)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- foreach ($Files as $File) { #------------------------------------------------------------------------------- $Path = SPrintF('%s/%s', $Sessions, $File); #------------------------------------------------------------------------------- if (Preg_Match('/^REMEBMER/', $File) && Time() - FileMTime($Path) < 24 * 3600 * $Params['Sessions']['RememberTTL']) { continue; } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (Time() - FileMTime($Path) > $Params['Sessions']['SessionTTL']) { #------------------------------------------------------------------------------- if (UnLink($Path)) { #------------------------------------------------------------------------------- $Count++; #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- return ERROR | @Trigger_Error(SPrintF('[comp/Tasks/Sessions]: не удалось удалить файл сессии (%s)', $Path)); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #-------------------------------------------------------------------------------
function __Error_Handler__($Number, $Error, $File, $Line) { #------------------------------------------------------------------------------- $Message = SPrintF('[!!%s]-%s в линии %s файла %s', $Number, $Error, $Line, $File); #------------------------------------------------------------------------------- $__ERR_CODE =& $GLOBALS['__ERR_CODE']; #------------------------------------------------------------------------------- if ((int) $Error && $__ERR_CODE == 100) { $__ERR_CODE = $Error; } #------------------------------------------------------------------------------- Debug(SPrintF('[!] %s', $Message)); //Debug(SPrintF('[!] %s',debug_print_backtrace())); #------------------------------------------------------------------------------- //Error_Reporting(E_ALL); #------------------------------------------------------------------------------- if (Error_Reporting()) { #------------------------------------------------------------------------------- $JBsErrorID = SPrintF('%s[%s]', HOST_ID, Md5(Implode(':', array($Number, $Error, $Line, $File)))); #------------------------------------------------------------------------------- $__SYSLOG =& $GLOBALS['__SYSLOG']; #------------------------------------------------------------------------------- $Log = Implode("\n", $__SYSLOG); #------------------------------------------------------------------------------- Report($JBsErrorID, $JBsErrorID); #------------------------------------------------------------------------------- foreach (array(SYSTEM_PATH, '/tmp') as $Folder) { #------------------------------------------------------------------------------- $Path = SPrintF('%s/jbs-errors.log', $Folder); #------------------------------------------------------------------------------- if (File_Exists($Path)) { if (FileSize($Path) > 1024 * 1024) { UnLink($Path); } } #------------------------------------------------------------------------------- umask(077); #------------------------------------------------------------------------------- if (!@File_Put_Contents($Path, SPrintF("%s\n\n%s\n\n", $JBsErrorID, $Log), FILE_APPEND)) { #------------------------------------------------------------------------------- Debug(SPrintF('[__Error_Handler__]: не удалось осуществить запись ошибки в системный лог (%s)', $Path)); #------------------------------------------------------------------------------- continue; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- if (File_Exists(SPrintF('%s/DEBUG.OUT', SYSTEM_PATH)) || !isset($_SERVER["REMOTE_PORT"])) { #------------------------------------------------------------------------------- exit($Log); } else { #------------------------------------------------------------------------------- $Errors = array(100 => 'Ошибка выполнения', 101 => 'Неизвестный результат', 201 => 'Неверные параметры', 400 => 'Ошибка данных', 500 => 'Системная ошибка', 600 => 'Ошибка политики безопасности', 601 => 'Неверный реферер', 602 => 'Отсутствует реферер', 603 => 'Неверный ключ CSRF', 700 => 'Нарушение политики прав'); #------------------------------------------------------------------------------- $FilePath = SPrintF('%s/hosts/root/templates/modules/Trigger.Error.html', SYSTEM_PATH); #------------------------------------------------------------------------------- if (Is_Readable($FilePath)) { #------------------------------------------------------------------------------- $Result = @File_Get_Contents($FilePath); #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- $Result = SPrintF("Cannot read error file: %s<BR />\nError: %%s<BR />\n<!--%%s-->\nErrorID: %%s\n<!--%%s-->", $FilePath); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- $String = SPrintF('%s (%s)', $Errors[$__ERR_CODE], $__ERR_CODE); #------------------------------------------------------------------------------- @Header(SPrintF('JBs-ErrorID: %s', $JBsErrorID)); #------------------------------------------------------------------------------- if (isset($_POST['XMLHttpRequest'])) { #------------------------------------------------------------------------------- $Answer = array('Error' => array('CodeID' => $__ERR_CODE, 'String' => $String), 'Status' => 'Error'); #------------------------------------------------------------------------------- exit(JSON_Encode($Answer)); #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- exit(SPrintF($Result, $String, $String, $JBsErrorID, Date('Y', Time()))); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- }
} } if (isset($_POST['uploadfile']) && is_uploaded_file($_FILES['attachment']['tmp_name']) && is_numeric($_POST['caseid']) && is_numeric($_POST['secret'])) { auditTrail(3, 4, $_POST['caseid']); $newname = Time() . MD5(uniqid(Time() . Rand())); move_uploaded_file($_FILES['attachment']['tmp_name'], './files/' . $newname); $sql = "INSERT INTO " . DB_PREFIX . "data VALUES('','" . $newname . "','" . mysql_real_escape_string($_FILES['attachment']['name']) . "','" . mysql_real_escape_string($_FILES['attachment']['type']) . "','" . $_FILES['attachment']['size'] . "','" . Time() . "','" . $usrinfo['id'] . "','3','" . $_POST['caseid'] . "','" . $_POST['secret'] . "')"; MySQL_Query($sql); if (!isset($_POST['fnotnew'])) { unreadRecords(3, $_POST['caseid']); } Header('Location: ' . $_POST['backurl']); } else { if (isset($_POST['uploadfile'])) { pageStart('Přiložení souboru'); mainMenu(4); sparklets('<a href="./cases.php">případy</a> » <a href="./editcase.php?rid=' . $_POST['caseid'] . '">úprava případu</a> » <strong>přiložení souboru neúspěšné</strong>'); echo '<div id="obsah"><p>Soubor nebyl přiložen, něco se nepodařilo. Možná nebyl zvolen přikládaný soubor.</p></div>'; pageEnd(); } } if (isset($_GET['deletefile']) && is_numeric($_GET['deletefile'])) { auditTrail(3, 5, $_GET['caseid']); if ($usrinfo['right_text']) { $fres = MySQL_Query("SELECT uniquename FROM " . DB_PREFIX . "data WHERE " . DB_PREFIX . "data.id=" . $_GET['deletefile']); $frec = MySQL_Fetch_Assoc($fres); UnLink('./files/' . $frec['uniquename']); MySQL_Query("DELETE FROM " . DB_PREFIX . "data WHERE " . DB_PREFIX . "data.id=" . $_GET['deletefile']); } Header('Location: editcase.php?rid=' . $_GET['caseid']); }
#--------------------------------------------------------------------- $Text = (string) $Replace[$LinkID]; #--------------------------------------------------------------------- $Out = Str_Replace(SPrintF('%%%s%%', $LinkID), $Text ? $Text : '-', $Out); } #----------------------------------------------------------------------- $PDF = HTMLDoc_CreatePDF('Envelope', $Out); #----------------------------------------------------------------------- switch (ValueOf($PDF)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return ERROR | @Trigger_Error(400); case 'string': #------------------------------------------------------------------- UnLink($Image); #------------------------------------------------------------------- $Tmp = System_Element('tmp'); if (Is_Error($Tmp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------- $File = SPrintF('Envelope%s.pdf', Md5($_SERVER['REMOTE_ADDR'])); #------------------------------------------------------------------- $IsWrite = IO_Write(SPrintF('%s/files/%s', $Tmp, $File), $PDF, TRUE); if (Is_Error($IsWrite)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------- return array('Status' => 'Ok', 'Location' => SPrintF('/GetTemp?File=%s&Name=Envelope.pdf&Mime=application/pdf', $File)); default:
case 'Ok': #------------------------------------------------------------------------------- if (isset($Answer['Deleted'])) { #------------------------------------------------------------------------------- foreach ($Answer['Deleted'] as $Deleted) { #------------------------------------------------------------------------------- echo SPrintF("Удаление файла (%s)\n", $Deleted); #------------------------------------------------------------------------------- $File = SPrintF('%s/%s', SYSTEM_PATH, $Deleted); #------------------------------------------------------------------------------- if (!Is_Writable($File)) { return SPrintF("ERROR: недостаточно прав на удаление файла (%s)\n", $File); } #------------------------------------------------------------------------------- if ($Commit) { if (!@UnLink($File)) { return SPrintF("ERROR: не возможно удалить файл (%s)\n", $File); } } #------------------------------------------------------------------------------- $Dir = DirName($File); #------------------------------------------------------------------------------- $Files = IO_Scan($Dir); if (Is_Error($Files)) { return SPrintF("---\n%s\n---\n", Implode("\n", Array_Slice($__SYSLOG, Count($__SYSLOG) - 20))); } #------------------------------------------------------------------------------- if (!Count($Files)) { #------------------------------------------------------------------------------- echo SPrintF("Удаление директории (%s)\n", $Dir); #-------------------------------------------------------------------------------
<?php #------------------------------------------------------------------------------- $Folder = $_SERVER['DOCUMENT_ROOT']; #------------------------------------------------------------------------------- $Link = SPrintF('%s/styles', $Folder); #------------------------------------------------------------------------------- if (!File_Exists($Link)) { #----------------------------------------------------------------------------- if (!SymLink(SPrintF('%s/styles', SYSTEM_PATH), $Link)) { return ERROR | @Trigger_Error(500); } } #------------------------------------------------------------------------------- $HtAccess = IO_Read(SPrintF('%s/.htaccess', $Folder)); if (Is_Error($HtAccess)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $HtAccess = Str_Replace('Styles', 'styles', $HtAccess); #------------------------------------------------------------------------------- $IsWrite = IO_Write(SPrintF('%s/.htaccess', $Folder), $HtAccess, TRUE); if (Is_Error($IsWrite)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- @UnLink(SPrintF('%s/Styles', $Folder)); #------------------------------------------------------------------------------- return TRUE; #-------------------------------------------------------------------------------
/******************************************************************************/ /******************************************************************************/ $Tmp = System_Element('tmp'); if (Is_Error($Tmp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Folder = SPrintF('%s/files', $Tmp); #------------------------------------------------------------------------------- if (File_Exists($Folder)) { #----------------------------------------------------------------------------- $Files = IO_Scan($Folder); if (Is_Error($Files)) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------------------- foreach ($Files as $File) { #--------------------------------------------------------------------------- $Path = SPrintF('%s/%s', $Folder, $File); #--------------------------------------------------------------------------- if (Time() - FileMTime($Path) > 86400) { #------------------------------------------------------------------------- if (!@UnLink($Path)) { return ERROR | @Trigger_Error(SPrintF('[comp/Tasks/Temp]: не удалось удалить файл (%s)', $Path)); } } } } #------------------------------------------------------------------------------- return 86400; #-------------------------------------------------------------------------------
function Image_Resize($Source, $Width, $Height) { /****************************************************************************/ $__args_types = array('string', 'integer'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ if (!Function_Exists('ImageCreateFromString')) { return ERROR | Trigger_Error('[Image_Resize]: модуль работы с изображениями не установлен'); } #----------------------------------------------------------------------------- $Real = @ImageCreateFromString($Source); if (!Is_Resource($Real)) { return ERROR | @Trigger_Error("[Image_Resize]: не возможно создать изображение"); } #----------------------------------------------------------------------------- if (Function_Exists('imageantialias')) { ImageAntiAlias($Real, TRUE); } #----------------------------------------------------------------------------- $Result = ImageCreateTrueColor($Width, $Height); if (!$Result) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось создать пустое изображение'); } #----------------------------------------------------------------------------- $White = ImageColorAllocate($Result, 230, 230, 230); #----------------------------------------------------------------------------- if (!ImageFill($Result, 0, 0, $White)) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось закрасить изображение'); } #----------------------------------------------------------------------------- $Sx = @ImageSx($Real); if (!$Sx) { return ERROR | @Trigger_Error("[Image_Resize]: не возможно получить ширину изображения"); } #----------------------------------------------------------------------------- $Sy = @ImageSy($Real); if (!$Sy) { return ERROR | @Trigger_Error("[Image_Resize]: не возможно получить высоту изображения"); } #----------------------------------------------------------------------------- $Folder = System_Element('tmp'); if (Is_Error($Folder)) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось найти временную папку'); } #----------------------------------------------------------------------------- if ($Width < $Sx || $Height < $Sy) { #--------------------------------------------------------------------------- $HW = $Sy / $Sx; $WH = $Sx / $Sy; #--------------------------------------------------------------------------- $WNew = $Width; $HNew = $Height; #--------------------------------------------------------------------------- if ($Sx < $Sy) { $HNew = (int) ($WNew * $HW); } else { $WNew = (int) ($HNew * $WH); } #--------------------------------------------------------------------------- if (!Preg_Match('/no\\sconvert/', Exec('which convert'))) { #------------------------------------------------------------------------- $File = SPrintF('%s/%s', $Folder, UniqID('Image')); #------------------------------------------------------------------------- if (!ImageJpeg($Real, $File, 100)) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось сохранить временное изображение'); } #------------------------------------------------------------------------- $Command = SPrintF('convert %s -thumbnail %ux%u^ -gravity North -extent %ux%u %s', $File, $Width, $Height, $Width, $Height, $File); #------------------------------------------------------------------------- Debug($Command); #------------------------------------------------------------------------- if (Exec($Command, $Log)) { return ERROR | @Trigger_Error(SPrintF("[Image_Resize]: ошибка выполнения команды:\n%s", Implode("\n", $Log))); } #------------------------------------------------------------------------- $Result = IO_Read($File); if (Is_Error($Result)) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось прочитать изображение'); } #------------------------------------------------------------------------- if (!UnLink($File)) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось удалить временный файл'); } #------------------------------------------------------------------------- return $Result; } else { #------------------------------------------------------------------------- if (!ImageCopyResized($Result, $Real, 0, 0, 0, 0, $WNew, $HNew, $Sx, $Sy)) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось уменьшить изображение'); } } } else { #--------------------------------------------------------------------------- if (!ImageCopy($Result, $Real, ($Width - $Sx) / 2, ($Height - $Sy) / 2, 0, 0, $Sx, $Sy)) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось уменьшить изображение'); } } #----------------------------------------------------------------------------- $File = SPrintF('%s/%s', $Folder, UniqID('Image')); #----------------------------------------------------------------------------- if (!ImageJpeg($Result, $File, 95)) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось сохранить временное изображение'); } #----------------------------------------------------------------------------- if (!ImageDestroy($Result)) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось освободить ресурс изображения'); } #----------------------------------------------------------------------------- $Result = IO_Read($File); if (Is_Error($Result)) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось прочитать изображение'); } #----------------------------------------------------------------------------- if (!UnLink($File)) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось удалить временный файл'); } #----------------------------------------------------------------------------- return $Result; }