public function execute() { if (!class_exists('SJB_SocialPlugin') || !in_array('facebook', SJB_SocialPlugin::getAvailablePlugins()) || !SJB_Settings::getSettingByName('facebook_resumeAutoFillSync')) { echo 'facebook synchronization function is turned off'; return null; } /** * get all listings where synchronization is set */ $listingsSIDs = SJB_DB::query('SELECT `reference_uid`, `listings`.`sid` as `listingSID`, `listings`.`user_sid` FROM `listings` INNER JOIN `users` ON `listings`.`user_sid` = `users`.`sid` WHERE `facebook_sync` = 1 AND `users`.`reference_uid` IS NOT NULL ORDER BY `user_sid`'); if (!empty($listingsSIDs)) { $oFacebookSync = new FacebookSync(); foreach ($listingsSIDs as $rUid) { try { if ($oFacebookSync->init($rUid['reference_uid'], $rUid['listingSID'])) { $oFacebookSync->sync(); } else { throw new Exception('cant connect to facebook :: ' . $oFacebookSync->getSocialID()); } } catch (Exception $e) { echo $e->getMessage(); } } } }
public function execute() { if (class_exists('SJB_SocialPlugin') && in_array('linkedin', SJB_SocialPlugin::getAvailablePlugins()) && SJB_Settings::getSettingByName('li_allowPeopleSearch')) { $liSearch = SJB_Request::getVar('li_search', false); $oLinkedin = SJB_SocialPlugin::getActiveSocialPlugin(); if ('Resume' == $_REQUEST['listing_type']['equal'] && $liSearch && $oLinkedin instanceof LinkedinSocialPlugin) { SJB_Session::setValue('linkedinPeopleSearch', true); $request =& $_REQUEST; /* * keywords=[space delimited keywords] * sort=[connections|recommenders|distance|relevance] * postal-code=[postal code] * start=[number]& count=[1-25]& facet=[facet code, values]& facets=[facet * * info: * http://developer.linkedin.com/docs/DOC-1191 */ $sKeywords = ''; $sZip = !empty($request['ZipCode']['geo']['location']) ? $request['ZipCode']['geo']['location'] : ''; $aIndustry = !empty($request['JobCategory']['multi_like']) ? $request['JobCategory']['multi_like'] : array(); $sIndustry = ''; $sCount = !empty($request['count']) ? (int) $request['count'] : 10; if (!empty($request['keywords']) && is_array($request['keywords'])) { foreach ($request['keywords'] as $keywords) { $sKeywords = $keywords; } } $aFields = array('keywords' => $sKeywords, 'postal-code' => $sZip, 'count' => $sCount); foreach ($aIndustry as $industryName) { if ($industryKey = SJB_LinkedinFields::getIndustryCodeByIndustryName($industryName)) { $sIndustry .= ',' . $industryKey; } } if (!empty($sIndustry)) { $aFields['facets'] = 'industry'; $aFields['facet'] = 'industry' . $sIndustry; } $liResults = $oLinkedin->peopleSearch($aFields); if (isset($liResults->{'num-results'}) && (int) $liResults->{'num-results'} >= 0) { $tp = SJB_System::getTemplateProcessor(); if (empty($sKeywords)) { $tp->assign('liKeywordEmpty', true); } $tp->assign('liResults', $oLinkedin->preparePeopleStructure($liResults)); $tp->assign('liNumResults', (int) $liResults->{'num-results'}); $tp->assign('linkedinSearchIsAllowed', true); $linkedinPeopleSearch = SJB_Session::getValue('linkedinPeopleSearch'); $tp->assign('linkedinSearch', !empty($linkedinPeopleSearch) && 'no' === $linkedinPeopleSearch && !empty($_GET['searchId']) ? 'notChecked' : 'no'); $tp->display('linkedin_people_search_results.tpl'); } } else { SJB_Session::setValue('linkedinPeopleSearch', 'no'); } } }
public function execute() { if (class_exists('SJB_SocialPlugin') && in_array('linkedin', SJB_SocialPlugin::getAvailablePlugins()) && SJB_Settings::getSettingByName('li_memberProfileWidget')) { $userSID = SJB_Request::getInt('profileSID', ''); if ($userSID && ($profilePublicUrl = SJB_SocialPlugin::getProfilePublicUrlByProfileID($userSID))) { $tp = SJB_System::getTemplateProcessor(); $tp->assign('inPublicUrl', $profilePublicUrl); $tp->display('linkedin_member_profile_widget.tpl'); } } }
public function execute() { if (class_exists('SJB_SocialPlugin') && in_array('linkedin', SJB_SocialPlugin::getAvailablePlugins()) && SJB_Settings::getSettingByName('li_companyInsiderWidget')) { $companyName = str_replace(" ", "-", SJB_Request::getVar('companyName', '')); if (!empty($companyName)) { $tp = SJB_System::getTemplateProcessor(); $tp->assign('companyName', $companyName); $tp->display('company_insider_widget.tpl'); } } }
public function execute() { if (class_exists('SJB_SocialPlugin') && in_array('linkedin', SJB_SocialPlugin::getAvailablePlugins()) && SJB_Settings::getSettingByName('li_companyProfileWidget')) { $companyName = SJB_Request::getVar('companyName'); if ($companyName) { $tp = SJB_System::getTemplateProcessor(); $tp->assign('companyName', $companyName); $tp->display('linkedin_profile_widget.tpl'); } } }
public function execute() { if (class_exists('SJB_SocialPlugin') && in_array('linkedin', SJB_SocialPlugin::getAvailablePlugins()) && SJB_Settings::getSettingByName('li_allowPeopleSearch')) { if ('Resume' == $_REQUEST['listing_type_id'] && SJB_SocialPlugin::getNetwork() == 'linkedin') { $tp = SJB_System::getTemplateProcessor(); $tp->assign('linkedinSearchIsAllowed', true); $tp->assign('linkedinSearch', !empty($_SESSION['linkedinPeopleSearch']) && 'no' === $_SESSION['linkedinPeopleSearch'] && !empty($_GET['searchId']) ? 'notChecked' : 'no'); $tp->display('linkedin_people_search_form.tpl'); } } }
public function execute() { if (class_exists('SJB_SocialPlugin') && in_array('linkedin', SJB_SocialPlugin::getAvailablePlugins()) && SJB_Settings::getSettingByName('li_allowShareJobs')) { if (SJB_SocialPlugin::getProfileObject()) { $listing = SJB_Request::getVar('listing'); $tp = SJB_System::getTemplateProcessor(); $tp->assign('articleUrl', urlencode(SJB_System::getSystemSettings('SITE_URL') . '/display-job/' . $listing['id'] . '/')); $tp->assign('articleTitle', urlencode($listing['Title'])); $tp->assign('articleSummary', urlencode($listing['JobDescription'])); $tp->assign('articleSource', urlencode(SJB_System::getSettingByName('site_title'))); $tp->display('linkedin_share_button.tpl'); } } }
public function execute() { if (!SJB_Authorization::isUserLoggedIn() && class_exists('SJB_SocialPlugin') && ($socPlugins = SJB_SocialPlugin::getAvailablePlugins())) { SJB_SocialPlugin::preparePluginsThatAreAvailableForRegistration($socPlugins); if (empty($socPlugins)) { return null; } $socNetworks = SJB_SocialPlugin::getSocialNetworks($socPlugins); $tp = SJB_System::getTemplateProcessor(); $tp->assign('aSocPlugins', $socNetworks); $tp->display('login_buttons.tpl'); } else { if (SJB_Authorization::isUserLoggedIn()) { SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . '/my-account/'); } } }
public function execute() { if (SJB_Authorization::isUserLoggedIn() && class_exists('SJB_SocialPlugin') && !SJB_SocialPlugin::getProfileObject() && ($socPlugins = SJB_SocialPlugin::getAvailablePlugins())) { $tp = SJB_System::getTemplateProcessor(); $userGroupInfo = SJB_UserGroupManager::getUserGroupInfoBySID(SJB_UserManager::getCurrentUser()->user_group_sid); /** * delete from plugins array plugins that are not allowed * for this userGroup registration */ SJB_SocialPlugin::preparePluginsThatAreAvailableForRegistration($socPlugins, $userGroupInfo['id']); if (empty($socPlugins)) { return null; } $socialNetworks = SJB_SocialPlugin::getSocialNetworks($socPlugins); $tp->assign('label', 'link'); $tp->assign('social_plugins', $socialNetworks); $tp->display('social_plugins.tpl'); } }
public function execute() { $listingTypeID = SJB_Request::getVar('type'); if (class_exists('SJB_SocialPlugin') && in_array('facebook', SJB_SocialPlugin::getAvailablePlugins()) && SJB_Settings::getSettingByName('fb_like' . $listingTypeID)) { $listing = SJB_Request::getVar('listing', array()); $listingID = isset($listing['id']) ? $listing['id'] : 0; $tp = SJB_System::getTemplateProcessor(); switch ($listingTypeID) { case 'Job': $tp->assign('url', SJB_System::getSystemSettings('SITE_URL') . '/display-job/' . $listingID . '/'); break; case 'Resume': $tp->assign('url', SJB_System::getSystemSettings('SITE_URL') . '/display-resume/' . $listingID . '/'); break; default: $tp->assign('url', SJB_System::getSystemSettings('SITE_URL') . '/display-listing/' . $listingID . '/'); break; } $tp->display('facebook_like_button.tpl'); } }
public function execute() { $this->tp = SJB_System::getTemplateProcessor(); if (!SJB_Authorization::isUserLoggedIn() && class_exists('SJB_SocialPlugin') && '/registration-social/' != SJB_Navigator::getUri() && ($socPlugins = SJB_SocialPlugin::getAvailablePlugins())) { $this->showErrorsIfExist(); $userGroupID = SJB_Request::getVar('user_group_id', null); SJB_SocialPlugin::preparePluginsThatAreAvailableForRegistration($socPlugins, $userGroupID); if (empty($socPlugins)) { return null; } if ($userGroupID) { $this->tp->assign('user_group_id', $userGroupID); } $socNetworks = SJB_SocialPlugin::getSocialNetworks($socPlugins); $this->tp->assign('label', SJB_Request::getVar('label', null)); $this->tp->assign('social_plugins', $socNetworks); $this->tp->assign('shoppingCart', SJB_Request::getVar('shoppingCart', null)); $this->tp->display('social_plugins.tpl'); } else { $this->showErrorsIfExist(); } }
public static function generateGeneralGraph($dateStatistics, $filter = array()) { $listingTypes = SJB_ListingTypeManager::getListingAllTypesForListType(); $userGroups = SJB_UserGroupManager::getAllUserGroupsIDsAndCaptions(); $nameEvents = array(); $filterValues = is_array($filter) ? array_keys($filter) : array(); foreach ($filter as $blockName => $val) { switch ($blockName) { case 'popularity': $popularityEvents = array('siteView' => 'Number of Website Views', 'viewListing' => 'Number of #listingTypeName# Views'); $nameEvents = array_merge($nameEvents, $popularityEvents); break; case 'users': $usersEvents = array('addUser' => 'Number of #userGroupName# Registered', 'addSubAccount' => 'Number of Sub-Employers Registered', 'deleteUser' => 'Number of Profiles Deleted'); $nameEvents = array_merge($nameEvents, $usersEvents); break; case 'listings': $listingsEvents = array('addListing' => 'Number of #listingTypeName# Posted', 'deleteListing' => 'Number of #listingTypeName# Deleted'); $nameEvents = array_merge($nameEvents, $listingsEvents); break; case 'applications': $applyEvents = array('apply' => 'Number of Applications Made'); $nameEvents = array_merge($nameEvents, $applyEvents); break; case 'alerts': $alertsEvents = array('addAlert' => 'Number of Job Alerts #listingTypeName# for', 'sentAlert' => 'Number of #listingTypeName# Alerts Sent', SJB_GuestAlertStatistics::EVENT_SUBSCRIBED => 'Number of Guest #listingTypeName# Alerts subscribed for', SJB_GuestAlertStatistics::EVENT_SENT => 'Number of Guest #listingTypeName# Alerts Sent'); $nameEvents = array_merge($nameEvents, $alertsEvents); break; case 'sales': $salesEvents = array('payment' => 'Earnings from #userGroupName#', SJB_PromotionsManager::STATISTIC_EVENT => 'Promotion Discount'); $nameEvents = array_merge($nameEvents, $salesEvents); break; case 'plugins': $popularityEvents = array('viewMobileVersion' => 'Number of Mobile Version Views', 'partneringSites' => 'Number of Redirects to Partnering Sites'); $socialPlugins = SJB_SocialPlugin::getAvailablePlugins(); foreach ($socialPlugins as $socialPluginName) { $socialRegistrationEventName = 'addUser' . $socialPluginName; $popularityEvents[$socialRegistrationEventName] = 'Number of #userGroupName# Registered through ' . $socialPluginName; } $nameEvents = array_merge($nameEvents, $popularityEvents); break; } } $nameEvents = array_unique($nameEvents); $graph = array(); foreach ($nameEvents as $nameEvent => $title) { switch ($nameEvent) { case 'addAlert': case 'sentAlert': case SJB_GuestAlertStatistics::EVENT_SUBSCRIBED: case SJB_GuestAlertStatistics::EVENT_SENT: case 'deleteListing': case 'addListing': case 'viewListing': foreach ($listingTypes as $listingTypeInfo) { $listingType = $listingTypeInfo['caption']; $listingTypeID = $listingTypeInfo['id']; if ($nameEvent == 'addListing' || $nameEvent == 'deleteListing') { if ($listingTypeInfo['key'] == 'Job' || $listingTypeInfo['key'] == 'Resume') { $listingType = $listingTypeInfo['key'] . 's'; } else { $listingType = '"' . $listingType . '" listings '; } } $graph[$nameEvent . $listingTypeID]['title'] = str_replace('#listingTypeName#', $listingType, $title); if (!empty($dateStatistics[$nameEvent . $listingTypeID]['type']) && $dateStatistics[$nameEvent . $listingTypeID]['type'] == $listingTypeID) { $graph[$nameEvent . $listingTypeID]['statistic'] = $dateStatistics[$nameEvent . $listingTypeID]['count']; } else { $graph[$nameEvent . $listingTypeID]['statistic'] = 0; } if ($nameEvent == 'addListing') { $graph[$nameEvent . 'Featured' . $listingTypeID]['title'] = "Number of Featured {$listingType} Posted"; $graph[$nameEvent . 'Priority' . $listingTypeID]['title'] = "Number of Priority {$listingType} Posted"; $graph[$nameEvent . 'Featured' . $listingTypeID]['statistic'] = 0; $graph[$nameEvent . 'Priority' . $listingTypeID]['statistic'] = 0; if (!empty($dateStatistics[$nameEvent . $listingTypeID]['featured']) && $dateStatistics[$nameEvent . $listingTypeID]['featured'] == 1) { $graph[$nameEvent . 'Featured' . $listingTypeID]['statistic'] = $dateStatistics[$nameEvent . $listingTypeID]['count']; } if (!empty($dateStatistics[$nameEvent . $listingTypeID]['priority']) && $dateStatistics[$nameEvent . $listingTypeID]['priority'] == 1) { $graph[$nameEvent . 'Priority' . $listingTypeID]['statistic'] = $dateStatistics[$nameEvent . $listingTypeID]['count']; } } } break; case 'addUser': case 'addUserlinkedin': case 'addUserfacebook': case 'addUsergoogle': foreach ($userGroups as $userGroupInfo) { $userGroupID = $userGroupInfo['id']; $userGroup = $userGroupInfo['caption']; if ($userGroupInfo['key'] == 'JobSeeker' || $userGroupInfo['key'] == 'Employer') { $userGroup = $userGroupInfo['key'] . 's'; } else { $userGroup = '"' . $userGroup . '" Users'; } $graph[$nameEvent . $userGroupID]['title'] = str_replace('#userGroupName#', $userGroup, $title); if (!empty($dateStatistics[$nameEvent . $userGroupID]['type']) && $dateStatistics[$nameEvent . $userGroupID]['type'] == $userGroupID) { $graph[$nameEvent . $userGroupID]['statistic'] = $dateStatistics[$nameEvent . $userGroupID]['count']; } else { $graph[$nameEvent . $userGroupID]['statistic'] = 0; } } break; case 'deleteUser': $countUsers = 0; foreach ($userGroups as $userGroupInfo) { $userGroupID = $userGroupInfo['id']; if (!empty($dateStatistics[$nameEvent . $userGroupID]['type']) && $dateStatistics[$nameEvent . $userGroupID]['type'] == $userGroupID) { $countUsers += $dateStatistics[$nameEvent . $userGroupID]['count']; } } $graph['deleteUser']['title'] = $title; $graph['deleteUser']['statistic'] = $countUsers; break; case 'payment': $graph['totalAmount']['title'] = 'Total Sales'; $graph['totalAmount']['statistic'] = !empty($dateStatistics['totalAmount']['count']) ? $dateStatistics['totalAmount']['count'] : 0; foreach ($userGroups as $userGroupInfo) { $userGroupID = $userGroupInfo['id']; $userGroup = $userGroupInfo['caption']; if ($userGroupInfo['key'] == 'JobSeeker' || $userGroupInfo['key'] == 'Employer') { $userGroup = $userGroupInfo['key'] . 's'; } else { $userGroup = '"' . $userGroup . '" Users'; } $graph['amount_' . $userGroupID]['title'] = str_replace('#userGroupName#', $userGroup, $title); $graph['amount_' . $userGroupID]['statistic'] = !empty($dateStatistics['amount_' . $userGroupID]['count']) ? $dateStatistics['amount_' . $userGroupID]['count'] : 0; } break; case 'apply': $graph[$nameEvent]['title'] = $title; $graph[$nameEvent]['statistic'] = !empty($dateStatistics[$nameEvent]['count']) ? $dateStatistics[$nameEvent]['count'] : 0; $graph[$nameEvent . 'Approved']['title'] = "Number of Applications Approved"; $graph[$nameEvent . 'Rejected']['title'] = "Number of Applications Rejected"; $graph[$nameEvent . 'Approved']['statistic'] = 0; $graph[$nameEvent . 'Rejected']['statistic'] = 0; if (!empty($dateStatistics[$nameEvent]['approve']) && $dateStatistics[$nameEvent]['approve'] == 1) { $graph[$nameEvent . 'Approved']['statistic'] = $dateStatistics[$nameEvent]['count']; } if (!empty($dateStatistics[$nameEvent]['reject']) && $dateStatistics[$nameEvent]['reject'] == 1) { $graph[$nameEvent . 'Rejected']['statistic'] = $dateStatistics[$nameEvent]['count']; } break; default: $graph[$nameEvent]['title'] = $title; $graph[$nameEvent]['statistic'] = !empty($dateStatistics[$nameEvent]['count']) ? $dateStatistics[$nameEvent]['count'] : 0; break; } } return $graph; }