本文整理汇总了PHP中SJB_UserManager::removeFromFeaturedBySID方法的典型用法代码示例。如果您正苦于以下问题:PHP SJB_UserManager::removeFromFeaturedBySID方法的具体用法?PHP SJB_UserManager::removeFromFeaturedBySID怎么用?PHP SJB_UserManager::removeFromFeaturedBySID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SJB_UserManager
的用法示例。
在下文中一共展示了SJB_UserManager::removeFromFeaturedBySID方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: deleteContract
public static function deleteContract($contract_id, $user_sid = false)
{
$contract = new SJB_Contract(array('contract_id' => $contract_id, 'user_sid' => $user_sid));
SJB_ContractManager::deleteContractIDFromNotificationSended($contract_id);
if ($contract->isFeaturedProfile()) {
$allContracts = self::getAllContractsInfoByUserSID($user_sid);
$featured = 0;
foreach ($allContracts as $userContract) {
if ($userContract['id'] != $contract_id) {
$userContract = new SJB_Contract(array('contract_id' => $userContract['id'], 'user_sid' => $user_sid));
if ($userContract->isFeaturedProfile()) {
$featured = 1;
break;
}
}
}
if ($featured == 0) {
SJB_UserManager::removeFromFeaturedBySID($user_sid);
}
}
if ($contract->product_type == 'banners') {
$banner = new SJB_Banners();
$contractBannerID = $banner->getBannerIDByContract($contract_id);
if ($contractBannerID) {
$banner->deleteBanner($contractBannerID);
}
}
$permissions = SJB_Acl::getInstance();
$permissions->clearPermissions('contract', $contract_id);
return $contract->delete();
}
示例2: runTaskScheduler
private function runTaskScheduler()
{
// Deactivate Expired Listings & Send Notifications
$listingsExpiredID = SJB_ListingManager::getExpiredListingsSID();
foreach ($listingsExpiredID as $listingExpiredID) {
SJB_ListingManager::deactivateListingBySID($listingExpiredID, true);
$listing = SJB_ListingManager::getObjectBySID($listingExpiredID);
$listingInfo = SJB_ListingManager::createTemplateStructureForListing($listing);
if (SJB_UserNotificationsManager::isUserNotifiedOnListingExpiration($listing->getUserSID())) {
SJB_Notifications::sendUserListingExpiredLetter($listingInfo);
}
// notify admin
SJB_AdminNotifications::sendAdminListingExpiredLetter($listingInfo);
}
$listingsDeactivatedID = array();
if (SJB_Settings::getSettingByName('automatically_delete_expired_listings')) {
$listingsDeactivatedID = SJB_ListingManager::getDeactivatedListingsSID();
foreach ($listingsDeactivatedID as $listingID) {
SJB_ListingManager::deleteListingBySID($listingID);
}
}
SJB_ListingManager::unFeaturedListings();
SJB_ListingManager::unPriorityListings();
SJB_Cache::getInstance()->clean('matchingAnyTag', array(SJB_Cache::TAG_LISTINGS));
/////////////////////////// Send remind notifications about expiration of LISTINGS
// 1. get user sids and days count of 'remind listing notification' setting = 1 from user_notifications table
// 2. foreach user:
// - get listings with that expiration remind date
// - check every listing sid in DB table of sended. If sended - remove from send list
// - send notification with listings to user
// - write listings sid in DB table of sended notifications
$notificationData = SJB_UserNotificationsManager::getUsersAndDaysOnListingExpirationRemind();
foreach ($notificationData as $elem) {
$userSID = $elem['user_sid'];
$days = $elem['days'];
$listingSIDs = SJB_ListingManager::getListingsIDByDaysLeftToExpired($userSID, $days);
if (empty($listingSIDs)) {
continue;
}
$listingsInfo = array();
// check listings remind sended
foreach ($listingSIDs as $key => $sid) {
if (SJB_ListingManager::isListingNotificationSended($sid)) {
unset($listingSIDs[$key]);
continue;
}
$info = SJB_ListingManager::getListingInfoBySID($sid);
$listingsInfo[$sid] = $info;
}
if (!empty($listingsInfo)) {
// now only unsended listings we have in array
// send listing notification
foreach ($listingSIDs as $sid) {
SJB_Notifications::sendRemindListingExpirationLetter($userSID, $sid, $days);
}
// write listing id in DB table of sended notifications
SJB_ListingManager::saveListingIDAsSendedNotificationsTable($listingSIDs);
}
}
// Send Notifications for Expired Contracts
$contractsExpiredID = SJB_ContractManager::getExpiredContractsID();
foreach ($contractsExpiredID as $contractExpiredID) {
$contractInfo = SJB_ContractManager::getInfo($contractExpiredID);
$productInfo = SJB_ProductsManager::getProductInfoBySID($contractInfo['product_sid']);
$userInfo = SJB_UserManager::getUserInfoBySID($contractInfo['user_sid']);
$serializedExtraInfo = unserialize($contractInfo['serialized_extra_info']);
if (!empty($serializedExtraInfo['featured_profile']) && !empty($userInfo['featured'])) {
$contracts = SJB_ContractManager::getAllContractsInfoByUserSID($userInfo['sid']);
$isFeatured = 0;
foreach ($contracts as $contract) {
if ($contract['id'] != $contractExpiredID) {
$serializedExtraInfo = unserialize($contract['serialized_extra_info']);
if (!empty($serializedExtraInfo['featured'])) {
$isFeatured = 1;
}
}
}
if (!$isFeatured) {
SJB_UserManager::removeFromFeaturedBySID($userInfo['sid']);
}
}
if (SJB_UserNotificationsManager::isUserNotifiedOnContractExpiration($contractInfo['user_sid'])) {
SJB_Notifications::sendUserContractExpiredLetter($userInfo, $contractInfo, $productInfo);
}
// notify admin
SJB_AdminNotifications::sendAdminUserContractExpiredLetter($userInfo['sid'], $contractInfo, $productInfo);
SJB_ContractManager::deleteContract($contractExpiredID, $contractInfo['user_sid']);
}
//////////////////////// Send remind notifications about expiration of contracts
// 1. get user sids and days count of 'remind subscription notification' setting = 1 from user_notifications table
// 2. foreach user:
// - get contracts with that expiration remind date
// - check every contract sid in DB table of sended. If sended - remove from send list
// - send notification with contracts to user
// - write contract sid in DB table of sended contract notifications
$notificationData = SJB_UserNotificationsManager::getUsersAndDaysOnSubscriptionExpirationRemind();
foreach ($notificationData as $elem) {
$userSID = $elem['user_sid'];
$days = $elem['days'];
$contractSIDs = SJB_ContractManager::getContractsIDByDaysLeftToExpired($userSID, $days);
//.........这里部分代码省略.........