Skip to content

Commit

Permalink
Ticket unacms#3399 - Splash block and page.
Browse files Browse the repository at this point in the history
  • Loading branch information
AntonLV committed Sep 16, 2021
1 parent 9d86582 commit f3a61fd
Show file tree
Hide file tree
Showing 7 changed files with 46 additions and 59 deletions.
54 changes: 37 additions & 17 deletions modules/boonex/artificer/classes/BxArtificerModule.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,13 @@ function __construct(&$aModule)
parent::__construct($aModule);
}

public function serviceGetSafeServices()
{
return array_merge(parent::serviceGetSafeServices(), [
'GetSplashMarker' => '',
]);
}

public function serviceIncludeCssJs()
{
if(BxDolTemplate::getInstance()->getCode() != $this->_oConfig->getUri())
Expand All @@ -26,28 +33,41 @@ public function serviceIncludeCssJs()
return $this->_oTemplate->getIncludeCssJs();
}

public function serviceGetBlockSplash()
public function serviceGetSplashMarker($sName)
{
if($this->_oTemplate->getCode() != $this->_oConfig->getUri())
return '';
$sResult = '';

switch($sName) {
case 'members':
$sResult = '0';
if($aMembers = BxDolAccountQuery::getInstance()->getAccounts(['type' => 'confirmed']))
$sResult = count($aMembers);
break;

case 'posts':
$iPosts = 0;
$aModules = bx_srv('system', 'get_modules_by_type', ['content']);
foreach($aModules as $aModule)
if(BxDolRequest::serviceExists($aModule['name'], 'get_all'))
$iPosts += bx_srv($aModule['name'], 'get_all', [['type' => 'all', 'count' => true]]);

$sResult = $iPosts;
break;

case 'comments':
$sResult = (int)BxDolCmtsQuery::getInfoBy(['type' => 'all', 'count' => true]);
break;

$oPermalink = BxDolPermalinks::getInstance();
case 'login_agreement':
$oPermalink = BxDolPermalinks::getInstance();
$sLinkTerms = BX_DOL_URL_ROOT . $oPermalink->permalink('page.php?i=terms');
$sLinkPrivacy = BX_DOL_URL_ROOT . $oPermalink->permalink('page.php?i=privacy');

$sJoinForm = $sLoginForm = '';
if(!isLogged()) {
$sJoinForm = BxDolService::call('system', 'create_account_form', array(), 'TemplServiceAccount');
$sLoginForm = BxDolService::call('system', 'login_form', array(), 'TemplServiceLogin');
$sResult = _t('_bx_artificer_txt_splash_login_agreement', $sLinkTerms, $sLinkPrivacy);
break;
}

$this->_oTemplate->addJs(array('lottie.min.js'));
return $this->_oTemplate->parseHtmlByName('splash.html', array(
'join_link' => BX_DOL_URL_ROOT . $oPermalink->permalink('page.php?i=create-account'),
'join_form' => $sJoinForm,
'join_form_in_box' => !empty($sJoinForm) ? DesignBoxContent(_t('_sys_txt_splash_join'), $sJoinForm, BX_DB_PADDING_DEF) : '',
'login_link' => BX_DOL_URL_ROOT . $oPermalink->permalink('page.php?i=login'),
'login_form' => $sLoginForm,
'login_form_in_box' => !empty($sLoginForm) ? DesignBoxContent(_t('_sys_txt_splash_login'), $sLoginForm, BX_DB_PADDING_DEF) : ''
));
return $sResult;
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ import url(../../../../../../../template/css/forms.css);
height: 100%;

margin: 0;
padding: 0.2rem 0.4rem;
padding: 0;

border: 0;
background-color: transparent;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
@import url(../../../../../../../template/css/media-phone.css);

html.bx-media-phone {
font-size:100%;
}


/* --- General ---*/
.bx-media-phone #bx-toolbar-content .bx-toolbar-item.bx-ti-logo {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,38 +16,6 @@ public function __construct($aObject, $oTemplate = false)
{
parent::__construct($aObject, $oTemplate);
}

protected function _getBlockRaw($aBlock)
{
$sResult = parent::_getBlockRaw($aBlock);

if(strpos($aBlock['title'], 'splash') !== false) {
$oPermalink = BxDolPermalinks::getInstance();
$sLinkTerms = BX_DOL_URL_ROOT . $oPermalink->permalink('page.php?i=terms');
$sLinkPrivacy = BX_DOL_URL_ROOT . $oPermalink->permalink('page.php?i=privacy');

$iMembers = 0;
if($aMembers = BxDolAccountQuery::getInstance()->getAccounts(['type' => 'confirmed']))
$iMembers = count($aMembers);

$iPosts = 0;
$aModules = bx_srv('system', 'get_modules_by_type', ['content']);
foreach($aModules as $aModule)
if(BxDolRequest::serviceExists($aModule['name'], 'get_all'))
$iPosts += bx_srv($aModule['name'], 'get_all', [['type' => 'all', 'count' => true]]);

$iComments = BxDolCmtsQuery::getInfoBy(['type' => 'all', 'count' => true]);

$sResult = BxDolTemplate::getInstance()->parseHtmlByContent($sResult, array(
'members' => $iMembers,
'posts' => $iPosts,
'comments' => $iComments,
'login_agreement' => _t('_bx_artificer_txt_splash_login_agreement', $sLinkTerms, $sLinkPrivacy)
));
}

return $sResult;
}
}

/** @} */
4 changes: 2 additions & 2 deletions modules/boonex/artificer/install/sql/enable.sql

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions splash.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ function getPageMainCode()
'login_form' => $sLoginForm,
'login_form_in_box' => DesignBoxContent(_t('_sys_txt_splash_login'), $sLoginForm, BX_DB_PADDING_DEF)
));
return $s;

return bx_process_macros($s);
}

check_logged();
Expand Down
5 changes: 0 additions & 5 deletions template/scripts/BxBasePageHome.php
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,6 @@ protected function _getBlockRaw($aBlock)
if(!isLogged()) {
$sJoinForm = BxDolService::call('system', 'create_account_form', array(), 'TemplServiceAccount');
$sLoginForm = BxDolService::call('system', 'login_form', array(), 'TemplServiceLogin');
$sLoginFormOnly = BxDolService::call('system', 'login_form', array('no_join_text no_auth_buttons'), 'TemplServiceLogin');
$sLoginSocial = BxDolService::call('system', 'member_auth_code', array(), 'TemplServiceLogin');
}

$oTemplate = BxDolTemplate::getInstance();
Expand All @@ -69,9 +67,6 @@ protected function _getBlockRaw($aBlock)
'login_link' => BX_DOL_URL_ROOT . $oPermalink->permalink('page.php?i=login'),
'login_form' => $sLoginForm,
'login_form_in_box' => !empty($sLoginForm) ? DesignBoxContent(_t('_sys_txt_splash_login'), $sLoginForm, BX_DB_PADDING_DEF) : '',
'login_form_only' => $sLoginFormOnly,
'login_form_only_in_box' => !empty($sLoginFormOnly) ? DesignBoxContent(_t('_sys_txt_splash_login'), $sLoginFormOnly, BX_DB_PADDING_DEF) : '',
'login_social' => $sLoginSocial,
));
}

Expand Down

0 comments on commit f3a61fd

Please sign in to comment.