break; case 'take_delete': require SERVER_ROOT . '/sections/collages/take_delete.php'; break; case 'comments': require SERVER_ROOT . '/sections/collages/all_comments.php'; break; case 'download': require SERVER_ROOT . '/sections/collages/download.php'; break; case 'recover': //if (!check_perms('')) { // error(403); //} require SERVER_ROOT . '/sections/collages/recover.php'; break; case 'create_personal': if (!check_perms('site_collages_personal')) { error(403); } else { Collages::create_personal_collage(); } break; default: if (!empty($_GET['id'])) { require SERVER_ROOT . '/sections/collages/collage.php'; } else { require SERVER_ROOT . '/sections/collages/browse.php'; } break; }
<?php // perform the back end of subscribing to collages authorize(); if (!is_number($_GET['collageid'])) { error(0); } $CollageID = (int) $_GET['collageid']; if (!($UserSubscriptions = $Cache->get_value('collage_subs_user_' . $LoggedUser['ID']))) { $DB->query(' SELECT CollageID FROM users_collage_subs WHERE UserID = ' . db_string($LoggedUser['ID'])); $UserSubscriptions = $DB->collect(0); $Cache->cache_value('collage_subs_user_' . $LoggedUser['ID'], $UserSubscriptions, 0); } if (($Key = array_search($CollageID, $UserSubscriptions)) !== false) { $DB->query(' DELETE FROM users_collage_subs WHERE UserID = ' . db_string($LoggedUser['ID']) . "\n\t\t\tAND CollageID = {$CollageID}"); unset($UserSubscriptions[$Key]); Collages::decrease_subscriptions($CollageID); } else { $DB->query("\n\t\tINSERT IGNORE INTO users_collage_subs\n\t\t\t(UserID, CollageID, LastVisit)\n\t\tVALUES\n\t\t\t({$LoggedUser['ID']}, {$CollageID}, NOW())"); array_push($UserSubscriptions, $CollageID); Collages::increase_subscriptions($CollageID); } $Cache->replace_value('collage_subs_user_' . $LoggedUser['ID'], $UserSubscriptions, 0); $Cache->delete_value('collage_subs_user_new_' . $LoggedUser['ID']); $Cache->delete_value("collage_{$CollageID}");