72 $this->_oConfig->init($this->_oDb);
80 $sUri = $this->_oConfig->getUri();
82 $iId = (int)$this->_oDb->getOne(
"SELECT `ID` FROM `sys_options_cats` WHERE `name`='Membership'");
84 return MsgBox(
'_membership_txt_empty');
90 if($mixedResult !==
true && !
empty($mixedResult))
97 $sUri = $this->_oConfig->getUri();
99 $iId = (int)$this->_oDb->getOne(
"SELECT `ID` FROM `sys_options_cats` WHERE `name`='Membership'");
101 return MsgBox(
_t(
'_membership_txt_empty'));
114 return $this->_oTemplate->displayCurrentLevel($aUserLevel);
119 return array(
MsgBox(
_t(
'_membership_err_required_login')));
122 return array(
MsgBox(
_t(
'_membership_err_not_active')));
124 $aMembership = $this->_oDb->getMembershipsBy(array(
'type' =>
'price_all'));
125 if(
empty($aMembership))
126 return array(
MsgBox(
_t(
'_membership_txt_empty')));
128 return $this->_oTemplate->displayAvailableLevels($aMembership);
132 if(!$this->_oConfig->isDisableFreeJoin())
135 $aMembership = $this->_oDb->getMembershipsBy(array(
'type' =>
'price_all',
'include_standard' => $this->_oConfig->isStandardOnPaidJoin()));
136 if(
empty($aMembership))
137 return array(
MsgBox(
_t(
'_membership_err_no_payment_options')));
139 return $this->_oTemplate->displaySelectLevelBlock($aMembership, $bDynamic);
148 $this->_oTemplate->getPageCodeError(
'_membership_err_required_login');
157 'css' => array(
'explanation.css'),
159 'page' =>
_t(
'_membership_pcaption_membership')
162 'page_main_code' =>
$oPage->getCode()
165 $this->_oTemplate->getPageCode($aParams);
175 'css' => array(
'explanation.css'),
177 'page' =>
_t(
'_membership_pcaption_join')
180 'page_main_code' =>
$oPage->getCode()
183 $this->_oTemplate->getPageCode($aParams);
188 if($this->_oConfig->isCaptchaOnPaidJoin()) {
192 $this->_oTemplate->getPageCodeError(
'_sys_txt_captcha_not_available');
196 if(!$oCaptcha->check ()) {
197 $this->_oTemplate->getPageCodeError(
'_Captcha check failed');
202 $sDescriptor =
ch_get(
'descriptor');
203 if($sDescriptor ===
false) {
204 $this->_oTemplate->getPageCodeError(
'_membership_err_need_select_level');
207 else if($sDescriptor == $this->_oConfig->getStandardDescriptor()) {
208 header(
'Location: ' . CH_WSB_URL_ROOT . $this->_oConfig->getBaseUri() .
'join_form');
212 $sProvider =
ch_get(
'provider');
213 if($sProvider ===
false) {
214 $this->_oTemplate->getPageCodeError(
'_membership_err_need_select_provider');
218 $sRedirect = CH_WSB_URL_ROOT .
'join.php';
225 header(
'Location: ' . $sRedirect);
231 if(!$this->_oConfig->isStandardOnPaidJoin()) {
232 $this->_oTemplate->getPageCodeError(
'_membership_err_access_denied');
236 ch_import(
'ProfileFields', $this->_aModule);
245 'page' =>
_t(
'_membership_pcaption_join')
248 'page_main_code' =>
DesignBoxContent(
_t(
'_membership_bcaption_join'), $oJoin->process(), 11)
251 $this->_oTemplate->getPageCode($aParams);
257 require_once(CH_DIRECTORY_PATH_INC .
'admin_design.inc.php');
259 $sUri = $this->_oConfig->getUri();
270 if(isset($_POST[
'save']) && isset($_POST[
'cat'])) {
277 if($this->_oConfig->_bDisableFreeJoin ==
false && $this->_oConfig->_bEnableStandardOnPaidJoin ==
true && $this->_oConfig->_bEnableCaptchaOnPaidJoin ==
true) {
278 $sContent =
DesignBoxAdmin(
_t(
'_' . $sUri .
'_bcaption_settings'), msgBox(
'This module does not have any admin settings.'));
285 'page' =>
_t(
'_membership_pcaption_admin')
291 $this->_oTemplate->getPageCodeAdmin($aParams);
299 return $this->_oConfig->isDisableFreeJoin();
303 return CH_WSB_URL_ROOT . $this->_oConfig->getBaseUri() .
'index/';
308 $sTitle =
_t(
'_membership_mmenu_item_membership');
311 'item_img_src' =>
'star',
313 'item_link' => CH_WSB_URL_ROOT . $this->_oConfig->getBaseUri() .
'index',
314 'item_onclick' =>
'',
343 $aItems = $this->_oDb->getMembershipsBy(array(
'type' =>
'price_all'));
346 foreach($aItems
as $aItem)
348 'id' => $aItem[
'price_id'],
350 'title' => $aItem[
'mem_name'] .
' ' .
_t(
'_membership_txt_on_N_days', $aItem[
'price_days']),
351 'description' => $aItem[
'mem_description'],
352 'url' => CH_WSB_URL_ROOT . $this->_oConfig->getBaseUri() .
'index',
353 'price' => $aItem[
'price_amount'],
354 'duration' => $aItem[
'price_days']
382 for($i=0; $i<$iItemCount; $i++)
406 $aMemberships = $this->_oDb->getExpiringMemberships();
407 foreach($aMemberships
as $aMembership) {
408 $aResult = $oPayment->prolongSubscription($aMembership[
'transaction_id']);
418 $aItem = $this->_oDb->getMembershipsBy(array(
'type' =>
'price_id',
'id' => $iItemId));
420 if(
empty($aItem) || !is_array($aItem))
425 'title' => $aItem[
'mem_name'] .
' ' .
_t(
'_membership_txt_on_N_days', $aItem[
'price_days']),
426 'description' => $aItem[
'mem_description'],
427 'url' => CH_WSB_URL_ROOT . $this->_oConfig->getBaseUri() .
'index',
428 'price' => $aItem[
'price_amount'],
429 'duration' => $aItem[
'price_days']