$d['ext'] = strtolower($match[1]); $files[] = $d; } } $ans['files'] = $files; } elseif ($type == 'takefile') { if ($submit) { $take = (bool) $_GET['take']; $ans['take'] = $take; $file = autoedit_theme($id); $file = Path::toutf($file); if (!$file) { $ans['noaction'] = true; //Собственно всё осталось как было } else { $takepath = autoedit_takepath($file); if (!$take && is_file($takepath)) { $r = @unlink($takepath); if (!$r) { return Ans::err($ans, 'Неудалось отпустить файл'); } } elseif ($take && !is_file($takepath)) { //Повторно захватывать не будем $save = array('path' => $id, 'date' => time(), 'ip' => $_SERVER['REMOTE_ADDR'], 'browser' => $_SERVER['HTTP_USER_AGENT']); $r = file_put_contents($takepath, Load::json_encode($save)); if (!$r) { return Ans::err('Неудалось захватить файл'); } } else { $ans['noaction'] = true; //Собственно всё осталось как было
function autoedit_ismytake($file) { $takepath = autoedit_takepath($file); $take = Load::loadJSON($takepath); if (!$take) { return true; } if ($take['ip'] != $_SERVER['REMOTE_ADDR'] || $take['browser'] != $_SERVER['HTTP_USER_AGENT']) { return false; } return true; }