<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.3 |
+ | CiviCRM version 4.4 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2013 |
+--------------------------------------------------------------------+
/**
* Add JavaScript variables to the global CRM object.
*
+ * Example:
+ * From the server:
+ * CRM_Core_Resources::singleton()->addSetting(array('myNamespace' => array('foo' => 'bar')));
+ * From javascript:
+ * CRM.myNamespace.foo // "bar"
+ *
+ * @see http://wiki.civicrm.org/confluence/display/CRMDOC/Javascript+Reference
+ *
* @param $settings array
* @return CRM_Core_Resources
*/
}
/**
- * Add JavaScript variables to the global CRM object.
+ * Add JavaScript variables to the global CRM object via a callback function.
*
* @param $callable function
* @return CRM_Core_Resources
return $this;
}
+ /**
+ * Helper fn for addSettingsFactory
+ */
public function getSettings() {
$result = $this->settings;
foreach ($this->settingsFactories as $callable) {
* Helper fn for addSetting
* Render JavaScript variables for the global CRM object.
*
- * Example:
- * From the server:
- * CRM_Core_Resources::singleton()->addSetting(array('myNamespace' => array('foo' => 'bar')));
- * From javascript:
- * CRM.myNamespace.foo // "bar"
- *
* @return string
*/
public function renderSetting() {
* Add translated string to the js CRM object.
* It can then be retrived from the client-side ts() function
* Variable substitutions can happen from client-side
- *
+ *
* Note: this function rarely needs to be called directly and is mostly for internal use.
* @see CRM_Core_Resources::addScriptFile which automatically adds translated strings from js files
*
}
}
- // Initialize CRM.url
+ // Initialize CRM.url and CRM.formatMoney
$url = CRM_Utils_System::url('civicrm/example', 'placeholder', FALSE, NULL, FALSE);
- $js = "CRM.url('init', '$url');";
+ $js = "CRM.url('init', '$url');\n";
+ $js .= "CRM.formatMoney('init', " . json_encode(CRM_Utils_Money::format(1234.56)) . ");";
$this->addScript($js, $jsWeight++, $region);
// Add global settings
$settings = array(
'userFramework' => $config->userFramework,
'resourceBase' => $config->resourceBase,
+ 'lcMessages' => $config->lcMessages,
);
$this->addSetting(array('config' => $settings));