Global Namespace
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
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.
}
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
Available: Elentra 1.2+
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
$ENTRADA_SETTINGS
$ENTRADA_TEMPLATE
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
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>
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()";
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";
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 title
key.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
$MODULES
$ADMINISTRATION
$SECTION
$ACTION
$MODULE
@todo
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
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 . "!";
Available: All Entrada versions
The
$COMMUNITY_URL
variable will return the full URL of this community.Available: All Entrada versions
Available: All Entrada versions
Available: All Entrada versions
Available: All Entrada versions
Available: All Entrada versions
Available: All Entrada versions
Last modified 5yr ago