/** * Created by PhpStorm. * User: wb-liuyuguang * Date: 14-7-31 * Time: 下午1:30 */ function create_map_file_folder($Folder) { if (!is_readable($Folder)) { create_map_file_folder(dirname($Folder)); if (!is_file($Folder)) { mkdir($Folder, 0777); } } }
function update_version_acra_option($p_event, $p_arr) { if (isset($p_arr)) { if ($_FILES['map_file']['error'] > 0) { trigger_error(ERROR_PLUGIN_GENERIC, E_USER_ERROR); } $t_ver_data = version_get($p_arr); $t_acra_prj_table = plugin_table("project"); $query = "SELECT * FROM {$t_acra_prj_table} WHERE project_id = " . $t_ver_data->project_id . " LIMIT 0,1"; $result = db_query_bound($query); $result = db_fetch_array($result); $t_package_name = ""; if ($result !== false && is_array($result)) { $t_package_name = $result['package_name']; } if (strlen($t_package_name) === 0) { trigger_error(ERROR_PLUGIN_GENERIC, E_USER_ERROR); } $t_map_name = array('upload', 'acra', $t_package_name, date("Y")); $file_name = str_ireplace('manage_proj_ver_update.php', '', $_SERVER['SCRIPT_FILENAME']); $file_name = $file_name . implode(DIRECTORY_SEPARATOR, $t_map_name); create_map_file_folder($file_name); $t_ver_name = preg_replace("^[ ?/\\\\]{1}^is", "_", $t_ver_data->version) . '.map'; $file_name = $file_name . DIRECTORY_SEPARATOR . $t_ver_name; handle_mapping_file($_FILES['map_file']['tmp_name'], $file_name); $t_acra_ver_table = plugin_table("version"); $query = "SELECT * FROM {$t_acra_ver_table} WHERE `version_id` = " . $p_arr . " LIMIT 0,1"; $result = db_query_bound($query); $rows = $result->RowCount(); $map = mysql_real_escape_string($file_name); if ($rows === 0) { $query = "INSERT INTO {$t_acra_ver_table} (`id`, `version_id`, `map_file`) VALUES (NULL, '{$p_arr}', '{$map}'); "; } else { $query = "UPDATE {$t_acra_ver_table} SET `map_file` = '{$map}' WHERE `version_id` = {$p_arr}; "; } db_query_bound($query); //update the title of bugs update_bug_summary_by_version($t_ver_data->version, $file_name); } }