function gde_import_profiles($data) { $success = 0; foreach ($data as $v) { $pid = gde_profile_name_exists($v['profile_name']); if ($pid !== -1) { // overwrite existing profile $prodata = array('', $v['profile_desc'], $v['profile_data']); if (gde_write_profile($prodata, $pid, true) > 0) { $success++; } else { gde_dx_log("failure importing to overwrite profile {$pid}"); } } else { // write as new profile $prodata = array($v['profile_name'], $v['profile_desc'], $v['profile_data']); if (gde_write_profile($prodata) > 0) { $success++; } else { gde_dx_log("failure importing to new profile"); } } } return $success; }
/** * Upgrade profiles if changes have been made * * @since 2.5.5.1 * @return void */ function update_profiles() { $prodata = gde_get_profiles(); $defpros = gde_defaults('profiles'); $default = $defpros['default']; foreach ($prodata as $profile) { $updated = false; $id = $profile['profile_id']; if ($data = @unserialize($profile['profile_data'])) { foreach ($default as $k => $v) { if ($k !== "desc" && !array_key_exists($k, $data)) { $data[$k] = $default[$k]; $updated = true; } } if ($updated) { // write updated profile $data = serialize($data); $newpro = array($profile['profile_name'], $profile['profile_desc'], $data); if (gde_write_profile($newpro, $id, true) < 1) { gde_dx_log("Failed to update profile '" . $profile['profile_name'] . "'"); } } } } }