case 'save': $content = SLAM_saveAssetEdits($config, $db, $user, $request); break; case 'delete': $content = SLAM_deleteAssets($config, $db, $user, $request); break; case 'search': $result = SLAM_loadSearchResults($config, $db, $user, $request); break; case 'tag': $request->location = 'dash'; $content = SLAM_saveAssetTags($config, $db, $user, $request); break; case 'untag': $request->location = 'dash'; $content = SLAM_dropAssetTags($config, $db, $user, $request); break; default: break; } /* determine and/or set the current state (location) of the user */ switch ($request->location) { case 'none': break; case 'list': if (!$result) { $result = new SLAMresult($config, $db, $user, $request); } if (!$content) { $content .= SLAM_makeSearchBoxHTML($config, $db, $user, $request, $result); $content .= SLAM_makeAssetListHTML($config, $db, $user, $request, $result);
function SLAM_deleteAssets(&$config, $db, &$user, &$request) { /* Drops the records specified in request */ $result = new SLAMresult($config, $db, $user, $request); /* drop them from the user's prefs first */ SLAM_dropAssetTags($config, $db, &$user, $request); /* iterate through the categories and assets to be dropped */ foreach ($result->assets as $category => $assets) { foreach ($assets as $i => $asset) { if (SLAM_getAssetAccess($user, $asset) > 1) { $q = "UPDATE `{$category}` SET `Removed`='1' WHERE `Identifier`='{$asset['Identifier']}' LIMIT 1"; } else { return SLAM_makeErrorHTML('Authentication error: You are not authorized to remove this asset.', true); } /* attempt to run the query */ if (($result = $db->Query($q)) === false) { return SLAM_makeErrorHTML('Database error: asset removal failure: ' . $db->ErrorState(), true); } /* remove from the request as well (mainly to remove from the breadcrumb trail) */ unset($request->categories[$category][$i]); } } # returns nothing on success (maybe a status message in the future?) return ''; }