/**
 * 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);
        }
    }
}
Beispiel #2
0
 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);
     }
 }