public function write($logId, $msg) { if (!array_key_exists($logId, $this->FILES)) { //При поступлении первой записи от логгера, ему присваивается номер внутри сессии. $num = count($this->FILES) + 1; $num = pad_left("{$num}", 2, '0'); $this->FILES[$logId] = array('path' => $this->sessionDM->absFilePath(null, "{$num}. {$logId}", 'txt'), 'trim' => true); } $doTrim = $this->FILES[$logId]['trim']; $logFilePath = $this->FILES[$logId]['path']; //Если мы делаем первую запись в файл, то сделаем trim(), чтобы логи не начинались с переносов строки if ($doTrim) { $msg = ltrim($msg); $doTrim = !$msg; $this->FILES[$logId]['trim'] = $doTrim; } /* * Начинаем запись. Стоит помнить, что файлы могли быть удалены во время работы. */ $date = date(DF_PS); if (!$doTrim) { //Если мы не продолжаем делать трим, значит нашли первое не пустое сообщение и нужно писать лог. $this->doAppend($logFilePath, $msg); } $this->doAppend($this->fileCommon, "[{$date}] {$logId}: {$msg}"); return $this->valid; }
public function addFileImg(DirItem $img) { AuthManager::checkAdminAccess(); //todo - НЕБЕЗОПАСНО! Разобраться с преобразованием картинок. Они портятся при перегонке формата $img->copyTo($this->DM->absFilePath(null, $img->getNameNoExt() . '_' . getRandomString(3), array_get_value(1, explode('/', $img->getMime())))); //SimpleImage::inst()->load($img)->save($this->DM->getDirItem(null, $img->getNameNoExt()), 'png')->close(); }