CRM_Utils_System_Joomla
class CRM_Utils_System_Joomla extends CRM_Utils_System_Base
Joomla specific stuff goes here.
Properties
bool | $is_drupal | Deprecated property to check if this is a drupal install. | from CRM_Utils_System_Base |
bool | $is_joomla | Deprecated property to check if this is a joomla install. The correct method is to have functions on the UF classes for all UF specific functions and leave the codebase oblivious to the type of CMS | from CRM_Utils_System_Base |
bool | $is_wordpress | deprecated property to check if this is a wordpress install. The correct method is to have functions on the UF classes for all UF specific functions and leave the codebase oblivious to the type of CMS | from CRM_Utils_System_Base |
bool | $supports_UF_Logging | Does this CMS / UF support a CMS specific logging mechanism? | from CRM_Utils_System_Base |
bool | $supports_form_extensions | from CRM_Utils_System_Base |
Methods
Load joomla bootstrap.
No description
No description
No description
No description
No description
FIXME: Do something
No description
FIXME: Use CMS-native approach
No description
Clear CMS caches related to the user registration/profile forms.
No description
If we are using a theming system, invoke theme, else just print the content.
Get the absolute path to the site's base url.
No description
Format the url as per language Negotiation.
Determine the location of the CMS root.
No description
No description
No description
No description
No description
No description
No description
Set a init session with user object.
Reset any system caches that may be required for proper CiviCRM integration.
No description
No description
No description
No description
Determine the default location for file storage.
Determine the location of the CiviCRM source tree.
Perform any post login activities required by the CMS.
Set timezone in mysql so that timestamp fields show the correct time.
No description
No description
No description
No description
No description
No description
Return a UFID (user account ID from the UserFramework / CMS system.
Return a unique identifier (usually an email address or username) from the UserFramework / CMS system.
Get a list of all installed modules, including enabled and disabled ones
No description
No description
No description
Send an HTTP Response base on PSR HTTP RespnseInterface response.
Class constructor.
Check if username and email exists in the Joomla db.
Set the email address of the user.
No description
Setup the base path related constant.
Details
in CRM_Utils_System_Base at line 53
initialize()
at line 561
loadBootStrap($params = [], $loadUser = TRUE, $throwError = TRUE, $realPath = NULL, bool $loadDefines = TRUE)
Load joomla bootstrap.
at line 186
appendBreadCrumb(array $breadCrumbs)
at line 212
resetBreadCrumb()
at line 218
addHTMLHead($string = NULL)
in CRM_Utils_System_Base at line 87
mapConfigToSSL()
Rewrite various system urls to https.
in CRM_Utils_System_Base at line 100
string
postURL(string $action)
Figure out the post url for QuickForm.
at line 252
string
url(string $path = NULL, string $query = NULL, bool $absolute = FALSE, string $fragment = NULL, bool $frontend = FALSE, bool $forceBackend = FALSE)
at line 334
array|bool
authenticate(string $name, string $password, bool $loadCMSBootstrap = FALSE, string $realPath = NULL)
at line 437
setMessage(string $message)
FIXME: Do something
at line 446
bool
loadUser(string $username, string $password = NULL)
at line 477
permissionDenied()
FIXME: Use CMS-native approach
at line 484
logout()
in CRM_Utils_System_Base at line 201
updateCategories()
Clear CMS caches related to the user registration/profile forms.
Used when updating/embedding profiles on CMS user forms.
at line 492
string|null
getUFLocale()
in CRM_Utils_System_Base at line 232
string|null
theme(string $content, bool $print = FALSE, bool $maintenance = FALSE)
If we are using a theming system, invoke theme, else just print the content.
in CRM_Utils_System_Base at line 287
string
getDefaultBlockLocation()
in CRM_Utils_System_Base at line 296
bool|mixed|string
getAbsoluteBaseURL()
Get the absolute path to the site's base url.
in CRM_Utils_System_Base at line 318
bool
getRelativeBaseURL()
Get the relative path to the sites base url.
at line 512
string
getVersion()
in CRM_Utils_System_Base at line 347
string
languageNegotiationURL(string $url, bool $addLanguagePart = TRUE, bool $removeLanguagePart = FALSE)
Format the url as per language Negotiation.
at line 773
string|null
cmsRootPath()
Determine the location of the CMS root.
at line 55
int|bool
createUser(array $params, string $mail)
at line 98
updateCMSName(int $ufID, $ufName)
at line 621
bool
isUserLoggedIn()
at line 629
bool
isUserRegistrationPermitted()
at line 640
bool
isPasswordUserGenerated()
in CRM_Utils_System_Base at line 426
bool
isFrontEndPage()
Is a front end page being accessed.
Generally this would be a contribution form or other public page as opposed to a backoffice page (like contact edit).
at line 719
string
getLoginURL(string $destination = '')
at line 735
string|NULL
getLoginDestination(CRM_Core_Form $form)
in CRM_Utils_System_Base at line 463
getUfId(string $username)
Determine the native ID of the CMS user.
at line 504
bool
setUFLocale(string $civicrm_language)
at line 423
setUserSession(array $data)
Set a init session with user object.
in CRM_Utils_System_Base at line 495
flush()
Reset any system caches that may be required for proper CiviCRM integration.
in CRM_Utils_System_Base at line 502
clearResourceCache()
Flush css/js caches.
in CRM_Utils_System_Base at line 519
bool
addScriptUrl(string $url, string $region)
Add a script file.
Note: This function is not to be called directly
in CRM_Utils_System_Base at line 536
bool
addScript(string $code, string $region)
Add an inline script.
Note: This function is not to be called directly
at line 228
bool
addStyleUrl(string $url, string $region)
at line 240
bool
addStyle(string $code, string $region)
at line 171
setTitle(string $title, string|null $pageTitle = NULL)
at line 789
array
getDefaultSiteSettings(string $dir = NULL)
in CRM_Utils_System_Base at line 614
array
getDefaultFileStorage()
Determine the default location for file storage.
FIXME: 1. This was pulled out from a bigger function. It should be split into even smaller pieces and marked abstract. 2. This would be easier to compute by a calling a CMS API, but for whatever reason Civi gets it from config data.
in CRM_Utils_System_Base at line 654
array
getCiviSourceStorage()
Determine the location of the CiviCRM source tree.
FIXME: 1. This was pulled out from a bigger function. It should be split into even smaller pieces and marked abstract. 2. This would be easier to compute by a calling a CMS API, but for whatever reason we take the hard way.
in CRM_Utils_System_Base at line 711
userLoginFinalize(array $params = [])
Perform any post login activities required by the CMS.
e.g. for drupal: records a watchdog message about the new session, saves the login timestamp, calls hook_user op 'login' and generates a new session.
in CRM_Utils_System_Base at line 717
setMySQLTimeZone()
Set timezone in mysql so that timestamp fields show the correct time.
in CRM_Utils_System_Base at line 730
string|false|null
getTimeZoneOffset()
Get timezone from CMS.
at line 687
string
getTimeZoneString()
at line 680
mixed
getUniqueIdentifierFromUserObject(object $user)
at line 673
null|int
getUserIDFromUserObject(object $user)
at line 663
array
getUser(int $contactID)
at line 647
int|null
getLoggedInUfID()
at line 655
string|null
getLoggedInUniqueIdentifier()
in CRM_Utils_System_Base at line 851
int
getBestUFID(object $user = NULL)
Return a UFID (user account ID from the UserFramework / CMS system.
ID is based on the user object passed, defaulting to the logged in user if not passed.
Note that ambiguous situation occurs in CRM_Core_BAO_UFMatch::synchronize - a cleaner approach would seem to be resolving the user id before calling the function.
Note there is already a function getUFId which takes $username as a param - we could add $user as a second param to it but it seems messy - just overloading it because the name is taken.
in CRM_Utils_System_Base at line 871
string
getBestUFUniqueIdentifier(object $user = NULL)
Return a unique identifier (usually an email address or username) from the UserFramework / CMS system.
This is based on the user object passed, defaulting to the logged in user if not passed.
Note that ambiguous situation occurs in CRM_Core_BAO_UFMatch::synchronize - a cleaner approach would seem to be resolving the unique identifier before calling the function.
at line 698
array
getModules()
Get a list of all installed modules, including enabled and disabled ones
at line 819
string|null
getUserRecordUrl(int $contactID)
at line 834
bool
checkPermissionAddUser()
in CRM_Utils_System_Base at line 914
outputError(string $content)
Output code from error function.
in CRM_Utils_System_Base at line 923
logger(string $message)
Log error to CMS.
in CRM_Utils_System_Base at line 931
appendCoreResources(GenericHookEvent $e)
Append to coreResourcesList.
in CRM_Utils_System_Base at line 939
alterAssetUrl(GenericHookEvent $e)
Modify dynamic assets.
in CRM_Utils_System_Base at line 946
setHttpHeader(string $name, string $value)
at line 843
array
synchronizeUsers()
in CRM_Utils_System_Base at line 966
sendResponse(ResponseInterface $response)
Send an HTTP Response base on PSR HTTP RespnseInterface response.
at line 42
__construct()
Class constructor.
at line 121
checkUserNameEmailExists(array $params, array $errors, string $emailName = 'email')
Check if username and email exists in the Joomla db.
at line 321
setEmail(object $user)
Set the email address of the user.
at line 522
getJVersion($joomlaBase)
at line 541
mixed
getBasePath()
Setup the base path related constant.