} if ($continue === true) { $javascript = '<script>$( document ).ready( function(){ cb_confirm( "' . $heading . '","' . $body . '",function(){ window.location="' . $url . '" }) } )</script>'; register_anchor($javascript, 'cb_head'); } } } } if ($confirm == 2) { $subscribe = get('subscribe'); $unsubscribe = get('unsubscribe'); if ($subscribe || $unsubscribe) { $sub_id = get('owner'); $sub = get_user_details($sub_id); if ($sub) { $is_subscribed = is_user_subscribed($sub['userid']); if ($subscribe and !$is_subscribed) { subscribe_user($sub_id); } else { if ($unsubscribe and $is_subscribed) { unsubscribe_user($sub_id); } } if (!error()) { $success = true; } if ($success) { redirect_to(BASEURL . '/manage_subscriptions.php'); } } }
/** * Performs subscribing or unsubscribing actions for subscription content * * @author Fawaz Tahir <*****@*****.**> * @param type $type * @param type $owner * @param type $action * @param type $userid * @return boolean */ function do_user_content_subscriptions($type, $owner, $action, $userid = null) { $action = strtolower($action); if (!$action or $action != 'check' and $action != 'uncheck') { e(lang('Invalid action provided')); return false; } $types = get_subscription_types(); if (!$type or !isset($types[$type])) { e(lang('Invalid subscription type provided')); return false; } if ($subscription = is_user_subscribed($owner, $userid)) { $subscribed_content = $subscription['subscribed_content']; if ($subscribed_content) { $subscribed_content = json_decode($subscription['subscribed_content'], true); } if ($action == 'uncheck') { $total_subscribed_content = count($subscribed_content); if ($total_subscribed_content == 1) { $allowed_subs = get_user_profile_field($owner, 'allow_subscription'); if ($allowed_subs == 'no') { $message = " title = '" . sprintf('%s has disabled subscription. If you unsubscribe now, you would not be able to subscribe again.', lang('User')) . "' rel='tooltip' "; } e(lang('You must at-least subscribe to 1 object. Please <a href="manage_subscriptions.php?unsubscribe=' . $subscription['subscription_id'] . '&owner=' . $owner . '&confirm=1"' . $message . '>unsubscribe</a> user, if you are not intertested in anyone')); return false; } if ($subscribed_content[$type]) { unset($subscribed_content[$type]); } } else { if ($action == 'check') { if (!$subscribed_content[$type]) { // User is first time subscrbing to $type, do the initial subscription thing if (!was_user_subscribed_to_content($subscription['subscription_id'], $type)) { do_subscription_inital_actions($subscription['subscription_id'], $type, $owner); } $subscribed_content[$type] = array('new' => (int) 0, 'email' => (int) 0); } } } $fields = array('subscribed_content' => json_encode($subscribed_content)); $update = db_update(tbl('subscriptions'), $fields, " subscription_id = '" . $subscription['subscription_id'] . "' "); if ($update) { e(lang('Subscription content updated'), "m"); } else { e(lang('Unable to update subscription content')); } } else { e(lang('Invalid subscription')); } }