Release 01.00.18 — minify pipeline, header color var, hero centering #2

Merged
jmiller merged 62 commits from dev into main 2026-04-23 20:01:27 +00:00
20 changed files with 1132 additions and 0 deletions
Showing only changes of commit fb4f764bc4 - Show all commits

View File

@@ -0,0 +1,194 @@
<?php
/**
* Community Builder (TM)
* @version $Id: $
* @package CommunityBuilder
* @copyright (C) 2004-2025 www.joomlapolis.com / Lightning MultiCom SA - and its licensors, all rights reserved
* @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL version 2
*/
use CBLib\Application\Application;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
if ( ! ( defined( '_VALID_CB' ) || defined( '_JEXEC' ) || defined( '_VALID_MOS' ) ) ) { die( 'Direct Access to this location is not allowed.' ); }
HTMLHelper::_( 'behavior.keepalive' );
?>
<?php echo modCBLoginHelper::getPlugins( $params, $type, 'beforeForm' ); ?>
<form action="<?php echo $_CB_framework->viewUrl( 'login', true, null, 'html', $secureForm ); ?>" method="post" id="login-form" class="cbLoginForm">
<input type="hidden" name="option" value="com_comprofiler" />
<input type="hidden" name="view" value="login" />
<input type="hidden" name="op2" value="login" />
<input type="hidden" name="return" value="B:<?php echo $loginReturnUrl; ?>" />
<input type="hidden" name="message" value="<?php echo (int) $params->get( 'login_message', 0 ); ?>" />
<input type="hidden" name="loginfrom" value="<?php echo htmlspecialchars( ( defined( '_UE_LOGIN_FROM' ) ? _UE_LOGIN_FROM : 'loginmodule' ) ); ?>" />
<?php echo Application::Session()->getFormTokenInput(); ?>
<?php echo modCBLoginHelper::getPlugins( $params, $type, 'start' ); ?>
<?php if ( $preLogintText ) { ?>
<div class="pretext <?php echo htmlspecialchars( $templateClass ); ?>">
<p><?php echo $preLogintText; ?></p>
</div>
<?php } ?>
<?php echo modCBLoginHelper::getPlugins( $params, $type, 'almostStart' ); ?>
<?php if ( $loginMethod != 4 ) { ?>
<fieldset class="userdata">
<p id="form-login-username">
<?php if ( in_array( $showUsernameLabel, array( 1, 2, 3, 5 ) ) ) { ?>
<?php if ( in_array( $showUsernameLabel, array( 2, 5 ) ) ) { ?>
<span class="<?php echo htmlspecialchars( $templateClass ); ?>">
<span class="cbModuleUsernameIcon fa fa-user" title="<?php echo htmlspecialchars( $userNameText ); ?>"></span>
</span>
<?php } else { ?>
<label for="modlgn-username">
<?php if ( $showUsernameLabel == 3 ) { ?>
<span class="<?php echo htmlspecialchars( $templateClass ); ?>">
<span class="cbModuleUsernameIcon fa fa-user" title="<?php echo htmlspecialchars( $userNameText ); ?>"></span>
</span>
<?php } ?>
<?php if ( in_array( $showUsernameLabel, array( 1, 3 ) ) ) { ?>
<?php echo htmlspecialchars( $userNameText ); ?>
<?php } ?>
</label>
<?php } ?>
<?php } ?>
<input id="modlgn-username" type="text" name="username" class="<?php echo ( $styleUsername ? htmlspecialchars( $styleUsername ) : 'inputbox' ); ?>" size="<?php echo $usernameInputLength; ?>"<?php echo ( in_array( $showUsernameLabel, array( 4, 5 ) ) ? ' placeholder="' . htmlspecialchars( $userNameText ) . '"' : null ); ?> />
</p>
<p id="form-login-password">
<?php if ( in_array( $showPasswordLabel, array( 1, 2, 3, 5 ) ) ) { ?>
<?php if ( in_array( $showPasswordLabel, array( 2, 5 ) ) ) { ?>
<span class="<?php echo htmlspecialchars( $templateClass ); ?>">
<span class="cbModulePasswordIcon fa fa-lock" title="<?php echo htmlspecialchars( CBTxt::T( 'Password' ) ); ?>"></span>
</span>
<?php } else { ?>
<label for="modlgn-passwd">
<?php if ( $showPasswordLabel == 3 ) { ?>
<span class="<?php echo htmlspecialchars( $templateClass ); ?>">
<span class="cbModulePasswordIcon fa fa-lock" title="<?php echo htmlspecialchars( CBTxt::T( 'Password' ) ); ?>"></span>
</span>
<?php } ?>
<?php if ( in_array( $showPasswordLabel, array( 1, 3 ) ) ) { ?>
<?php echo htmlspecialchars( CBTxt::T( 'Password' ) ); ?>
<?php } ?>
</label>
<?php } ?>
<?php } ?>
<input id="modlgn-passwd" type="password" name="passwd" class="<?php echo ( $stylePassword ? htmlspecialchars( $stylePassword ) : 'inputbox' ); ?>" size="<?php echo $passwordInputLength; ?>"<?php echo ( in_array( $showPasswordLabel, array( 4, 5 ) ) ? ' placeholder="' . htmlspecialchars( CBTxt::T( 'Password' ) ) . '"' : null ); ?> />
</p>
<?php if ( count( $twoFactorMethods ) > 1 ) { ?>
<p id="form-login-secretkey">
<?php if ( in_array( $showSecretKeyLabel, array( 1, 2, 3, 5 ) ) ) { ?>
<?php if ( in_array( $showSecretKeyLabel, array( 2, 5 ) ) ) { ?>
<span class="<?php echo htmlspecialchars( $templateClass ); ?>">
<span class="cbModuleSecretKeyIcon fa fa-star" title="<?php echo htmlspecialchars( CBTxt::T( 'Secret Key' ) ); ?>"></span>
</span>
<?php } else { ?>
<label for="modlgn-secretkey">
<?php if ( $showSecretKeyLabel == 3 ) { ?>
<span class="<?php echo htmlspecialchars( $templateClass ); ?>">
<span class="cbModuleSecretKeyIcon fa fa-star" title="<?php echo htmlspecialchars( CBTxt::T( 'Secret Key' ) ); ?>"></span>
</span>
<?php } ?>
<?php if ( in_array( $showSecretKeyLabel, array( 1, 3 ) ) ) { ?>
<?php echo htmlspecialchars( CBTxt::T( 'Secret Key' ) ); ?>
<?php } ?>
</label>
<?php } ?>
<?php } ?>
<input id="modlgn-secretkey" autocomplete="one-time-code" type="text" name="secretkey" tabindex="0" class="<?php echo ( $styleSecretKey ? htmlspecialchars( $styleSecretKey ) : 'inputbox' ); ?>" size="<?php echo $secretKeyInputLength; ?>"<?php echo ( in_array( $showSecretKeyLabel, array( 4, 5 ) ) ? ' placeholder="' . htmlspecialchars( CBTxt::T( 'Secret Key' ) ) . '"' : null ); ?> />
</p>
<?php } ?>
<?php if ( in_array( $showRememberMe, array( 1, 3 ) ) ) { ?>
<p id="form-login-remember">
<label for="modlgn-remember"><?php echo htmlspecialchars( CBTxt::T( 'Remember Me' ) ); ?></label>
<input id="modlgn-remember" type="checkbox" name="remember" class="inputbox" value="yes"<?php echo ( $showRememberMe == 3 ? ' checked="checked"' : null ); ?> />
</p>
<?php } elseif ( $showRememberMe == 2 ) { ?>
<input id="modlgn-remember" type="hidden" name="remember" class="inputbox" value="yes" />
<?php } ?>
<?php echo modCBLoginHelper::getPlugins( $params, $type, 'beforeButton', 'p' ); ?>
<button type="submit" name="Submit" class="<?php echo ( $styleLogin ? htmlspecialchars( $styleLogin ) : 'button' ); ?>"<?php echo $buttonStyle; ?>>
<?php if ( in_array( $showButton, array( 1, 2, 3 ) ) ) { ?>
<span class="<?php echo htmlspecialchars( $templateClass ); ?>">
<span class="cbModuleLoginIcon fa fa-sign-in" title="<?php echo htmlspecialchars( CBTxt::T( 'Log in' ) ); ?>"></span>
</span>
<?php } ?>
<?php if ( in_array( $showButton, array( 0, 1, 4 ) ) ) { ?>
<?php echo htmlspecialchars( CBTxt::T( 'Log in' ) ); ?>
<?php } ?>
</button>
<?php echo modCBLoginHelper::getPlugins( $params, $type, 'afterButton', 'p' ); ?>
</fieldset>
<?php } else { ?>
<?php echo modCBLoginHelper::getPlugins( $params, $type, 'beforeButton', 'p' ); ?>
<?php echo modCBLoginHelper::getPlugins( $params, $type, 'afterButton', 'p' ); ?>
<?php } ?>
<?php if ( $showForgotLogin || $showRegister ) { ?>
<ul id="form-login-links">
<?php if ( $showForgotLogin ) { ?>
<?php if ( ! Application::Config()->getBool( 'forgotlogin_type', true ) ) { ?>
<li id="form-login-forgot-password">
<a href="<?php echo cbSef( 'index.php?option=com_users&view=reset' ); ?>"<?php echo ( $styleForgotLogin ? ' class="' . htmlspecialchars( $styleForgotLogin ) . '"' : null ); ?>>
<?php if ( in_array( $showForgotLogin, array( 2, 3 ) ) ) { ?>
<span class="<?php echo htmlspecialchars( $templateClass ); ?>">
<span class="cbModuleForgotLoginIcon fa fa-unlock-alt" title="<?php echo htmlspecialchars( Text::_( 'MOD_LOGIN_FORGOT_YOUR_PASSWORD' ) ); ?>"></span>
</span>
<?php } ?>
<?php if ( in_array( $showForgotLogin, array( 1, 3 ) ) ) { ?>
<?php echo Text::_( 'MOD_LOGIN_FORGOT_YOUR_PASSWORD' ); ?>
<?php } ?>
</a>
</li>
<li id="form-login-forgot-username">
<a href="<?php echo cbSef( 'index.php?option=com_users&view=remind' ); ?>"<?php echo ( $styleForgotLogin ? ' class="' . htmlspecialchars( $styleForgotLogin ) . '"' : null ); ?>>
<?php if ( in_array( $showForgotLogin, array( 2, 3 ) ) ) { ?>
<span class="<?php echo htmlspecialchars( $templateClass ); ?>">
<span class="cbModuleForgotLoginIcon fa fa-unlock-alt" title="<?php echo htmlspecialchars( Text::_( 'MOD_LOGIN_FORGOT_YOUR_USERNAME' ) ); ?>"></span>
</span>
<?php } ?>
<?php if ( in_array( $showForgotLogin, array( 1, 3 ) ) ) { ?>
<?php echo Text::_( 'MOD_LOGIN_FORGOT_YOUR_USERNAME' ); ?>
<?php } ?>
</a>
</li>
<?php } else { ?>
<li id="form-login-forgot">
<a href="<?php echo $_CB_framework->viewUrl( 'lostpassword', true, null, 'html', $secureForm ); ?>"<?php echo ( $styleForgotLogin ? ' class="' . htmlspecialchars( $styleForgotLogin ) . '"' : null ); ?>>
<?php if ( in_array( $showForgotLogin, array( 2, 3 ) ) ) { ?>
<span class="<?php echo htmlspecialchars( $templateClass ); ?>">
<span class="cbModuleForgotLoginIcon fa fa-unlock-alt" title="<?php echo htmlspecialchars( CBTxt::T( 'Forgot Login?' ) ); ?>"></span>
</span>
<?php } ?>
<?php if ( in_array( $showForgotLogin, array( 1, 3 ) ) ) { ?>
<?php echo CBTxt::T( 'Forgot Login?' ); ?>
<?php } ?>
</a>
</li>
<?php } ?>
<?php } ?>
<?php if ( $showRegister ) { ?>
<li id="form-login-register">
<a href="<?php echo $_CB_framework->viewUrl( 'registers', true, null, 'html', $secureForm ); ?>"<?php echo ( $styleRegister ? ' class="' . htmlspecialchars( $styleRegister ) . '"' : null ); ?>>
<?php if ( in_array( $params->get( 'show_newaccount', 1 ), array( 2, 3 ) ) ) { ?>
<span class="<?php echo htmlspecialchars( $templateClass ); ?>">
<span class="cbModuleRegisterIcon fa fa-edit" title="<?php echo htmlspecialchars( CBTxt::T( 'UE_REGISTER', 'Sign up' ) ); ?>"></span>
</span>
<?php } ?>
<?php if ( in_array( $params->get( 'show_newaccount', 1 ), array( 1, 3 ) ) ) { ?>
<?php echo CBTxt::T( 'UE_REGISTER', 'Sign up' ); ?>
<?php } ?>
</a>
</li>
<?php } ?>
</ul>
<?php } ?>
<?php echo modCBLoginHelper::getPlugins( $params, $type, 'almostEnd' ); ?>
<?php if ( $postLoginText ) { ?>
<div class="posttext <?php echo htmlspecialchars( $templateClass ); ?>">
<p><?php echo $postLoginText; ?></p>
</div>
<?php } ?>
<?php echo modCBLoginHelper::getPlugins( $params, $type, 'end' ); ?>
</form>
<?php echo modCBLoginHelper::getPlugins( $params, $type, 'afterForm' ); ?>

View File

@@ -0,0 +1,127 @@
<?php
/**
* Community Builder (TM)
* @version $Id: $
* @package CommunityBuilder
* @copyright (C) 2004-2025 www.joomlapolis.com / Lightning MultiCom SA - and its licensors, all rights reserved
* @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL version 2
*/
use CBLib\Application\Application;
use Joomla\CMS\HTML\HTMLHelper;
if ( ! ( defined( '_VALID_CB' ) || defined( '_JEXEC' ) || defined( '_VALID_MOS' ) ) ) { die( 'Direct Access to this location is not allowed.' ); }
HTMLHelper::_( 'behavior.keepalive' );
?>
<?php echo modCBLoginHelper::getPlugins( $params, $type, 'beforeForm' ); ?>
<form action="<?php echo $_CB_framework->viewUrl( 'logout', true, null, 'html', $secureForm ); ?>" method="post" id="login-form" class="cbLogoutForm">
<input type="hidden" name="option" value="com_comprofiler" />
<input type="hidden" name="view" value="logout" />
<input type="hidden" name="op2" value="logout" />
<input type="hidden" name="return" value="B:<?php echo $logoutReturnUrl; ?>" />
<input type="hidden" name="message" value="<?php echo (int) $params->get( 'logout_message', 0 ); ?>" />
<?php echo Application::Session()->getFormTokenInput(); ?>
<?php echo modCBLoginHelper::getPlugins( $params, $type, 'start' ); ?>
<?php if ( $preLogoutText ) { ?>
<div class="pretext <?php echo htmlspecialchars( $templateClass ); ?>">
<p><?php echo $preLogoutText; ?></p>
</div>
<?php } ?>
<?php echo modCBLoginHelper::getPlugins( $params, $type, 'almostStart' ); ?>
<?php if ( (int) $params->get( 'greeting', 1 ) ) { ?>
<div class="login-greeting <?php echo htmlspecialchars( $templateClass ); ?>">
<p><?php echo $greetingText; ?></p>
</div>
<?php } ?>
<?php if ( (int) $params->get( 'show_avatar', 1 ) ) { ?>
<div class="login-avatar <?php echo htmlspecialchars( $templateClass ); ?>">
<p><?php echo $cbUser->getField( 'avatar', null, 'html', 'none', 'list', 0, true ); ?></p>
</div>
<?php } ?>
<?php echo modCBLoginHelper::getPlugins( $params, $type, 'beforeButton', 'p' ); ?>
<div class="logout-button">
<button type="submit" name="Submit" class="<?php echo ( $styleLogout ? htmlspecialchars( $styleLogout ) : 'button' ); ?>"<?php echo $buttonStyle; ?>>
<?php if ( in_array( $showButton, array( 1, 2, 3 ) ) ) { ?>
<span class="<?php echo htmlspecialchars( $templateClass ); ?>">
<span class="cbModuleLogoutIcon fa fa-sign-out" title="<?php echo htmlspecialchars( CBTxt::T( 'Log out' ) ); ?>"></span>
</span>
<?php } ?>
<?php if ( in_array( $showButton, array( 0, 1, 4 ) ) ) { ?>
<?php echo htmlspecialchars( CBTxt::T( 'Log out' ) ); ?>
<?php } ?>
</button>
</div>
<?php echo modCBLoginHelper::getPlugins( $params, $type, 'afterButton', 'p' ); ?>
<?php if ( $profileViewText || $profileEditText || $showPrivateMessages || $showConnectionRequests ) { ?>
<p>
<ul class="logout-links">
<?php if ( $showPrivateMessages ) { ?>
<li class="logout-private-messages">
<a href="<?php echo $privateMessageURL; ?>"<?php echo ( $stylePrivateMsgs ? ' class="' . htmlspecialchars( $stylePrivateMsgs ) . '"' : null ); ?>>
<?php if ( $params->get( 'show_pms_icon', 0 ) ) { ?>
<span class="<?php echo htmlspecialchars( $templateClass ); ?>">
<span class="cbModulePMIcon fa fa-envelope" title="<?php echo htmlspecialchars( CBTxt::T( 'Private Messages' ) ); ?>"></span>
</span>
<?php } ?>
<?php if ( $newMessageCount ) { ?>
<?php echo ( $newMessageCount == 1 ? CBTxt::T( 'YOU_HAVE_COUNT_NEW_PRIVATE_MESSAGE', 'You have [count] new private message.', array( '[count]' => $newMessageCount ) ) : CBTxt::T( 'YOU_HAVE_COUNT_NEW_PRIVATE_MESSAGES', 'You have [count] new private messages.', array( '[count]' => $newMessageCount ) ) ); ?>
<?php } else { ?>
<?php echo CBTxt::T( 'You have no new private messages.' ); ?>
<?php } ?>
</a>
</li>
<?php } ?>
<?php if ( $showConnectionRequests ) { ?>
<li class="logout-connection-requests">
<a href="<?php echo $_CB_framework->viewUrl( 'manageconnections' ); ?>"<?php echo ( $styleConnRequests ? ' class="' . htmlspecialchars( $styleConnRequests ) . '"' : null ); ?>>
<?php if ( $params->get( 'show_connection_notifications_icon', 0 ) ) { ?>
<span class="<?php echo htmlspecialchars( $templateClass ); ?>">
<span class="cbModuleConnectionsIcon fa fa-users" title="<?php echo htmlspecialchars( CBTxt::T( 'Connections' ) ); ?>"></span>
</span>
<?php } ?>
<?php if ( $newConnectionRequests ) { ?>
<?php echo ( $newConnectionRequests == 1 ? CBTxt::T( 'YOU_HAVE_COUNT_NEW_CONNECTION_REQUEST', 'You have [count] new connection request.', array( '[count]' => $newConnectionRequests ) ) : CBTxt::T( 'YOU_HAVE_COUNT_NEW_CONNECTION_REQUESTS', 'You have [count] new connection requests.', array( '[count]' => $newConnectionRequests ) ) ); ?>
<?php } else { ?>
<?php echo CBTxt::T( 'You have no new connection requests.' ); ?>
<?php } ?>
</a>
</li>
<?php } ?>
<?php if ( $profileViewText ) { ?>
<li class="logout-profile">
<a href="<?php echo $_CB_framework->userProfileUrl(); ?>"<?php echo ( $styleProfile ? ' class="' . htmlspecialchars( $styleProfile ) . '"' : null ); ?>>
<?php if ( $params->get( 'icon_show_profile', 0 ) ) { ?>
<span class="<?php echo htmlspecialchars( $templateClass ); ?>">
<span class="cbModuleProfileViewIcon fa fa-user" title="<?php echo htmlspecialchars( $profileViewText ); ?>"></span>
</span>
<?php } ?>
<?php echo $profileViewText; ?>
</a>
</li>
<?php } ?>
<?php if ( $profileEditText ) { ?>
<li class="logout-profile-edit">
<a href="<?php echo $_CB_framework->userProfileEditUrl(); ?>"<?php echo ( $styleProfileEdit ? ' class="' . htmlspecialchars( $styleProfileEdit ) . '"' : null ); ?>>
<?php if ( $params->get( 'icon_edit_profile', 0 ) ) { ?>
<span class="<?php echo htmlspecialchars( $templateClass ); ?>">
<span class="cbModuleProfileEditIcon fa fa-pencil" title="<?php echo htmlspecialchars( $profileEditText ); ?>"></span>
</span>
<?php } ?>
<?php echo $profileEditText; ?>
</a>
</li>
<?php } ?>
</ul>
</p>
<?php } ?>
<?php echo modCBLoginHelper::getPlugins( $params, $type, 'almostEnd' ); ?>
<?php if ( $postLogoutText ) { ?>
<div class="posttext <?php echo htmlspecialchars( $templateClass ); ?>">
<p><?php echo $postLogoutText; ?></p>
</div>
<?php } ?>
<?php echo modCBLoginHelper::getPlugins( $params, $type, 'end' ); ?>
</form>
<?php echo modCBLoginHelper::getPlugins( $params, $type, 'afterForm' ); ?>

View File

@@ -0,0 +1 @@
<!DOCTYPE html><title></title>

View File

@@ -0,0 +1,66 @@
<?php
/**
* Community Builder (TM)
* @version $Id: $
* @package CommunityBuilder
* @copyright (C) 2004-2025 www.joomlapolis.com / Lightning MultiCom SA - and its licensors, all rights reserved
* @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL version 2
*/
if ( ! ( defined( '_VALID_CB' ) || defined( '_JEXEC' ) || defined( '_VALID_MOS' ) ) ) { die( 'Direct Access to this location is not allowed.' ); }
?>
<?php echo modCBModeratorHelper::getPlugins( $params, 'start' ); ?>
<?php if ( $preText ) { ?>
<div class="pretext">
<p><?php echo $preText; ?></p>
</div>
<?php } ?>
<?php echo modCBModeratorHelper::getPlugins( $params, 'almostStart' ); ?>
<?php if ( modCBModeratorHelper::getPlugins( $params, 'beforeLinks' ) || $showBanned || $showImageApproval || $showUserReports || $showUnbanRequests || $showUserApproval || $showPrivateMessages || $showConnectionRequests || modCBModeratorHelper::getPlugins( $params, 'afterLinks' ) ) { ?>
<ul class="m-0 unstyled list-unstyled cbModeratorLinks">
<?php echo modCBModeratorHelper::getPlugins( $params, 'beforeLinks', 'li' ); ?>
<?php if ( $showBanned ) { ?>
<li class="cbModeratorLink cbModeratorLinkBanned">
<a href="<?php echo $_CB_framework->userProfileUrl(); ?>"><?php echo ( $bannedStatus == 1 ? CBTxt::T( 'Profile Banned' ) : CBTxt::T( 'Unban Request Pending' ) ); ?></a>
</li>
<?php } ?>
<?php if ( $showImageApproval ) { ?>
<li class="cbModeratorLink cbModeratorLinkImageApproval">
<a href="<?php echo $_CB_framework->viewUrl( 'moderateimages' ); ?>"><?php echo ( $imageApprovalCount == 1 ? CBTxt::T( 'COUNT_IMAGE_APPROVAL', '[count] Image Approval', array( '[count]' => $imageApprovalCount ) ) : CBTxt::T( 'COUNT_IMAGE_APPROVALS', '[count] Image Approvals', array( '[count]' => $imageApprovalCount ) ) ); ?></a>
</li>
<?php } ?>
<?php if ( $showUserReports ) { ?>
<li class="cbModeratorLink cbModeratorLinkUserReports">
<a href="<?php echo $_CB_framework->viewUrl( 'moderatereports' ); ?>"><?php echo ( $userReportsCount == 1 ? CBTxt::T( 'COUNT_PROFILE_REPORT', '[count] Profile Report', array( '[count]' => $userReportsCount ) ) : CBTxt::T( 'COUNT_PROFILE_REPORTS', '[count] Profile Reports', array( '[count]' => $userReportsCount ) ) ); ?></a>
</li>
<?php } ?>
<?php if ( $showUnbanRequests ) { ?>
<li class="cbModeratorLink cbModeratorLinkUnbanRequests">
<a href="<?php echo $_CB_framework->viewUrl( 'moderatebans' ); ?>"><?php echo ( $unbanRequestCount == 1 ? CBTxt::T( 'COUNT_UNBAN_REQUEST', '[count] Unban Request', array( '[count]' => $unbanRequestCount ) ) : CBTxt::T( 'COUNT_UNBAN_REQUESTS', '[count] Unban Requests', array( '[count]' => $unbanRequestCount ) ) ); ?></a>
</li>
<?php } ?>
<?php if ( $showUserApproval ) { ?>
<li class="cbModeratorLink cbModeratorLinkUserApproval">
<a href="<?php echo $_CB_framework->viewUrl( 'pendingapprovaluser' ); ?>"><?php echo ( $userApprovalCount == 1 ? CBTxt::T( 'COUNT_USER_APPROVAL', '[count] User Approval', array( '[count]' => $userApprovalCount ) ) : CBTxt::T( 'COUNT_USER_APPROVALS', '[count] User Approvals', array( '[count]' => $userApprovalCount ) ) ); ?></a>
</li>
<?php } ?>
<?php if ( $showPrivateMessages ) { ?>
<li class="cbModeratorLink cbModeratorLinkPrivateMessages">
<a href="<?php echo $privateMessageURL; ?>"><?php echo ( $newMessageCount == 1 ? CBTxt::T( 'COUNT_PRIVATE_MESSAGE', '[count] Private Message', array( '[count]' => $newMessageCount ) ) : CBTxt::T( 'COUNT_PRIVATE_MESSAGES', '[count] Private Messages', array( '[count]' => $newMessageCount ) ) ); ?></a>
</li>
<?php } ?>
<?php if ( $showConnectionRequests ) { ?>
<li class="cbModeratorLink cbModeratorLinkConnectionRequests">
<a href="<?php echo $_CB_framework->viewUrl( 'manageconnections' ); ?>"><?php echo ( $newConnectionRequests == 1 ? CBTxt::T( 'COUNT_CONNECTION_REQUEST', '[count] Connection Request', array( '[count]' => $newConnectionRequests ) ) : CBTxt::T( 'COUNT_CONNECTION_REQUESTS', '[count] Connection Requests', array( '[count]' => $newConnectionRequests ) ) ); ?></a>
</li>
<?php } ?>
<?php echo modCBModeratorHelper::getPlugins( $params, 'afterLinks', 'li' ); ?>
</ul>
<?php } ?>
<?php echo modCBModeratorHelper::getPlugins( $params, 'almostEnd' ); ?>
<?php if ( $postText ) { ?>
<div class="posttext">
<p><?php echo $postText; ?></p>
</div>
<?php } ?>
<?php echo modCBModeratorHelper::getPlugins( $params, 'end' ); ?>

View File

@@ -0,0 +1 @@
<!DOCTYPE html><title></title>

View File

@@ -0,0 +1,42 @@
<?php
/**
* Community Builder (TM)
* @version $Id: $
* @package CommunityBuilder
* @copyright (C) 2004-2025 www.joomlapolis.com / Lightning MultiCom SA - and its licensors, all rights reserved
* @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL version 2
*/
if ( ! ( defined( '_VALID_CB' ) || defined( '_JEXEC' ) || defined( '_VALID_MOS' ) ) ) { die( 'Direct Access to this location is not allowed.' ); }
?>
<?php echo modCBOnlineHelper::getPlugins( $params, 'start' ); ?>
<?php if ( $preText ) { ?>
<div class="pretext">
<p><?php echo $preText; ?></p>
</div>
<?php } ?>
<?php echo modCBOnlineHelper::getPlugins( $params, 'beforeUsers' ); ?>
<?php if ( modCBOnlineHelper::getPlugins( $params, 'beforeLinks' ) || $cbUsers || modCBOnlineHelper::getPlugins( $params, 'afterUsers' ) ) { ?>
<ul class="m-0 unstyled list-unstyled cbOnlineUsers">
<?php echo modCBOnlineHelper::getPlugins( $params, 'beforeLinks' ); ?>
<?php foreach ( $cbUsers as $cbUser ) { ?>
<li class="cbOnlineUser">
<?php
if ( $params->get( 'usertext' ) ) {
echo $cbUser->replaceUserVars( $params->get( 'usertext' ) );
} else {
echo $cbUser->getField( 'formatname', null, 'html', 'none', 'list', 0, true );
}
?>
</li>
<?php } ?>
<?php echo modCBOnlineHelper::getPlugins( $params, 'afterUsers' ); ?>
</ul>
<?php } ?>
<?php echo modCBOnlineHelper::getPlugins( $params, 'almostEnd' ); ?>
<?php if ( $postText ) { ?>
<div class="posttext">
<p><?php echo $postText; ?></p>
</div>
<?php } ?>
<?php echo modCBOnlineHelper::getPlugins( $params, 'end' ); ?>

View File

@@ -0,0 +1 @@
<!DOCTYPE html><title></title>

View File

@@ -0,0 +1,122 @@
<?php
/**
* @package DPCalendar
* @copyright Copyright (C) 2014 Digital Peak GmbH. <https://www.digital-peak.com>
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU/GPL
*/
\defined('_JEXEC') or die();
use Joomla\CMS\HTML\HTMLHelper;
if (!$events) {
return;
}
$translator->translateJS('MOD_DPCALENDAR_COUNTER_LABEL_YEARS');
$translator->translateJS('MOD_DPCALENDAR_COUNTER_LABEL_MONTHS');
$translator->translateJS('MOD_DPCALENDAR_COUNTER_LABEL_WEEKS');
$translator->translateJS('MOD_DPCALENDAR_COUNTER_LABEL_DAYS');
$translator->translateJS('MOD_DPCALENDAR_COUNTER_LABEL_HOURS');
$translator->translateJS('MOD_DPCALENDAR_COUNTER_LABEL_MINUTES');
$translator->translateJS('MOD_DPCALENDAR_COUNTER_LABEL_SECONDS');
$translator->translateJS('MOD_DPCALENDAR_COUNTER_LABEL_YEAR');
$translator->translateJS('MOD_DPCALENDAR_COUNTER_LABEL_MONTH');
$translator->translateJS('MOD_DPCALENDAR_COUNTER_LABEL_WEEK');
$translator->translateJS('MOD_DPCALENDAR_COUNTER_LABEL_DAY');
$translator->translateJS('MOD_DPCALENDAR_COUNTER_LABEL_HOUR');
$translator->translateJS('MOD_DPCALENDAR_COUNTER_LABEL_MINUTE');
$translator->translateJS('MOD_DPCALENDAR_COUNTER_LABEL_SECOND');
$translator->translateJS('COM_DPCALENDAR_CLOSE');
$document->loadStyleFile('default.css', 'mod_dpcalendar_counter');
$document->loadScriptFile('default.js', 'mod_dpcalendar_counter');
$document->addStyle($params->get('custom_css', ''));
?>
<div class="mod-dpcalendar-counter mod-dpcalendar-counter-<?php echo $module->id; ?>">
<div class="mod-dpcalendar-counter__custom-text">
<?php echo HTMLHelper::_('content.prepare', $translator->translate($params->get('textbefore', ''))); ?>
</div>
<div class="mod-dpcalendar-counter__events">
<?php foreach ($events as $event) { ?>
<div class="mod-dpcalendar-counter__event"
data-date="<?php echo $dateHelper->getDate($event->start_date, $event->all_day)->format('Y-m-d H:i:s'); ?>"
data-modal="<?php echo $params->get('show_as_popup'); ?>"
data-counting="<?php echo !$params->get('disable_counting'); ?>">
<div class="mod-dpcalendar-counter__upcoming">
<div class="mod-dpcalendar-counter__intro-text">
<?php echo $translator->translate('MOD_DPCALENDAR_COUNTER_SOON_OUTPUT'); ?>
</div>
<?php if ($params->get('show_field_year', 1)) { ?>
<span class="mod-dpcalendar-counter__year dp-counter-block">
<span class="dp-counter-block__number"></span>
<span class="dp-counter-block__content"></span>
</span>
<?php } ?>
<?php if ($params->get('show_field_month', 1)) { ?>
<span class="mod-dpcalendar-counter__month dp-counter-block">
<span class="dp-counter-block__number"></span>
<span class="dp-counter-block__content"></span>
</span>
<?php } ?>
<?php if ($params->get('show_field_week', 1)) { ?>
<span class="mod-dpcalendar-counter__week dp-counter-block">
<span class="dp-counter-block__number"></span>
<span class="dp-counter-block__content"></span>
</span>
<?php } ?>
<?php if ($params->get('show_field_day', 1)) { ?>
<span class="mod-dpcalendar-counter__day dp-counter-block">
<span class="dp-counter-block__number"></span>
<span class="dp-counter-block__content"></span>
</span>
<?php } ?>
<?php if ($params->get('show_field_hour', 1)) { ?>
<span class="mod-dpcalendar-counter__hour dp-counter-block">
<span class="dp-counter-block__number"></span>
<span class="dp-counter-block__content"></span>
</span>
<?php } ?>
<span class="mod-dpcalendar-counter__minute dp-counter-block">
<span class="dp-counter-block__number"></span>
<span class="dp-counter-block__content"></span>
</span>
<span class="mod-dpcalendar-counter__second dp-counter-block">
<span class="dp-counter-block__number"></span>
<span class="dp-counter-block__content"></span>
</span>
</div>
<div class="mod-dpcalendar-counter__ongoing">
<div class="mod-dpcalendar-counter__intro-text">
<?php echo $translator->translate('MOD_DPCALENDAR_COUNTER_ONGOING_OUTPUT'); ?>
</div>
<a href="<?php echo $router->getEventRoute($event->id, $event->catid); ?>" class="mod-dpcalendar-counter__link dp-link">
<?php echo $event->title; ?>
</a>
<?php if ($event->images->image_intro) { ?>
<div class="mod-dpcalendar-upcoming-counter__image">
<figure class="dp-figure">
<a href="<?php echo $router->getEventRoute($event->id, $event->catid); ?>" class="mod-dpcalendar-counter__link dp-link">
<img class="dp-image" src="<?php echo $event->images->image_intro; ?>"
alt="<?php echo $event->images->image_intro_alt; ?>"
loading="lazy" <?php echo $event->images->image_intro_dimensions; ?>>
</a>
<?php if ($event->images->image_intro_caption) { ?>
<figcaption class="dp-figure__caption"><?php echo $event->images->image_intro_caption; ?></figcaption>
<?php } ?>
</figure>
</div>
<?php } ?>
<?php if ($event->truncatedDescription) { ?>
<div class="mod-dpcalendar-counter__description">
<?php echo $event->truncatedDescription; ?>
</div>
<?php } ?>
</div>
</div>
<?php } ?>
</div>
<div class="mod-dpcalendar-counter__custom-text">
<?php echo HTMLHelper::_('content.prepare', $translator->translate($params->get('textafter', ''))); ?>
</div>
</div>

View File

@@ -0,0 +1 @@
<!DOCTYPE html><title></title>

View File

@@ -0,0 +1,37 @@
<?php
/**
* @package DPCalendar
* @copyright Copyright (C) 2014 Digital Peak GmbH. <https://www.digital-peak.com>
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU/GPL
*/
\defined('_JEXEC') or die();
use Joomla\CMS\HTML\HTMLHelper;
$document->loadStyleFile('default.css', 'mod_dpcalendar_map');
$document->loadScriptFile('views/map/default.js');
$document->addStyle($params->get('custom_css', ''));
$layoutHelper->renderLayout('block.map', $displayData);
$translator->translateJS('COM_DPCALENDAR_FIELD_CONFIG_EVENT_LABEL_NO_EVENT_TEXT');
?>
<div class="mod-dpcalendar-map mod-dpcalendar-map-<?php echo $module->id; ?> dp-search-map"
data-popup="<?php echo $params->get('show_as_popup'); ?>">
<div class="mod-dpcalendar-map__custom-text">
<?php echo HTMLHelper::_('content.prepare', $translator->translate($params->get('textbefore', ''))); ?>
</div>
<?php echo $layoutHelper->renderLayout('block.loader', $displayData); ?>
<?php echo $layoutHelper->renderLayout('block.filter', $displayData); ?>
<div class="mod-dpcalendar-map__map dp-map"
style="width: <?php echo $params->get('width', '100%'); ?>; height: <?php echo $params->get('height', '300px'); ?>"
data-zoom="<?php echo $params->get('zoom', 4); ?>"
data-latitude="<?php echo $params->get('lat', 47); ?>"
data-longitude="<?php echo $params->get('long', 4); ?>"
data-ask-consent="<?php echo $params->get('map_ask_consent'); ?>">
</div>
<div class="mod-dpcalendar-map__custom-text">
<?php echo HTMLHelper::_('content.prepare', $translator->translate($params->get('textafter', ''))); ?>
</div>
</div>

View File

@@ -0,0 +1 @@
<!DOCTYPE html><title></title>

View File

@@ -0,0 +1,204 @@
<?php
/**
* @package DPCalendar
* @copyright Copyright (C) 2018 Digital Peak GmbH. <https://www.digital-peak.com>
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU/GPL
*/
\defined('_JEXEC') or die();
use DigitalPeak\Component\DPCalendar\Administrator\Helper\DPCalendarHelper;
use DigitalPeak\Component\DPCalendar\Administrator\Router\Router;;
use Joomla\Utilities\ArrayHelper;
$translator->translateJS('COM_DPCALENDAR_VIEW_CALENDAR_ALL_DAY');
$translator->translateJS('COM_DPCALENDAR_VIEW_CALENDAR_VIEW_MONTH');
$translator->translateJS('COM_DPCALENDAR_VIEW_CALENDAR_VIEW_WEEK');
$translator->translateJS('COM_DPCALENDAR_VIEW_CALENDAR_VIEW_DAY');
$translator->translateJS('COM_DPCALENDAR_VIEW_CALENDAR_VIEW_LIST');
$translator->translateJS('COM_DPCALENDAR_VIEW_CALENDAR_VIEW_TEXTS_UNTIL');
$translator->translateJS('COM_DPCALENDAR_VIEW_CALENDAR_VIEW_TEXTS_PAST');
$translator->translateJS('COM_DPCALENDAR_VIEW_CALENDAR_VIEW_TEXTS_TODAY');
$translator->translateJS('COM_DPCALENDAR_VIEW_CALENDAR_VIEW_TEXTS_TOMORROW');
$translator->translateJS('COM_DPCALENDAR_VIEW_CALENDAR_VIEW_TEXTS_THIS_WEEK');
$translator->translateJS('COM_DPCALENDAR_VIEW_CALENDAR_VIEW_TEXTS_NEXT_WEEK');
$translator->translateJS('COM_DPCALENDAR_VIEW_CALENDAR_VIEW_TEXTS_THIS_MONTH');
$translator->translateJS('COM_DPCALENDAR_VIEW_CALENDAR_VIEW_TEXTS_NEXT_MONTH');
$translator->translateJS('COM_DPCALENDAR_VIEW_CALENDAR_VIEW_TEXTS_FUTURE');
$translator->translateJS('COM_DPCALENDAR_VIEW_CALENDAR_VIEW_TEXTS_WEEK');
$translator->translateJS('COM_DPCALENDAR_VIEW_CALENDAR_VIEW_TEXTS_MORE');
$translator->translateJS('COM_DPCALENDAR_VIEW_CALENDAR_TOOLBAR_NEXT');
$translator->translateJS('COM_DPCALENDAR_VIEW_CALENDAR_TOOLBAR_PREVIOUS');
$translator->translateJS('COM_DPCALENDAR_VIEW_CALENDAR_TOOLBAR_TODAY');
$translator->translateJS('COM_DPCALENDAR_VIEW_CALENDAR_SHOW_DATEPICKER');
$translator->translateJS('COM_DPCALENDAR_VIEW_CALENDAR_TOOLBAR_PRINT');
$translator->translateJS('COM_DPCALENDAR_VIEW_CALENDAR_TOOLBAR_ADD');
$translator->translateJS('JCANCEL');
$translator->translateJS('COM_DPCALENDAR_CLOSE');
$translator->translateJS('COM_DPCALENDAR_PREVIOUS');
$translator->translateJS('COM_DPCALENDAR_NEXT');
$translator->translateJS('COM_DPCALENDAR_FIELD_CAPACITY_UNLIMITED');
$document->addScriptOptions('calendar.names', $dateHelper->getNames());
$document->addScriptOptions('timezone', $dateHelper->getDate()->getTimezone()->getName());
$document->addScriptOptions('itemid', $app->getInput()->getInt('Itemid', 0));
// The options which will be passed to the js library
$options = [];
$options['requestUrlRoot'] = 'view=events&limit=0&format=raw&module_id=' . $module->id . '&Itemid=' . $app->getInput()->getInt('Itemid', 0);
$options['calendarIds'] = [implode(',', $ids)];
// Set the default view
$options['initialView'] = $params->get('default_view', 'month');
// Some general calendar options
$options['weekNumbers'] = (bool)$params->get('week_numbers');
$options['weekends'] = (bool)$params->get('weekend', 1);
$options['fixedWeekCount'] = (bool)$params->get('fixed_week_count', 1);
$bd = $params->get('business_hours_days', []);
if ($bd && !(is_countable($bd) ? count($bd) : 0 === 1 && !$bd[0])) {
$options['businessHours'] = [
'startTime' => $params->get('business_hours_start', ''),
'endTime' => $params->get('business_hours_end', ''),
'daysOfWeek' => $params->get('business_hours_days', [])
];
}
$options['firstDay'] = (int)$params->get('weekstart', 1);
$options['hiddenDays'] = ArrayHelper::toInteger($params->get('hidden_days', []));
$options['scrollTime'] = $params->get('first_hour', 6) === 'now' ? 'now' : $params->get('first_hour', 6) . ':00:00';
$options['weekNumberCalculation'] = 'ISO';
$options['displayEventEnd'] = true;
$options['navLinks'] = true;
$max = $params->get('max_time', 24);
if (is_numeric($max)) {
$max .= ':00:00';
}
$options['slotMaxTime'] = $max;
$min = $params->get('min_time', 0);
if (is_numeric($min)) {
$min .= ':00:00';
}
$options['slotMinTime'] = $min;
$options['nowIndicator'] = (bool)$params->get('current_time_indicator', 1);
$options['displayEventTime'] = $params->get('compact_events', 2) != 2;
if ($params->get('event_limit', '') != '-1') {
$options['dayMaxEventRows'] = $params->get('event_limit', '') == '' ? 2 : $params->get('event_limit', '') + 1;
}
// Set the height
if ($params->get('calendar_height', 0) > 0) {
$options['contentHeight'] = (int)$params->get('calendar_height', 0);
} else {
$options['height'] = 'auto';
}
$options['slotEventOverlap'] = (bool)$params->get('overlap_events', 1);
// Set up the header
$options['headerToolbar'] = ['left' => [], 'center' => [], 'right' => []];
if ($params->get('header_show_navigation', 1)) {
$options['headerToolbar']['left'][] = 'prev';
$options['headerToolbar']['left'][] = 'next';
}
if ($params->get('header_show_today', 0)) {
$options['headerToolbar']['left'][] = 'today';
}
if ($params->get('header_show_datepicker', 0)) {
$options['headerToolbar']['left'][] = 'datepicker';
}
if ($params->get('header_show_create', 1) && DPCalendarHelper::canCreateEvent()) {
$options['headerToolbar']['left'][] = 'add';
}
if ($params->get('header_show_title', 1)) {
$options['headerToolbar']['center'][] = 'title';
}
if ($params->get('header_show_month', 1)) {
$options['headerToolbar']['right'][] = 'month';
}
if ($params->get('header_show_week', 1)) {
$options['headerToolbar']['right'][] = 'week';
}
if ($params->get('header_show_day', 1)) {
$options['headerToolbar']['right'][] = 'day';
} else {
$options['navLinks'] = false;
}
if ($params->get('header_show_list', 1)) {
$options['headerToolbar']['right'][] = 'list';
}
$options['headerToolbar']['left'] = implode(',', $options['headerToolbar']['left']);
$options['headerToolbar']['center'] = implode(',', $options['headerToolbar']['center']);
$options['headerToolbar']['right'] = implode(',', $options['headerToolbar']['right']);
$resourceViews = $params->get('calendar_resource_views');
if (!DPCalendarHelper::isFree() && $resourceViews && $resources) {
$options['resources'] = $resources;
$options['resourceViews'] = $resourceViews;
$options['datesAboveResources'] = true;
}
// Set up the views
$options['views'] = [];
$options['views']['month'] = [
'titleFormat' => $dateHelper->convertPHPDateToJS($params->get('titleformat_month', 'F Y')),
'eventTimeFormat' => $dateHelper->convertPHPDateToJS($params->get('timeformat_month', 'H:i')),
'dayHeaderFormat' => $dateHelper->convertPHPDateToJS($params->get('columnformat_month', 'D'))
];
$options['views']['week'] = [
'titleFormat' => $dateHelper->convertPHPDateToJS($params->get('titleformat_week', 'M j Y')),
'eventTimeFormat' => $dateHelper->convertPHPDateToJS($params->get('timeformat_week', 'H:i')),
'dayHeaderFormat' => $dateHelper->convertPHPDateToJS($params->get('columnformat_week', 'D n/j')),
'slotDuration' => $dateHelper->minutesToDuration((int)$params->get('agenda_slot_minutes', 30)),
'slotLabelInterval' => $dateHelper->minutesToDuration((int)$params->get('agenda_slot_minutes', 30)),
'slotLabelFormat' => $dateHelper->convertPHPDateToJS($params->get('axisformat_week', 'H:i'))
];
$options['views']['day'] = [
'titleFormat' => $dateHelper->convertPHPDateToJS($params->get('titleformat_day', 'F j Y')),
'eventTimeFormat' => $dateHelper->convertPHPDateToJS($params->get('timeformat_day', 'H:i')),
'dayHeaderFormat' => $dateHelper->convertPHPDateToJS($params->get('columnformat_day', 'l')),
'slotDuration' => $dateHelper->minutesToDuration((int)$params->get('agenda_slot_minutes', 30)),
'slotLabelInterval' => $dateHelper->minutesToDuration((int)$params->get('agenda_slot_minutes', 30)),
'slotLabelFormat' => $dateHelper->convertPHPDateToJS($params->get('axisformat_day', 'H:i'))
];
$options['views']['list'] = [
'titleFormat' => $dateHelper->convertPHPDateToJS($params->get('titleformat_list', 'M j Y')),
'eventTimeFormat' => $dateHelper->convertPHPDateToJS($params->get('timeformat_list', 'H:i')),
'dayHeaderFormat' => $dateHelper->convertPHPDateToJS($params->get('columnformat_list', 'D')),
'listDayFormat' => $dateHelper->convertPHPDateToJS($params->get('dayformat_list', 'l')),
'listDaySideFormat' => $dateHelper->convertPHPDateToJS($params->get('dateformat_list', 'F j, Y')),
'duration' => ['days' => (int)$params->get('list_range', 30)],
'noEventsContent' => $translator->translate('COM_DPCALENDAR_ERROR_EVENT_NOT_FOUND', true)
];
// Some DPCalendar specific options
$options['show_event_as_popup'] = $params->get('show_event_as_popup');
$options['popupWidth'] = $params->get('popup_width');
$options['popupHeight'] = $params->get('popup_height');
$options['show_event_tooltip'] = $params->get('show_event_tooltip', 1);
$options['show_map'] = $params->get('show_map', 1);
$options['event_create_form'] = (int)$params->get('event_create_form', 1);
$options['screen_size_list_view'] = $params->get('screen_size_list_view', 500);
$options['use_hash'] = false;
if (DPCalendarHelper::canCreateEvent()) {
$router = new Router();
$input = $app->getInput();
$returnPage = $input->getInt('Itemid', 0) ? 'index.php?Itemid=' . $input->getInt('Itemid', 0) : null;
$options['event_create_url'] = $router->getEventFormRoute('0', $returnPage, null, false);
}
// Set the actual date
$now = DPCalendarHelper::getDate($params->get('start_date'));
$options['year'] = $now->format('Y', true);
$options['month'] = $now->format('m', true);
$options['date'] = $now->format('d', true);
$document->addScriptOptions('module.mini.' . $module->id . '.options', $options);

View File

@@ -0,0 +1,50 @@
<?php
/**
* @package DPCalendar
* @copyright Copyright (C) 2014 Digital Peak GmbH. <https://www.digital-peak.com>
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU/GPL
*/
\defined('_JEXEC') or die();
use Joomla\CMS\Helper\ModuleHelper;
use Joomla\CMS\HTML\HTMLHelper;
if ($params->get('show_map', 1)) {
$layoutHelper->renderLayout('block.map', $displayData);
}
$document->loadScriptFile('views/calendar/default.js');
$document->loadScriptFile('views/calendar/default.js');
$document->loadStyleFile('default.css', 'mod_dpcalendar_mini');
$document->addStyle($params->get('custom_css', ''));
require ModuleHelper::getLayoutPath('mod_dpcalendar_mini', '_scripts');
$compact = $params->get('compact_events', 2) == 1 ? 'compact' : 'expanded';
?>
<div class="mod-dpcalendar-mini mod-dpcalendar-mini_<?php echo $compact; ?> mod-dpcalendar-mini-<?php echo $module->id; ?>">
<div class="mod-dpcalendar-mini__loader">
<?php echo $layoutHelper->renderLayout('block.loader', $displayData); ?>
</div>
<div class="mod-dpcalendar-mini__custom-text">
<?php echo HTMLHelper::_('content.prepare', $translator->translate($params->get('textbefore', ''))); ?>
</div>
<div class="mod-dpcalendar-mini__calendar dp-calendar"
data-options="DPCalendar.module.mini.<?php echo $module->id; ?>.options"></div>
<?php require ModuleHelper::getLayoutPath('mod_dpcalendar_mini', 'default_map'); ?>
<?php require ModuleHelper::getLayoutPath('mod_dpcalendar_mini', 'default_quickadd'); ?>
<?php require ModuleHelper::getLayoutPath('mod_dpcalendar_mini', 'default_icons'); ?>
<div class="dp-filter">
<form class="dp-form">
<?php foreach ($ids as $id) { ?>
<input type="hidden" name="filter[calendars][]" value="<?php echo $id; ?>">
<?php } ?>
<input type="hidden" name="list[start-date]">
<input type="hidden" name="list[end-date]">
</form>
</div>
<div class="mod-dpcalendar-mini__custom-text">
<?php echo HTMLHelper::_('content.prepare', $translator->translate($params->get('textafter', ''))); ?>
</div>
</div>

View File

@@ -0,0 +1,22 @@
<?php
/**
* @package DPCalendar
* @copyright Copyright (C) 2020 Digital Peak GmbH. <https://www.digital-peak.com>
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU/GPL
*/
\defined('_JEXEC') or die();
use DigitalPeak\Component\DPCalendar\Administrator\HTML\Block\Icon;
?>
<div class="mod-dpcalendar-mini__icons">
<?php echo $layoutHelper->renderLayout('block.icon', ['icon' => Icon::DELETE]); ?>
<?php echo $layoutHelper->renderLayout('block.icon', ['icon' => Icon::EDIT]); ?>
<?php echo $layoutHelper->renderLayout('block.icon', ['icon' => Icon::PLUS]); ?>
<?php echo $layoutHelper->renderLayout('block.icon', ['icon' => Icon::PRINTING]); ?>
<?php echo $layoutHelper->renderLayout('block.icon', ['icon' => Icon::CALENDAR]); ?>
<?php echo $layoutHelper->renderLayout('block.icon', ['icon' => Icon::NEXT]); ?>
<?php echo $layoutHelper->renderLayout('block.icon', ['icon' => Icon::BACK]); ?>
<?php echo $layoutHelper->renderLayout('block.icon', ['icon' => Icon::USERS]); ?>
<?php echo $layoutHelper->renderLayout('block.icon', ['icon' => Icon::MONEY]); ?>
</div>

View File

@@ -0,0 +1,20 @@
<?php
/**
* @package DPCalendar
* @copyright Copyright (C) 2019 Digital Peak GmbH. <https://www.digital-peak.com>
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU/GPL
*/
\defined('_JEXEC') or die();
if (!$params->get('show_map', 0)) {
return;
}
?>
<div class="mod-dpcalendar-mini__map dp-map"
style="width: <?php echo $params->get('map_width', '100%'); ?>; height: <?php echo $params->get('map_height', '350px'); ?>"
data-zoom="<?php echo $params->get('map_zoom', 4); ?>"
data-latitude="<?php echo $params->get('map_lat', 47); ?>"
data-longitude="<?php echo $params->get('map_long', 4); ?>"
data-ask-consent="<?php echo $params->get('map_ask_consent'); ?>">
</div>

View File

@@ -0,0 +1,47 @@
<?php
/**
* @package DPCalendar
* @copyright Copyright (C) 2023 Digital Peak GmbH. <https://www.digital-peak.com>
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU/GPL
*/
\defined('_JEXEC') or die();
use DigitalPeak\Component\DPCalendar\Administrator\Helper\DPCalendarHelper;
use Joomla\CMS\Uri\Uri;
use Joomla\CMS\HTML\HTMLHelper;
if (!DPCalendarHelper::canCreateEvent()) {
return;
}
?>
<div class="mod-dpcalendar-mini__quickadd dp-quickadd">
<form action="<?php echo $router->getEventFormRoute(0, Uri::getInstance()->toString()); ?>" method="post" class="dp-form form-validate">
<?php echo $quickaddForm->renderField('start_date'); ?>
<?php echo $quickaddForm->renderField('end_date'); ?>
<?php echo $quickaddForm->renderField('title'); ?>
<?php echo $quickaddForm->renderField('catid'); ?>
<?php echo $quickaddForm->renderField('color'); ?>
<input type="hidden" name="task" class="dp-input dp-input-hidden">
<input type="hidden" name="urlhash" class="dp-input dp-input-hidden">
<input type="hidden" name="jform[capacity]" value="0" class="dp-input dp-input-hidden">
<?php if ($params->get('event_create_form', 1) == '1' || $params->get('event_create_form', 1) == '3') { ?>
<input type="hidden" name="jform[all_day]" value="0" class="dp-input dp-input-hidden">
<?php } ?>
<input type="hidden" name="layout" value="edit" class="dp-input dp-input-hidden">
<input type="hidden" name="jform[location_ids][]" class="dp-input dp-input-hidden">
<input type="hidden" name="jform[rooms][]" class="dp-input dp-input-hidden">
<?php echo HTMLHelper::_('form.token'); ?>
<div class="dp-quickadd__buttons">
<button type="button" class="dp-button dp-quickadd__button-submit">
<?php echo $translator->translate('JSAVE'); ?>
</button>
<button type="button" class="dp-button dp-quickadd__button-edit">
<?php echo $translator->translate('JACTION_EDIT'); ?>
</button>
<button type="button" class="dp-button dp-quickadd__button-cancel">
<?php echo $translator->translate('JCANCEL'); ?>
</button>
</div>
</form>
</div>

View File

@@ -0,0 +1 @@
<!DOCTYPE html><title></title>

View File

@@ -0,0 +1,22 @@
<?php
/**
* @package DPCalendar
* @copyright Copyright (C) 2018 Digital Peak GmbH. <https://www.digital-peak.com>
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU/GPL
*/
\defined('_JEXEC') or die();
// Load the required modal JS libraries
if ($params->get('show_as_popup') || $params->get('show_map')) {
$document->loadScriptFile('default.js', 'mod_dpcalendar_upcoming');
$translator->translateJS('COM_DPCALENDAR_CLOSE');
}
if ($params->get('show_map')) {
$layoutHelper->renderLayout('block.map', $displayData);
}
// Load the stylesheet
$document->loadStyleFile(str_replace('_:', '', (string)$params->get('layout', 'default')) . '.css', 'mod_dpcalendar_upcoming');
$document->addStyle($params->get('custom_css', ''));

View File

@@ -0,0 +1,172 @@
<?php
/**
* @package DPCalendar
* @copyright Copyright (C) 2014 Digital Peak GmbH. <https://www.digital-peak.com>
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU/GPL
*/
\defined('_JEXEC') or die();
use DigitalPeak\Component\DPCalendar\Administrator\Helper\Booking;
use DigitalPeak\Component\DPCalendar\Administrator\Helper\DPCalendarHelper;
use DigitalPeak\Component\DPCalendar\Administrator\HTML\Block\Icon;
use Joomla\CMS\Helper\ModuleHelper;
use Joomla\CMS\HTML\HTMLHelper;
if (!$events) {
echo $translator->translate($params->get('no_events_text', 'MOD_DPCALENDAR_UPCOMING_NO_EVENT_TEXT'));
return;
}
require ModuleHelper::getLayoutPath('mod_dpcalendar_upcoming', '_scripts');
?>
<div class="mod-dpcalendar-upcoming mod-dpcalendar-upcoming-default mod-dpcalendar-upcoming-<?php echo $module->id; ?> dp-locations"
data-popup="<?php echo $params->get('show_as_popup', 0); ?>">
<div class="mod-dpcalendar-upcoming-default__custom-text">
<?php echo HTMLHelper::_('content.prepare', $translator->translate($params->get('textbefore', ''))); ?>
</div>
<div class="mod-dpcalendar-upcoming-default__events">
<?php foreach ($groupedEvents as $groupHeading => $events) { ?>
<?php if ($groupHeading) { ?>
<div class="mod-dpcalendar-upcoming-default__group">
<p class="mod-dpcalendar-upcoming-default__heading dp-group-heading"><?php echo $groupHeading; ?></p>
<?php } ?>
<?php foreach ($events as $event) { ?>
<?php $displayData['event'] = $event; ?>
<?php $startDate = $dateHelper->getDate($event->start_date, $event->all_day); ?>
<div class="mod-dpcalendar-upcoming-default__event dp-event dp-event_<?php echo $event->ongoing_start_date ? ($event->ongoing_end_date ? 'started' : 'finished') : 'future'; ?>">
<?php echo $layoutHelper->renderLayout('block.flatcalendar', ['date' => $startDate, 'color' => $event->color]); ?>
<div class="mod-dpcalendar-upcoming-default__information">
<?php if ($event->state == 3) { ?>
<span class="dp-event_canceled">[<?php echo $translator->translate('MOD_DPCALENDAR_UPCOMING_CANCELED'); ?>]</span>
<?php } ?>
<a href="<?php echo $event->realUrl; ?>" class="dp-event-url dp-link"><?php echo $event->title; ?></a>
<?php if ($params->get('show_display_events') && $event->displayEvent->afterDisplayTitle) { ?>
<div class="dp-event-display-after-title"><?php echo $event->displayEvent->afterDisplayTitle; ?></div>
<?php } ?>
<?php if (($params->get('show_location') || $params->get('show_map')) && isset($event->locations) && $event->locations) { ?>
<div class="mod-dpcalendar-upcoming-default__location">
<?php if ($params->get('show_location')) { ?>
<?php echo $layoutHelper->renderLayout('block.icon', ['icon' => Icon::LOCATION]); ?>
<?php } ?>
<?php foreach ($event->locations as $location) { ?>
<div class="dp-location<?php echo $params->get('show_location') ? '' : ' dp-location_hidden'; ?>">
<div class="dp-location__details"
data-latitude="<?php echo $location->latitude; ?>"
data-longitude="<?php echo $location->longitude; ?>"
data-title="<?php echo $location->title; ?>"
data-color="<?php echo $event->color; ?>"></div>
<?php if ($params->get('show_location')) { ?>
<a href="<?php echo $router->getLocationRoute($location); ?>" class="dp-location__url dp-link">
<span class="dp-location__title"><?php echo $location->title; ?></span>
<?php if (!empty($event->roomTitles[$location->id])) { ?>
<span class="dp-location__rooms">[<?php echo implode(', ', $event->roomTitles[$location->id]); ?>]</span>
<?php } ?>
</a>
<?php } ?>
<div class="dp-location__description">
<?php echo $layoutHelper->renderLayout('event.tooltip', $displayData); ?>
</div>
</div>
<?php } ?>
</div>
<?php } ?>
<div class="mod-dpcalendar-upcoming-default__date">
<?php echo $layoutHelper->renderLayout(
'block.icon',
['icon' => Icon::CLOCK, 'title' => $translator->translate('MOD_DPCALENDAR_UPCOMING_DATE')]
); ?>
<?php echo $dateHelper->getDateStringFromEvent($event, $params->get('date_format'), $params->get('time_format')); ?>
</div>
<?php if ($event->rrule) { ?>
<div class="mod-dpcalendar-upcoming-default__rrule">
<?php echo $layoutHelper->renderLayout(
'block.icon',
['icon' => Icon::RECURRING, 'title' => $translator->translate('MOD_DPCALENDAR_UPCOMING_SERIES')]
); ?>
<?php echo nl2br((string) $dateHelper->transformRRuleToString($event->rrule, $event->start_date, $event->exdates)); ?>
</div>
<?php } ?>
<?php if ($params->get('show_price') && $event->prices) { ?>
<?php foreach ($event->prices as $price) { ?>
<?php $discounted = Booking::getPriceWithDiscount($price->value, $event); ?>
<div class="mod-dpcalendar-upcoming-default__price dp-event-price">
<?php echo $layoutHelper->renderLayout(
'block.icon',
[
'icon' => Icon::MONEY,
'title' => $translator->translate('MOD_DPCALENDAR_UPCOMING_PRICES')
]
); ?>
<span class="dp-event-price__label">
<?php echo $price->label ?: $translator->translate('MOD_DPCALENDAR_UPCOMING_PRICES'); ?>
</span>
<span class="dp-event-price__regular<?php echo $discounted != $price->value ? ' dp-event-price__regular_has-discount' : ''; ?>">
<?php echo $price->value === '' ? '' : DPCalendarHelper::renderPrice($price->value); ?>
</span>
<?php if ($discounted != $price->value) { ?>
<span class="dp-event-price__discount"><?php echo DPCalendarHelper::renderPrice($discounted); ?></span>
<?php } ?>
<span class="dp-event-price__description">
<?php echo $price->description; ?>
</span>
</div>
<?php } ?>
<?php } ?>
</div>
<?php if ($params->get('show_image', 1) && $event->images->image_intro) { ?>
<div class="mod-dpcalendar-upcoming-default__image">
<figure class="dp-figure">
<a href="<?php echo $event->realUrl; ?>" class="dp-event-url dp-link">
<img class="dp-image" src="<?php echo $event->images->image_intro; ?>"
aria-label="<?php echo $event->images->image_intro_alt; ?>"
alt="<?php echo $event->images->image_intro_alt; ?>"
loading="lazy" <?php echo $event->images->image_intro_dimensions; ?>>
</a>
<?php if ($event->images->image_intro_caption) { ?>
<figcaption class="dp-figure__caption"><?php echo $event->images->image_intro_caption; ?></figcaption>
<?php } ?>
</figure>
</div>
<?php } ?>
<?php if ($params->get('show_booking', 1) && Booking::openForBooking($event)) { ?>
<a href="<?php echo $router->getBookingFormRouteFromEvent($event, $return, true, $moduleParams->get('default_menu_item', 0)); ?>"
class="dp-link dp-link_cta">
<?php echo $layoutHelper->renderLayout('block.icon', ['icon' => Icon::BOOK]); ?>
<span class="dp-link__text">
<?php echo $translator->translate('MOD_DPCALENDAR_UPCOMING_BOOK'); ?>
</span>
</a>
<?php } ?>
<?php if ($params->get('show_display_events') && $event->displayEvent->beforeDisplayContent) { ?>
<div class="dp-event-display-before-content"><?php echo $event->displayEvent->beforeDisplayContent; ?></div>
<?php } ?>
<div class="mod-dpcalendar-upcoming-default__description">
<?php echo $event->truncatedDescription; ?>
</div>
<?php if ($params->get('show_display_events') && $event->displayEvent->afterDisplayContent) { ?>
<div class="dp-event-display-after-content"><?php echo $event->displayEvent->afterDisplayContent; ?></div>
<?php } ?>
<?php $displayData['event'] = $event; ?>
<?php echo $layoutHelper->renderLayout('schema.event', $displayData); ?>
</div>
<?php } ?>
<?php if ($groupHeading) { ?>
</div>
<?php } ?>
<?php } ?>
</div>
<?php if ($params->get('show_map')) { ?>
<div class="mod-dpcalendar-upcoming-default__map dp-map"
style="width: <?php echo $params->get('map_width', '100%'); ?>; height: <?php echo $params->get('map_height', '350px'); ?>"
data-zoom="<?php echo $params->get('map_zoom', 4); ?>"
data-latitude="<?php echo $params->get('map_lat', 47); ?>"
data-longitude="<?php echo $params->get('map_long', 4); ?>"
data-ask-consent="<?php echo $params->get('map_ask_consent'); ?>">
</div>
<?php } ?>
<div class="mod-dpcalendar-upcoming-default__custom-text">
<?php echo HTMLHelper::_('content.prepare', $translator->translate($params->get('textafter', ''))); ?>
</div>
</div>

View File

@@ -0,0 +1 @@
<!DOCTYPE html><title></title>