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'); } } }
private function showErrorsIfExist() { if (!empty($GLOBALS[SJB_SocialPlugin::SOCIAL_LOGIN_ERROR])) { $this->tp->assign('errors', $GLOBALS[SJB_SocialPlugin::SOCIAL_LOGIN_ERROR]); $this->tp->display('../users/errors.tpl'); } if (!empty($GLOBALS[SJB_SocialPlugin::SOCIAL_ACCESS_ERROR])) { $this->tp->assign('errors', $GLOBALS[SJB_SocialPlugin::SOCIAL_ACCESS_ERROR]); $this->tp->assign('socialNetwork', SJB_SocialPlugin::getNetwork()); $this->tp->display('../users/errors.tpl'); } }
<?php if (!function_exists('curl_init')) { $GLOBALS[SJB_SocialPlugin::SOCIAL_ACCESS_ERROR]['SOCIAL_ACCESS_ERROR'] = 'facebook'; SJB_Error::writeToLog('Facebook needs the CURL PHP extension.'); return null; } if (!function_exists('json_decode')) { $GLOBALS[SJB_SocialPlugin::SOCIAL_ACCESS_ERROR]['SOCIAL_ACCESS_ERROR'] = 'facebook'; SJB_Error::writeToLog('Facebook needs the JSON PHP extension.'); return null; } require_once 'facebook_social_plugin.php'; SJB_SocialPlugin::loadPlugin('facebook', $socPlugin = new FacebookSocialPlugin()); if ($socPlugin->getNetwork() === SJB_SocialPlugin::getNetwork()) { /* * login/logout */ SJB_Event::handle('Login_Plugin', array('SJB_SocialPlugin', 'login')); SJB_Event::handle('Logout', array('SJB_SocialPlugin', 'logout'), 1000); /* * registration */ SJB_Event::handle('FillRegistrationDataRequest_Plugin', array('FacebookSocialPlugin', 'fillRegistrationDataWithRequest')); SJB_Event::handle('FillRegistrationData_Plugin', array('SJB_SocialPlugin', 'fillRegistrationDataWithUser')); SJB_Event::handle('PrepareRegistrationFields_SocialPlugin', array('FacebookSocialPlugin', 'prepareRegistrationFields')); SJB_Event::handle('MakeRegistrationFieldsNotRequired_SocialPlugin', array('FacebookSocialPlugin', 'makeRegistrationFieldsNotRequired')); SJB_Event::handle('AddReferencePluginDetails', array('SJB_SocialPlugin', 'addReferenceDetails')); SJB_Event::handle('SocialPlugin_PostRegistrationActions', array('SJB_SocialPlugin', 'postRegistrationActions')); SJB_Event::handle('SocialPlugin_AddListingFieldsIntoRegistration', array('FacebookSocialPlugin', 'addListingFieldsIntoRegistration')); /*
<?php require_once 'google_plus_integration_plugin.php'; $includePath = explode(PATH_SEPARATOR, get_include_path()); unset($includePath[0]); set_include_path(implode(PATH_SEPARATOR, $includePath)); SJB_SocialPlugin::loadPlugin('google_plus', new GooglePlusSocialPlugin()); if (GooglePlusSocialPlugin::getNetwork() === SJB_SocialPlugin::getNetwork()) { SJB_Event::handle('Login_Plugin', array('SJB_SocialPlugin', 'login')); SJB_Event::handle('Logout', array('GooglePlusSocialPlugin', 'logout'), 1000); SJB_Event::handle('FillRegistrationData_Plugin', array('SJB_SocialPlugin', 'fillRegistrationDataWithUser')); SJB_Event::handle('PrepareRegistrationFields_SocialPlugin', array('SJB_SocialPlugin', 'prepareRegistrationFields')); SJB_Event::handle('MakeRegistrationFieldsNotRequired_SocialPlugin', array('SJB_SocialPlugin', 'makeRegistrationFieldsNotRequired')); SJB_Event::handle('AddReferencePluginDetails', array('GooglePlusSocialPlugin', 'addReferenceDetails')); }
public function execute() { $tp = SJB_System::getTemplateProcessor(); $tp->assign('terms_of_use_check', SJB_System::getSettingByName('terms_of_use_check')); $user_group_id = SJB_Request::getVar('user_group_id', null); $form_submitted = isset($_REQUEST['action']) && $_REQUEST['action'] == 'register'; if (!is_null($user_group_id)) { $user_group_sid = SJB_UserGroupManager::getUserGroupSIDByID($user_group_id); /** * check if registration is allowed for this UserGroup */ if (!SJB_SocialPlugin::ifRegistrationIsAllowedByUserGroupSID($user_group_sid)) { return null; } $user_group_info = SJB_UserGroupManager::getUserGroupInfoBySID($user_group_sid); $user = SJB_ObjectMother::createUser($_REQUEST, $user_group_sid); $user->deleteProperty('active'); $user->deleteProperty('featured'); $errors = array(); // social plugin if ($form_submitted) { SJB_Event::dispatch('SocialPlugin_AddListingFieldsIntoRegistration', $user, true); SJB_Event::dispatch('MakeRegistrationFieldsNotRequired_SocialPlugin', $user, true); } else { SJB_Event::dispatch('PrepareRegistrationFields_SocialPlugin', $user, true); SJB_Event::dispatch('SocialPlugin_AddListingFieldsIntoRegistration', $user, true); SJB_Event::dispatch('FillRegistrationData_Plugin', $user, true); } $registration_form = SJB_ObjectMother::createForm($user); $registration_form->registerTags($tp); if ($form_submitted && $registration_form->isDataValid($errors)) { SJB_Event::dispatch('FillRegistrationData_Plugin', $user, true); SJB_Event::dispatch('AddReferencePluginDetails', $user, true); $user->deleteProperty('captcha'); $user->deleteProperty('active'); $user->deleteProperty('featured'); SJB_UserManager::saveUser($user); SJB_Statistics::addStatistics('addUser', $user->getUserGroupSID(), $user->getSID(), false, 0, 0, false, 0, SJB_SocialPlugin::getNetwork()); SJB_Statistics::addStatistics('addUser' . SJB_SocialPlugin::getNetwork(), $user->getUserGroupSID(), $user->getSID(), false, 0, 0, false, 0, SJB_SocialPlugin::getNetwork()); // subscribe user on default product $defaultProduct = SJB_UserGroupManager::getDefaultProduct($user_group_sid); $availableProductIDs = SJB_ProductsManager::getProductsIDsByUserGroupSID($user_group_sid); if ($defaultProduct && in_array($defaultProduct, $availableProductIDs)) { $contract = new SJB_Contract(array('product_sid' => $defaultProduct)); $contract->setUserSID($user->getSID()); $contract->saveInDB(); } SJB_SocialPlugin::sendUserSocialRegistrationLetter($user); // notify administrator SJB_AdminNotifications::sendAdminUserRegistrationLetter($user); // Activation $isSendActivationEmail = SJB_UserGroupManager::isSendActivationEmail($user_group_sid); $isApproveByAdmin = SJB_UserGroupManager::isApproveByAdmin($user_group_sid); if ($isApproveByAdmin) { SJB_UserManager::setApprovalStatusByUserName($user->getUserName(), 'Pending'); } if ($isSendActivationEmail) { $isSent = SJB_Notifications::sendUserActivationLetter($user->getSID()); if ($isSent) { $tp->display('../users/registration_confirm.tpl'); } else { $tp->display('../users/registration_failed_to_send_activation_email.tpl'); } } else { if (!$isSendActivationEmail && $isApproveByAdmin) { SJB_UserManager::setApprovalStatusByUserName($user->getUserName(), 'Pending'); $tp->display('../users/registration_pending.tpl'); } else { SJB_UserManager::activateUserByUserName($user->getUserName()); $errors = array(); SJB_Authorization::login($user->getUserName(), $user->getPropertyValue('password'), false, $errors, false); // save access token, profile info for synchronization SJB_SocialPlugin::postRegistration(); $tp->assign('socialNetwork', SJB_SocialPlugin::getNetwork()); $pageId = !empty($user_group_info['after_registration_redirect_to']) ? $user_group_info['after_registration_redirect_to'] : ''; $redirectUrl = SJB_UserGroupManager::getRedirectUrlByPageID($pageId); SJB_HelperFunctions::redirect($redirectUrl); } } } else { // social plugin SJB_Event::dispatch('PrepareRegistrationFields_SocialPlugin', $user, true); if (SJB_UserGroupManager::isUserEmailAsUsernameInUserGroup($user_group_sid)) { $user->deleteProperty('username'); } $registration_form = SJB_ObjectMother::createForm($user); if ($form_submitted) { $registration_form->isDataValid($errors); } $registration_form->registerTags($tp); $registration_form_template = '../users/registration_form.tpl'; if (isset($_REQUEST['reg_form_template'])) { $registration_form_template = $_REQUEST['reg_form_template']; } elseif (!empty($user_group_info['reg_form_template'])) { $registration_form_template = $user_group_info['reg_form_template']; } $form_fields = $registration_form->getFormFieldsInfo(); $user_group_info = SJB_UserGroupManager::getUserGroupInfoBySID($user_group_sid); $tp->assign('user_group_info', $user_group_info); $tp->assign('errors', $errors); $tp->assign('user_group_id', $user_group_id); $tp->assign('form_fields', $form_fields); $metaDataProvider = SJB_ObjectMother::getMetaDataProvider(); $tp->assign('METADATA', array('form_fields' => $metaDataProvider->getFormFieldsMetadata($form_fields))); $tp->assign('socialRegistration', true); $tp->assign('userTree', true); $tp->display($registration_form_template); } } else { $userGroupsSIDs = SJB_SocialPlugin::getResolvedUserGroupsByNetwork(); $user_groups_info = array(); foreach ($userGroupsSIDs as $groupSID) { array_push($user_groups_info, SJB_UserGroupManager::getUserGroupInfoBySID($groupSID)); } /* * if there is only one group available for registration * redirect user directly on Registration Fields page */ if (count($user_groups_info) === 1 && !empty($user_groups_info[0]['id'])) { SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . '/registration-social/?user_group_id=' . $user_groups_info[0]['id']); } $tp->assign('user_groups_info', $user_groups_info); $tp->display('registration_choose_user_group_social.tpl'); } }
<?php if (!extension_loaded('openssl')) { $GLOBALS[SJB_SocialPlugin::SOCIAL_ACCESS_ERROR]['SOCIAL_ACCESS_ERROR'] = 'linkedin'; SJB_Error::writeToLog('Linkedin Social Plugin needs the "openssl" PHP extension.'); return null; } require_once 'linkedin_social_plugin.php'; SJB_SocialPlugin::loadPlugin('linkedin', new LinkedinSocialPlugin()); if (LinkedinSocialPlugin::getNetwork() === SJB_SocialPlugin::getNetwork()) { SJB_Event::handle('Login_Plugin', array('SJB_SocialPlugin', 'login')); SJB_Event::handle('Logout', array('SJB_SocialPlugin', 'logout'), 1000); /* * REGISTRATION */ SJB_Event::handle('FillRegistrationData_Plugin', array('SJB_SocialPlugin', 'fillRegistrationDataWithUser')); SJB_Event::handle('PrepareRegistrationFields_SocialPlugin', array('SJB_SocialPlugin', 'prepareRegistrationFields')); SJB_Event::handle('MakeRegistrationFieldsNotRequired_SocialPlugin', array('LinkedinSocialPlugin', 'makeRegistrationFieldsNotRequired')); SJB_Event::handle('SocialPlugin_AddListingFieldsIntoRegistration', array('SJB_SocialPlugin', 'addListingFieldsIntoRegistration')); SJB_Event::handle('AddReferencePluginDetails', array('SJB_SocialPlugin', 'addReferenceDetails')); /* * LISTING AUTOFILL SYNCHRONIZATION */ SJB_Event::handle('SocialSynchronization', array('SJB_SocialPlugin', 'autofillListing')); SJB_Event::handle('SocialSynchronizationForm', array('SJB_SocialPlugin', 'autofillListingForm')); SJB_Event::handle('SocialSynchronizationFields', array('SJB_SocialPlugin', 'autofillListingFields')); SJB_Event::handle('SocialSynchronizationFieldsOnPostingPages', array('SJB_SocialPlugin', 'autofillListingFieldsOnPostingPages')); }