文件操作 - class_session.php
返回文件管理
返回主菜单
删除本文件
文件: /usr/local/softaculous/lib/classes/ai/core/class_session.php
编辑文件内容
<?php if(!defined('SOFTACULOUS')){ die('Hacking Attempt'); } require_once(__DIR__ . '/class_ai_file_handler.php'); class AISession { public static function get_base_dir($username){ return AIFileHandler::get_ai_base_dir($username); } public static function get_session_key($username, $project_path){ return $username . '_' . substr(md5($project_path), 0, 16); } public static function get_session_file($username, $project_path){ return self::get_base_dir($username) . '/' . self::get_session_key($username, $project_path) . '.json.php'; } public static function load($username, $project_path){ $file = self::get_session_file($username, $project_path); return AIFileHandler::read($file); } public static function save($username, $project_path, array $data){ AIFileHandler::get_ai_base_dir($username); $file = self::get_session_file($username, $project_path); $data['username'] = $username; $data['project_path'] = $project_path; $data['updated_at'] = time(); if(empty($data['created_at'])) $data['created_at'] = time(); return AIFileHandler::write($file, $data); } public static function delete($username, $project_path){ $file = self::get_session_file($username, $project_path); return AIFileHandler::delete($file); } public static function get_conversations_dir($username, $project_path){ $dir = self::get_base_dir($username) . '/' . self::get_session_key($username, $project_path) . '_conversations'; AIFileHandler::ensure_dir($dir); return $dir; } public static function get_active_conversation_id($username, $project_path){ $session = self::load($username, $project_path); if(!empty($session['active_conversation'])) return $session['active_conversation']; $conv_id = 'conv_' . substr(md5(uniqid(mt_rand(), true)), 0, 12); $session = $session ? $session : array(); $session['active_conversation'] = $conv_id; self::save($username, $project_path, $session); return $conv_id; } public static function set_active_conversation($username, $project_path, $conv_id){ $session = self::load($username, $project_path); $session = $session ? $session : array(); $session['active_conversation'] = $conv_id; self::save($username, $project_path, $session); } }
修改文件时间
将文件时间修改为当前时间的前一年
删除文件