示例#1
0
     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 '';
}