Global Namespace

Last updated 10 months ago

Elentra ME

Elentra has many moving parts, and understanding what's available to you as a developer will go a long way to learning Elentra.

Objects

Arrays

Variables

$db (Object)

Available: All Elentra versions

The $db object allows you to access the active Elentra database connection. Elentra uses the ADOdb library to accomplish this.

While it is possible to use SQL directly in your code, it is currently considered best practice to access the database through the appropriate model (e.g. Model_Events::get($id)).

Example Usage (Select):

$query = "SELECT * FROM `events` WHERE `event_id` = ?";
$event = $db->GetRow($query, array($event_id));
if ($event) {
echo "<h1>" . $event["event_title"] . "</h1>";
}

Example Usage (Insert):

$processed = array(
"event_title" = clean_input($_POST["event_title"], array("nohtml"));
);
if ($db->AutoExecute("events", $processed, "INSERT")) {
// Event inserted.
}

Example Usage (Update):

$processed = array(
"course_active" = 0;
);
if ($db->AutoExecute("courses", $processed, "UPDATE", "course_id = " . (int) $id)) {
// Course updated.
}

$ENTRADA_ACL (Object)

Available: Elentra 1.2+

The $ENTRADA_ACL object allows you to check whether or not a user has access to do something. The [Elentra ACL] is fairly complex, so time should be taken to properly understand how it works.

Example Usage:

if ($ENTRADA_ACL->amIAllowed("event", "create", false)) {
echo "<a href=\"".ENTRADA_RELATIVE."/admin/events?section=add"\" class=\"btn\">Add Event</a>";
}

Entrada 1.6.1: www-root/core/library/Entrada/authentication/entrada_acl.inc.php

Entrada 1.7.0: www-root/core/library/Entrada/Acl.php

$ENTRADA_CACHE (Object)

Available: Elentra 1.2+

Using $ENTRADA_CACHE allows you to easily save and load contents from cache. It extends Zend_Cache.

Example Usage:

if (!$ENTRADA_CACHE->test("my-cache-key")) {
$cached_data = "Please cache and use this.";
$ENTRADA_CACHE->save($cached_data, "my-cache-key");
} else {
$cached_data = $ENTRADA_CACHE->load("my-cache-key");
}
echo $cached_data;

$ENTRADA_ROUTER (Object)

$ENTRADA_ROUTER

$ENTRADA_SETTINGS (Object)

$ENTRADA_SETTINGS

$ENTRADA_TEMPLATE (Object)

$ENTRADA_TEMPLATE

$ENTRADA_USER (Object)

Available: Unknown

The $ENTRADA_USER object provides details for the currently logged in user.

Example Usage:

/* Create the $ENTRADA_USER object based on the proxy_id of a user who has successfully logged in. */
$ENTRADA_USER = User::get($proxy_id);
/* Get the logged in user's proxy_id. */
$ENTRADA_USER->getID();
/* Get the logged in user's active proxy id (useful in situations where you expect user masking to occur) but will return the actual proxy_id of the user if masking is not being used. */
$ENTRADA_USER->getActiveId();
/* Get the logged in user's active organisation id */
$ENTRADA_USER->getActiveOrganisation();

Entrada 1.6.1: www-root/core/library/Models/users/User.class.php

$translate (Object)

Available: Elentra 1.3+

Whenever you need to output text on a page you should do so like $translate->_("Your String");. Elentra uses Zend_Translate to support multiple front-end languages, and when you wrap your language strings with the magic _() method your text can be replaced with the correct language.

Example Usage:

<div class="control-group">
<label class="control-label"><?php echo $translate->_("Course Name"); ?></label>
...
</div>

$ONLOAD (Array)

Available: All Elentra versions

The $ONLOAD array allows you to record JavaScript that you would like to run after the DOM load is complete. The elements added to this array during run-time are dynamically added to the bottom of your HTML document within a jQuery(document).ready(function() { ... }); block.

Example Usage:

$ONLOAD[] = "jQuery('#username').focus()";

$JQUERY (Array)

Available: All Elentra versions

The $JQUERY array allows you to manually include additional jQuery libraries in the correct location (i.e. after the main jQuery library, but before other dependencies) between the current page's <head></head> tags. The elements added to this array during run-time replace the %JQUERY% placeholder from the active template's header.tpl.php file.

Example Usage:

$JQUERY[] = "<script src=\"".ENTRADA_RELATIVE."/javascript/jquery/jquery.moment.min.js?release=".html_encode(APPLICATION_VERSION)."\"></script>\n";

$HEAD (Array)

Available: All Elentra versions

The $HEAD array allows you to include additional content between the current page's <head></head> tags. The elements added to this array during run-time replace the %HEAD% placeholder from the active template's header.tpl.php file.

Example Usage:

$HEAD[] = "<script src=\"" . ENTRADA_URL . "/javascript/AutoCompleteList.js?release=" . html_encode(APPLICATION_VERSION) . "\"></script>";

Available: All Elentra versions

The $BREADCRUMB array is a multidimensional array that is used to automatically generate a page's breadcrumb trail. You simply add arrays to the $BREADCRUMB array that contain a url and titlekey.

Example Usage:

$BREADCRUMB[] = array("url" => ENTRADA_RELATIVE . "/admin/example", "title" => $translate->_("Example Title"));
$BREADCRUMB[] = array("url" => ENTRADA_RELATIVE . "/admin/example/add", "title" => $translate->_("Add"));

Result:

/ [Example Title](/admin/example) / [Add](/admin/example/add)

$AGENT_CONTACTS (Array)

$AGENT_CONTACTS

$MODULES (Array)

$MODULES

$ADMINISTRATION (Array)

$ADMINISTRATION

$SECTION (Variable)

$SECTION

$ACTION (Variable)

$ACTION

$MODULE (Variable)

$MODULE

Elentra CPD

@todo

Communities

Elentra has many moving parts, and understanding what's available to you as a developer will go a long way to learning Elentra. This page covers the global namespace for the Community system.

Variables

$COMMUNITY_ID (Variable)

Available: All Entrada versions

The $COMMUNITY_ID variable will return the communities.community_id of the community that is currently being accessed by the user.

Example Usage:

echo "You are visiting community ID " . $COMMUNITY_ID . "!";

$COMMUNITY_URL (Variable)

Available: All Entrada versions

The $COMMUNITY_URL variable will return the full URL of this community.

$COMMUNITY_TEMPLATE (Variable)

Available: All Entrada versions

$COMMUNITY_THEME (Variable)

Available: All Entrada versions

$LOGGED_IN (Variable)

Available: All Entrada versions

$COMMUNITY_MEMBER_SINCE (Variable)

Available: All Entrada versions

$COMMUNITY_MEMBER (Variable)

Available: All Entrada versions

$COMMUNITY_ADMIN (Variable)

Available: All Entrada versions