本文整理汇总了PHP中FabrikWorker::getMooVersion方法的典型用法代码示例。如果您正苦于以下问题:PHP FabrikWorker::getMooVersion方法的具体用法?PHP FabrikWorker::getMooVersion怎么用?PHP FabrikWorker::getMooVersion使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FabrikWorker
的用法示例。
在下文中一共展示了FabrikWorker::getMooVersion方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: loadJavascriptInstance
/**
* return the javascript to create an instance of the class defined in formJavascriptClass
* @param object parameters
* @param object table model
* @param array [0] => string table's form id to contain plugin
* @return bool
*/
function loadJavascriptInstance($params, $model, $args)
{
$form_id = $args[0];
FabrikHelperHTML::script('element.js', 'media/com_fabrik/js/');
$tableModel =& JModel::getInstance('table', 'FabrikModel');
$tableModel->setId(JRequest::getVar('tableid'));
$elements =& $tableModel->getElements('filtername');
$pels = $params->get('inline_editable_elements');
$use = trim($pels) == '' ? array() : explode(",", $pels);
$els = array();
foreach ($elements as $key => $val) {
$key = FabrikString::safeColNameToArrayKey($key);
if (empty($use) || in_array($key, $use)) {
$els[$key] = new stdClass();
$els[$key]->elid = $val->_id;
$els[$key]->plugin = $val->getElement()->plugin;
//load in all element js classes
$val->formJavascriptClass();
}
}
$opts = new stdClass();
$opts->mooversion = FabrikWorker::getMooVersion() == 1 ? 1.2 : 1.1;
$opts->elements = $els;
$opts->tableid = $tableModel->_id;
$opts->focusClass = 'focusClass';
$opts->liveSite = COM_FABRIK_LIVESITE;
$opts->editEvent = $params->get('inline_edit_event', 'dblclick');
$opts->tabSave = $params->get('inline_tab_save', false);
$opts->showCancel = $params->get('inline_show_cancel', true);
$opts->showSave = $params->get('inline_show_save', true);
$opts->loadFirst = (bool) $params->get('inline_load_first', false);
$opts = json_encode($opts);
$lang = $this->_getLang();
$lang = json_encode($lang);
$this->jsInstance = "new FbTableInlineEdit('{$form_id}', {$opts}, {$lang})";
return true;
}
示例2: elementJavascript
/**
* return tehe javascript to create an instance of the class defined in formJavascriptClass
* @return string javascript to create instance. Instance name must be 'el'
*/
function elementJavascript($repeatCounter)
{
$id = $this->getHTMLId($repeatCounter);
$element =& $this->getElement();
$data =& $this->_form->_data;
$arVals = explode(GROUPSPLITTER2, $element->sub_values);
$arTxt = explode(GROUPSPLITTER2, $element->sub_labels);
$params =& $this->getParams();
$opts =& $this->getElementJSOptions($repeatCounter);
$opts->mooversion = FabrikWorker::getMooVersion() == 1 ? 1.2 : 1.1;
$opts->allowadd = $params->get('allowadd', false);
$opts->defaultVal = $this->getValue($data, $repeatCounter);
$opts->data = array_combine($arVals, $arTxt);
$opts->splitter = GROUPSPLITTER2;
$opts->hovercolour = $params->get('picklist-hovercolour', '#AFFFFD');
$opts->bghovercolour = $params->get('picklist-bghovercolour', '#FFFFDF');
$opts = json_encode($opts);
$lang = new stdClass();
$lang->dropstuff = JText::_('Drag items from other list and drop here');
$lang = json_encode($lang);
return "new fbPicklist('{$id}', {$opts}, {$lang})";
}
示例3: loadJavascriptInstance
/**
* return the javascript to create an instance of the class defined in formJavascriptClass
* @param object parameters
* @param object table model
* @param array [0] => string table's form id to contain plugin
* @return bool
*/
function loadJavascriptInstance($params, $model, $args)
{
$form_id = $args[0];
$opts = new stdClass();
$opts->liveSite = COM_FABRIK_LIVESITE;
$opts->name = $this->_getButtonName();
$opts->mooversion = FabrikWorker::getMooVersion() == 1 ? 1.2 : 1.1;
$opts->renderOrder = $this->renderOrder;
$opts = json_encode($opts);
$lang = $this->_getLang();
$lang = json_encode($lang);
$this->jsInstance = "new fbTableEmail('{$form_id}', {$opts}, {$lang})";
return true;
}
示例4: getAdminJS
function getAdminJS()
{
$element =& $this->getElement();
$mooversion = FabrikWorker::getMooVersion() == 1 ? 1.2 : 1.1;
$sub_values = explode("|", $element->sub_values);
$sub_texts = explode("|", $element->sub_labels);
$sub_intial_selections = explode("|", $element->sub_intial_selection);
$script = "\tvar fabrikcheckbox = new fabrikAdminCheckbox({'mooversion':'{$mooversion}'});\n" . "\tpluginControllers.push({element:'fabrikcheckbox', controller:fabrikcheckbox});\n";
$json = array();
for ($ii = 0; $ii < count($sub_values) && $ii < count($sub_texts); $ii++) {
$bits = array(html_entity_decode($sub_values[$ii], ENT_QUOTES), html_entity_decode($sub_texts[$ii], ENT_QUOTES));
if (in_array($sub_values[$ii], $sub_intial_selections)) {
$bits[] = 'checked';
}
$json[] = $bits;
}
$script .= "\tfabrikcheckbox.addSubElements(" . json_encode($json) . ");\n";
return $script;
}
示例5: getManagementJS
protected function getManagementJS($data = array())
{
global $Itemid;
// $$$ rob ALWAYS load the calendar (so its avaible in ajax forms)
FabrikHelperHTML::loadcalendar();
$app =& JFactory::getApplication();
$model =& $this->getModel();
$table =& $model->getTable();
$formModel =& $model->getForm();
$elementsNotInTable =& $formModel->getElementsNotInTable();
$keys = array('id' => '', 'name' => '', 'label' => '');
foreach ($elementsNotInTable as &$i) {
if (is_a($i, 'TableElement')) {
$i = array_intersect_key($i->getPublicProperties(), $keys);
}
}
FabrikHelperHTML::packageJS();
$document =& JFactory::getDocument();
if ($model->requiresSlimbox()) {
FabrikHelperHTML::slimbox();
}
if ($model->requiresMocha()) {
FabrikHelperHTML::mocha();
}
FabrikHelperHTML::script('table.js', 'media/com_fabrik/js/', true);
$tmpl = $this->getTmpl();
FabrikHelperHTML::stylesheet('table.css', 'media/com_fabrik/css/');
// check for a custom css file and include it if it exists
FabrikHelperHTML::stylesheetFromPath("components" . DS . "com_fabrik" . DS . "views" . DS . "table" . DS . "tmpl" . DS . $tmpl . DS . "template.css");
//check and add a general fabrik custom css file overrides template css and generic table css
FabrikHelperHTML::stylesheetFromPath("media" . DS . "com_fabrik" . DS . "css" . DS . "custom.css");
//check and add a specific table template css file overrides template css generic table css and generic custom css
FabrikHelperHTML::stylesheetFromPath("components" . DS . "com_fabrik" . DS . "views" . DS . "table" . DS . "tmpl" . DS . $tmpl . DS . "custom.css");
// check for a custom js file and include it if it exists
$aJsPath = JPATH_SITE . DS . "components" . DS . "com_fabrik" . DS . "views" . DS . "table" . DS . "tmpl" . DS . $tmpl . DS . "javascript.js";
if (JFile::exists($aJsPath)) {
FabrikHelperHTML::script("javascript.js", 'components/com_fabrik/views/table/tmpl/' . $tmpl . '/', true);
}
$origRows = $this->rows;
$this->rows = array(array());
$tmpItemid = !isset($Itemid) ? 0 : $Itemid;
$this->_c = 0;
$this->_row = new stdClass();
$script = '';
// $$$ rob done in HTMLHelper
//$script = "/* <![CDATA[ */ \n";
static $tableini;
if (!$tableini) {
$tableini = true;
$script .= "var oTables = \$H();\n";
}
$opts = new stdClass();
$opts->admin = $app->isAdmin();
$opts->postMethod = $model->getPostMethod();
$opts->filterMethod = $this->filter_action;
$opts->form = 'tableform_' . $model->_id;
$opts->headings = $model->_jsonHeadings();
$labels = $this->headings;
foreach ($labels as &$l) {
$l = strip_tags($l);
}
$opts->labels = $labels;
$opts->primaryKey = $table->db_primary_key;
$opts->Itemid = $tmpItemid;
$opts->formid = $model->_oForm->getId();
$opts->canEdit = $model->canEdit() ? "1" : "0";
$opts->canView = $model->canView() ? "1" : "0";
$opts->page = JRoute::_('index.php');
$opts->isGrouped = $this->isGrouped;
$opts->mooversion = FabrikWorker::getMooVersion() == 1 ? 1.2 : 1.1;
if (FabrikWorker::nativeMootools12()) {
$opts->mooversion = 1.24;
}
$opts->formels = $elementsNotInTable;
//if table data starts as empty then we need the html from the row
// template otherwise we can't add a row to the table
if ($model->_postMethod == 'ajax') {
ob_start();
$this->_row = new stdClass();
$this->_row->id = '';
$this->_row->class = 'fabrik_row';
require COM_FABRIK_FRONTEND . DS . 'views' . DS . 'table' . DS . 'tmpl' . DS . 'default' . DS . 'default_row.php';
$opts->rowtemplate = ob_get_contents();
ob_end_clean();
}
//$$$rob if you are loading a table in a window from a form db join select record option
// then we want to know the id of the window so we can set its showSpinner() method
$opts->winid = JRequest::getVar('winid', '');
$opts->ajaxEditViewLink = $model->ajaxEditViewLink() ? 1 : 0;
$opts = json_encode($opts);
$lang = new stdClass();
$lang->select_rows = JText::_('SELECT SOME ROWS FOR DELETION');
$lang->yes = JText::_('Yes');
$lang->no = JText::_('No');
$lang->select_colums_to_export = JText::_('SELECT_COLUMNS_TO_EXPORT');
$lang->include_filters = JText::_('INCLUDE_FILTERS');
$lang->include_data = JText::_('INCLUDE_DATA');
$lang->inlcude_raw_data = JText::_('INCLUDE_RAW_DATA');
$lang->include_calculations = JText::_('INLCUDE_CALCULATIONS');
$lang->export = JText::_('EXPORT');
//.........这里部分代码省略.........
示例6: render
/**
* @param object element model
* @param object element params
* @param string row data for this element
*/
function render(&$model, &$params, $file)
{
$fbConfig =& JComponentHelper::getParams('com_fabrik');
ini_set('display_errors', true);
require_once COM_FABRIK_FRONTEND . DS . 'libs' . DS . 'getid3' . DS . 'getid3' . DS . 'getid3.php';
require_once COM_FABRIK_FRONTEND . DS . 'libs' . DS . 'getid3' . DS . 'getid3' . DS . 'getid3.lib.php';
getid3_lib::IncludeDependency(COM_FABRIK_FRONTEND . DS . 'libs' . DS . 'getid3' . DS . 'getid3' . DS . 'extension.cache.mysql.php', __FILE__, true);
$config =& JFactory::getConfig();
$host = $config->getValue('host');
$database = $config->getValue('db');
$username = $config->getValue('user');
$password = $config->getValue('password');
$getID3 = new getID3_cached_mysql($host, $database, $username, $password);
// Analyze file and store returned data in $ThisFileInfo
$relPath = str_replace("\\", "/", JPATH_SITE . $file);
$thisFileInfo = $getID3->analyze($relPath);
//var_dump($relPath, $thisFileInfo);
$w = $params->get('fu_main_max_width', 0);
$h = $params->get('fu_main_max_height', 0);
if (is_array($thisFileInfo)) {
if (array_key_exists('swf', $thisFileInfo)) {
if ($thisFileInfo['swf']['header']['frame_width'] < $w || $thisFileInfo['swf']['header']['frame_height'] < $h) {
$w = $thisFileInfo['swf']['header']['frame_width'];
$h = $thisFileInfo['swf']['header']['frame_height'];
}
}
}
if ($w <= 0 || $h <= 0) {
$w = 800;
$h = 600;
}
// $$$ hugh - if they've enabled thumbnails, for Flash content we'll take that to mean they don't
// want to play the content inline in the table, and use mediabox (if available) to open it instead.
if (!$model->_inDetailedView && $fbConfig->get('use_mediabox', true) && FabrikWorker::getMooVersion() == 1 && $params->get('make_thumbnail', false)) {
$element =& $model->getElement();
// @TODO - work out how to do thumbnails
// $$$ hugh - thought about using thumbed-down embedded Flash as
// thumbnail, but really need to avoid having to download every flash in
// the table on page load! But just doesn't seem to be a way of getting
// a thumbnail from a Flash. For now, just use a default "Here Be Flash"
// icon for the thumb. Might be nice to add 'icon to use' option for Upload
// element, so if it isn't an image type, you can point at another element on the form,
// (either and Upload or an Image) and use that as the thumb for this content.
/*
$thumb_w = $params->get('thumb_max_width');
$thumb_h = $params->get('thumb_max_height');
$file = str_replace("\\", "/", COM_FABRIK_LIVESITE . $file);
$this->output = "<object width=\"$w\" height=\"$h\">
<param name=\"movie\" value=\"$file\">
<embed src=\"$file\" width=\"$thumb_w\" height=\"$thumb_h\">
</embed>
</object>";
*/
$thumb_dir = $params->get('thumb_dir');
if (!empty($thumb_dir)) {
$file = str_replace("\\", "/", $file);
$pathinfo = pathinfo($file);
// $$$ hugh - apparently filename ocnstant only added in PHP 5.2
if (!isset($pathinfo['filename'])) {
$pathinfo['filename'] = explode('.', $pathinfo['basename']);
$pathinfo['filename'] = $pathinfo['filename'][0];
}
$thumb_path = COM_FABRIK_BASE . DS . $thumb_dir . DS . $pathinfo['filename'] . '.png';
if (JFile::exists($thumb_path)) {
$thumb_file = COM_FABRIK_LIVESITE . $thumb_dir . '/' . $pathinfo['filename'] . '.png';
} else {
$thumb_file = COM_FABRIK_LIVESITE . "media/com_fabrik/images/flash.jpg";
}
} else {
$thumb_file = COM_FABRIK_LIVESITE . "media/com_fabrik/images/flash.jpg";
}
$file = str_replace("\\", "/", COM_FABRIK_LIVESITE . $file);
$this->output .= "<a href=\"{$file}\" rel=\"lightbox[flash {$w} {$h}]\"><img src=\"{$thumb_file}\" alt=\"Full Size\" /></a>";
} else {
if ($model->_inDetailedView) {
$file = str_replace("\\", "/", COM_FABRIK_LIVESITE . $file);
$this->output .= "<object width=\"{$w}\" height=\"{$h}\">\n\t\t\t\t<param name=\"movie\" value=\"{$file}\">\n\t\t\t\t<embed src=\"{$file}\" width=\"{$w}\" height=\"{$h}\">\n\t\t\t\t</embed>\n\t\t\t\t</object>";
} else {
$file = str_replace("\\", "/", COM_FABRIK_LIVESITE . $file);
$this->output .= "<object width=\"{$w}\" height=\"{$h}\">\n\t\t\t\t<param name=\"movie\" value=\"{$file}\">\n\t\t\t\t<embed src=\"{$file}\" width=\"{$w}\" height=\"{$h}\">\n\t\t\t\t</embed>\n\t\t\t\t</object>";
}
}
//}
}
示例7: edit
/**
* Display the form to add or edit a table
* @param object table
* @param array the drop down lists used on the form
* @param array connection tables
* @param object menus
* @param string compoent action
* @param int form id that the table links to?
* @param object parameters
* @param object plugin mangager
* @param object table model
*/
function edit($row, $lists, $connectionTables, $menus, $fabrikid, $params, $pluginManager, $model, $form)
{
JHTML::stylesheet('fabrikadmin.css', 'administrator/components/com_fabrik/views/');
FabrikViewTable::setTableToolbar();
JRequest::setVar('hidemainmenu', 1);
$document =& JFactory::getDocument();
FabrikHelperHTML::script('namespace.js', 'administrator/components/com_fabrik/views/', true);
FabrikHelperHTML::script('pluginmanager.js', 'administrator/components/com_fabrik/views/', true);
FabrikHelperHTML::script('admintable.js', 'administrator/components/com_fabrik/views/', true);
JFilterOutput::objectHTMLSafe($row);
jimport('joomla.html.editor');
//just until joomla uses mootools 1.2
FabrikHelperHTML::mootools();
require_once COM_FABRIK_FRONTEND . DS . 'helpers' . DS . 'editor.php';
jimport('joomla.html.pane');
FabrikHelperHTML::tips();
$editor =& FabrikHelperHTML::getEditor();
$pane =& JPane::getInstance();
$fbConfig =& JComponentHelper::getParams('com_fabrik');
$opts = new stdClass();
$opts->mooversion = FabrikWorker::getMooVersion() == 1 ? 1.2 : 1.1;
$opts = FastJSON::encode($opts);
$lang = new stdClass();
$lang->action = JText::_('ACTION');
$lang->do = JText::_('DO');
$lang->del = JText::_('DELETE');
$lang->in = JText::_('IN');
$lang->on = JText::_('ON');
$lang->options = JText::_('OPTIONS');
$lang->please_select = JText::_('COM_FABRIK_PLEASE_SELECT');
$lang = FastJSON::encode($lang);
$js = "window.addEvent('domready', function() {\n \t\tvar aPlugins = [];\n";
$js .= $pluginManager->getAdminPluginJs('table', $row, $lists);
$js .= "controller = new TablePluginManager(aPlugins, {$lang}, {$opts});\n";
$usedPlugins = $params->get('plugin', '', '_default', 'array');
$js .= $pluginManager->getAdminSelectedPluginJS('table', $row, $lists, $params);
$js .= "});\n";
$js .= "var connectiontables = new Array;\n";
$i = 0;
if (is_array($connectionTables)) {
foreach ($connectionTables as $k => $items) {
foreach ($items as $v) {
$js .= "connectiontables[" . $i++ . "] = new Array('{$k}','" . addslashes($v->value) . "','" . addslashes($v->text) . "');\n\t\t";
}
}
}
$js .= "\n\t\t\tfunction submitbutton(pressbutton) {\n\t\t\t\tif (pressbutton == 'cancel') {\n\t\t\t\t\tsubmitform( pressbutton);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tvar err = '';";
$js .= $editor->save('introduction');
$js .= "if(\$('label').value == '') {\n\t\t\t\t\terr = err +'" . JText::_('PLEASE ENTER A TABLE LABEL', true) . '\\n' . "';\n\t\t\t\t}\n\n\t\t\t\tif(\$('database_name')) {\n\t\t\t\t\tif(\$('database_name').value == '') {\n\t\t\t\t\t\tif(\$('connection_id')) {\n\t\t\t\t\t\t\tif(\$('connection_id').value == '-1') {\n\t\t\t\t\t\t\t\terr = err +'" . JText::_('PLEASE SELECT A CONNECTION', true) . '\\n' . "';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(\$('tablename')) {\n\t\t\t\t\t\t\tif(\$('tablename').value == '' || \$('tablename').value == '-1') {\n\t\t\t\t\t\t\t\terr = err + '" . JText::_('PLEASE SELECT A DATABASE TABLE', true) . '\\n' . "';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (err == '') {\n\t\t\t\t\tsubmitform( pressbutton);\n\t\t\t\t}else{\n\t\t\t\t\talert (err);\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar joinCounter = 0;";
$document->addScriptDeclaration($js);
FabrikHelperHTML::cleanMootools();
?>
<form action="index.php" method="post" name="adminForm">
<table style="width: 100%">
<tr>
<td style="width: 50%" valign="top">
<fieldset class="adminform"><legend><?php
echo JText::_('DETAILS');
?>
</legend>
<table class="admintable">
<tr>
<td class="key"><label for="label"><?php
echo JText::_('LABEL');
?>
</label></td>
<td><input class="inputbox" type="text" id="label" name="label"
size="50" value="<?php
echo $row->label;
?>
" /></td>
</tr>
<tr>
<td class="key"><?php
echo JText::_('INTRODUCTION');
?>
</td>
<td><?php
echo $editor->display('introduction', $row->introduction, '100%', '200', '45', '25', false);
?>
</td>
</tr>
</table>
</fieldset>
<fieldset><legend><?php
echo JText::_('FILTERS');
?>
//.........这里部分代码省略.........
示例8: display
function display($tmpl = 'default')
{
global $Itemid;
$app =& JFactory::getApplication();
JHTML::_('behavior.calendar');
require_once COM_FABRIK_FRONTEND . DS . 'helpers' . DS . 'html.php';
$pluginManager =& JModel::getInstance('Pluginmanager', 'FabrikModel');
$plugin =& $pluginManager->getPlugIn('calendar', 'visualization');
if (FabrikWorker::nativeMootools12()) {
FabrikHelperHTML::script('Mootools.Lang.js', 'components/com_fabrik/libs/mootools1.2/', true);
FabrikHelperHTML::script('date.js', 'components/com_fabrik/plugins/element/fabrikdate/', false);
FabrikHelperHTML::addScriptDeclaration("Date.defineParsers('%d([-./]%m([-./]%Y((T| )%X)?)?)?');");
}
FabrikHelperHTML::mocha();
FabrikHelperHTML::loadCalendar();
$model =& $this->getModel();
$usersConfig =& JComponentHelper::getParams('com_fabrik');
$id = JRequest::getVar('id', $usersConfig->get('visualizationid', JRequest::getInt('visualizationid', 0)));
$model->setId($id);
$this->row =& $model->getVisualization();
$model->setTableIds();
$this->assign('containerId', $this->get('ContainerId'));
$this->assignRef('filters', $this->get('Filters'));
$this->assign('showFilters', JRequest::getInt('showfilters', 1) === 1 ? 1 : 0);
$this->assign('filterFormURL', $this->get('FilterFormURL'));
$calendar =& $model->_row;
$this->calName = $model->getCalName();
$config =& JFactory::getConfig();
$document =& JFactory::getDocument();
$canAdd = $this->get('CanAdd');
$this->assign('requiredFiltersFound', $this->get('RequiredFiltersFound'));
if ($canAdd && $this->requiredFiltersFound) {
$app->enqueueMessage(JText::_('COM_FABRIK_DOUBLE_CLICK_TO_ADD_EVENT'));
}
$this->assign('canAdd', $canAdd);
//FabrikHelperHTML::mocha();
FabrikHelperHTML::packageJS();
$fbConfig =& JComponentHelper::getParams('com_fabrik');
JHTML::stylesheet('table.css', 'media/com_fabrik/css/');
FabrikHelperHTML::script('element.js', 'media/com_fabrik/js/', true);
FabrikHelperHTML::script('form.js', 'media/com_fabrik/js/', true);
FabrikHelperHTML::script('table.js', 'media/com_fabrik/js/', true);
FabrikHelperHTML::script('calendar.js', 'components/com_fabrik/plugins/visualization/calendar/', true);
$params =& $model->getParams();
//Get the active menu item
$usersConfig =& JComponentHelper::getParams('com_fabrik');
$urlfilters = JRequest::get('get');
unset($urlfilters['option']);
unset($urlfilters['view']);
unset($urlfilters['controller']);
unset($urlfilters['Itemid']);
unset($urlfilters['visualizationid']);
unset($urlfilters['format']);
if (empty($urlfilters)) {
$urlfilters = new stdClass();
}
$urls = new stdClass();
//dont JRoute as its wont load with sef?
$urls->del = 'index.php?option=com_fabrik&controller=visualization.calendar&view=visualization&task=deleteEvent&format=raw&Itemid=' . $Itemid . '&id=' . $id;
$urls->add = 'index.php?option=com_fabrik&view=visualization&controller=visualization.calendar&format=raw&Itemid=' . $Itemid . '&id=' . $id;
$user =& JFactory::getUser();
$legend = $params->get('show_calendar_legend', 0) ? $model->getLegend() : '';
$tmpl = $params->get('calendar_layout', 'default');
$pluginManager->loadJS();
$options = new stdClass();
$options->url = $urls;
$options->eventTables =& $model->getEventTables();
$options->calendarId = $calendar->id;
$options->popwiny = $params->get('yoffset', 0);
$options->urlfilters = $urlfilters;
$options->canAdd = $canAdd;
$options->tmpl = $tmpl;
$formView =& $this->_formView;
$formView->_isMambot = true;
$o = $model->getAddStandardEventFormInfo();
if ($o != null) {
$options->tableid = $o->id;
$formView->setId($o->form_id);
$options->formid = $o->form_id;
}
$formModel =& $formView->getModel();
$form =& $formModel->getForm();
$options->mooversion = FabrikWorker::getMooVersion() == 1 ? 1.2 : 1.1;
$model->setRequestFilters();
$options->filters =& $model->filters;
// end not sure
$options->Itemid = $Itemid;
$options->standard_event_form = $params->get('use_standard_event_table', 0) == 1 ? true : false;
$options->show_day = $params->get('show_day', true);
$options->show_week = $params->get('show_week', true);
$options->days = array(JText::_('Sunday'), JText::_('Monday'), JText::_('Tuesday'), JText::_('Wednesday'), JText::_('Thursday'), JText::_('Friday'), JText::_('Saturday'));
$options->shortDays = array(JText::_('Sun'), JText::_('Mon'), JText::_('Tue'), JText::_('Wed'), JText::_('Thu'), JText::_('Fri'), JText::_('Sat'));
$options->months = array(JText::_('January'), JText::_('February'), JText::_('March'), JText::_('April'), JText::_('May'), JText::_('June'), JText::_('July'), JText::_('August'), JText::_('September'), JText::_('October'), JText::_('November'), JText::_('December'));
$options->shortMonths = array(JText::_('Jan'), JText::_('Feb'), JText::_('Mar'), JText::_('Apr'), JText::_('May'), JText::_('Jun'), JText::_('Jul'), JText::_('Aug'), JText::_('Sept'), JText::_('Oct'), JText::_('Nov'), JText::_('Dec'));
$options->first_week_day = (int) $params->get('first_week_day', 0);
$options->monthday = new stdClass();
$options->monthday->width = (int) $params->get('calendar-monthday-width', 90);
$options->monthday->height = (int) $params->get('calendar-monthday-height', 90);
$options->greyscaledweekend = $params->get('greyscaled-week-end', 0);
$options->viewType = $params->get('calendar_default_view', 'month');
//.........这里部分代码省略.........
示例9: _addJavascript
/**
* append the form javascript into the document head
* @param int table id
*/
function _addJavascript($tableId)
{
// $$$ rob ALWAYS load the calendar (so its avaible in ajax forms)
FabrikHelperHTML::loadcalendar();
$app =& JFactory::getApplication();
$document =& JFactory::getDocument();
$model =& $this->getModel();
$aLoadedElementPlugins = array();
$jsActions = array();
$jsControllerKey = $model->_editable ? 'form_' . $model->getId() : 'details_' . $model->getId();
$allJsActions = $model->getJsActions();
FabrikHelperHTML::packageJS();
if (!defined('_JOS_FABRIK_FORMJS_INCLUDED')) {
define('_JOS_FABRIK_FORMJS_INCLUDED', 1);
FabrikHelperHTML::slimbox();
FabrikHelperHTML::script('form.js', 'media/com_fabrik/js/', true);
FabrikHelperHTML::script('element.js', 'media/com_fabrik/js/', true);
}
$aWYSIWYGNames = array();
// $$$ hugh - yeat another one where if we =&, the $groups array pointer get buggered up and it
// skips a group
$groups = $model->getGroupsHiarachy();
foreach ($groups as $groupModel) {
$elementModels =& $groupModel->getPublishedElements();
foreach ($elementModels as $elementModel) {
$res = $elementModel->useEditor();
if ($res !== false) {
$aWYSIWYGNames[] = $res;
}
$eparams =& $elementModel->getParams();
//load in once the element js class files
// $$$ hugh - only needed getParent when we weren't saving changes to parent params to child
// which we should now be doing ... and getParent() causes an extra table lookup for every child
// element on the form.
//$element =& $elementModel->getParent();
$element =& $elementModel->getElement();
if (!in_array($element->plugin, $aLoadedElementPlugins)) {
$aLoadedElementPlugins[] = $element->plugin;
$elementModel->formJavascriptClass();
}
$eventMax = $groupModel->_repeatTotal == 0 ? 1 : $groupModel->_repeatTotal;
for ($c = 0; $c < $eventMax; $c++) {
$jsActions[] = $elementModel->getFormattedJSActions($allJsActions, $jsControllerKey, $c);
}
}
}
//new
$actions = trim(implode("\n", $jsActions));
//end new
$params =& $model->getParams();
$tableModel =& $model->getTableModel();
$table =& $tableModel->getTable();
$form =& $model->getForm();
FabrikHelperHTML::mocha();
$bkey = $model->_editable ? 'form_' . $model->getId() : 'details_' . $model->getId();
FabrikHelperHTML::tips('.hasTip', array(), "\$('{$bkey}')");
$key = FabrikString::safeColNameToArrayKey($table->db_primary_key);
$this->get('FormCss');
$this->get('CustomJsAction');
//$startJs = "window.addEvent('domready', function() {\n";
$startJs = "window.addEvent('" . FabrikHelperHTML::useLoadEvent() . "', function() {\n";
$endJs = "});\n";
$start_page = isset($model->sessionModel->last_page) ? (int) $model->sessionModel->last_page : 0;
if ($start_page !== 0) {
$app->enqueueMessage(JText::_('RESTARTINGMUTLIPAGEFORM'));
} else {
// form submitted but fails validation - needs to go to the last page
$start_page = JRequest::getInt('currentPage', 0);
}
$opts = new stdClass();
$opts->admin = $app->isAdmin();
$opts->postMethod = $this->get('PostMethod');
$opts->ajaxValidation = $params->get('ajax_validations');
$opts->primaryKey = $key;
$opts->liveSite = COM_FABRIK_LIVESITE;
$opts->error = @$form->origerror;
$opts->pages = $model->getPages();
$opts->plugins = array();
$opts->multipage_save = (bool) $model->saveMultiPage();
$opts->editable = $model->_editable;
$opts->start_page = $start_page;
$opts->mooversion = FabrikWorker::getMooVersion() == 1 ? 1.2 : 1.1;
//$$$rob dont int this as keys may be string
$opts->rowid = $model->_rowId;
//$$$rob if you are loading a table in a window from a form db join select record option
// then we want to know the id of the window so we can set its showSpinner() method
$opts->winid = JRequest::getVar('winid', '');
//for editing groups with joined data and an empty joined record (ie no joined records)
$hidden = array();
$maxRepeat = array();
$showMaxRepeats = array();
$postedRepeatGroupCounts = (array) JRequest::getVar('fabrik_repeat_group');
foreach ($this->groups as $g) {
$hidden[$g->id] = $g->startHidden;
if (JArrayHelper::getValue($postedRepeatGroupCounts, $g->id, 1) == 0) {
$hidden[$g->id] = true;
//.........这里部分代码省略.........
示例10: elementJavascriptOpts
function elementJavascriptOpts($repeatCounter)
{
$id = $this->getHTMLId($repeatCounter);
$params =& $this->getParams();
$element =& $this->getElement();
//$opts = $this->_getOptionVals();
$data =& $this->_form->_data;
$arSelected = $this->getValue($data, $repeatCounter);
$arVals = explode("|", $element->sub_values);
$arTxt = explode("|", $element->sub_labels);
$table = $params->get('join_db_name');
$opts =& $this->getElementJSOptions($repeatCounter);
$forms =& $this->getLinkedForms();
$popupform = $params->get('fabrikdatabasejoin_popupform');
$popuptableid = empty($popupform) || !isset($forms[$popupform]) ? '' : $forms[$popupform]->tableid;
$opts->mooversion = FabrikWorker::getMooVersion() == 1 ? 1.2 : 1.1;
$opts->liveSite = COM_FABRIK_LIVESITE;
$opts->id = $this->_id;
$opts->key = $table . "___" . $params->get('join_key_column');
$opts->label = $table . "___" . $params->get('join_val_column');
$opts->formid = $this->getForm()->getForm()->id;
$opts->tableid = $popuptableid;
$opts->value = $arSelected;
$opts->defaultVal = $this->getDefaultValue($data);
$opts->popupform = $popupform;
$opts->popwiny = $params->get('yoffset', 0);
$opts->display_type = $params->get('database_join_display_type', 'dropdown');
$opts->windowwidth = $params->get('join_popupwidth', 360);
$opts->displayType = $params->get('database_join_display_type', 'dropdown');
$opts->show_please_select = $params->get('database_join_show_please_select');
$opts->showDesc = $params->get('join_desc_column') === '' ? false : true;
$opts->autoCompleteOpts = $opts->display_type == 'auto-complete' ? FabrikHelperHTML::autoCompletOptions($id, $this->getElement()->id, 'fabrikdatabasejoin') : null;
$opts->allowadd = $params->get('fabrikdatabasejoin_frontend_add', 0) == 0 ? false : true;
if ($this->isJoin()) {
$join =& $this->getJoin();
$opts->elementName = $join->table_join;
$opts->elementShortName = $element->name;
}
$opts = json_encode($opts);
return $opts;
}
示例11: debug
/**
* add a debug out put section
* @param mixed string/object $content
* @param string $title
*/
function debug($content, $title = 'output:')
{
$config =& JComponentHelper::getParams('com_fabrik');
if ($config->get('use_fabrikdebug') == 0) {
return;
}
if (FabrikWorker::getMooVersion() == -1) {
return;
}
if (JRequest::getBool('fabrikdebug', 0, 'request') != 1) {
return;
}
if (JRequest::getVar('format') == 'raw') {
return;
}
echo "<div class=\"fabrikDebugOutputTitle\">{$title}</div>";
echo "<div class=\"fabrikDebugOutput fabrikDebugHidden\">";
if (is_object($content) || is_array($content)) {
echo "<pre>";
print_r($content);
echo "</pre>";
} else {
echo $content;
}
echo "</div>";
static $debug;
if (!isset($debug)) {
$debug = true;
$document =& JFactory::getDocument();
$style = ".fabrikDebugOutputTitle{padding:5px;background:#efefef;color:#333;border:1px solid #999;cursor:pointer}";
$style .= ".fabrikDebugOutput{padding:5px;background:#efefef;color:#999;}";
$style .= ".fabrikDebugOutput pre{padding:5px;background:#efefef;color:#999;}";
$style .= ".fabrikDebugHidden{display:none}";
$document->addStyleDeclaration($style);
$script = "window.addEvent('domready', function() {\n\t\t\t\$\$('.fabrikDebugOutputTitle').each(function(title) {\n\t\t\t\ttitle.addEvent('click', function(e) {\n\t\t\t\t\ttitle.getNext().toggleClass('fabrikDebugHidden');\n\t\t\t\t});\n\t\t\t});\n\t\t\t})";
FabrikHelperHTML::addScriptDeclaration($script);
}
}
示例12: getManagementJS
function getManagementJS($data = array())
{
global $Itemid;
$app =& JFactory::getApplication();
$model =& $this->getModel();
$table =& $model->getTable();
FabrikHelperHTML::packageJS();
$document =& JFactory::getDocument();
FabrikHelperHTML::slimbox();
FabrikHelperHTML::mocha();
FabrikHelperHTML::script('table.js', 'media/com_fabrik/js/', true);
$tmpl = JRequest::getVar('layout', $table->template);
// check for a custom css file and include it if it exists
$ab_css_file = JPATH_SITE . DS . "components" . DS . "com_fabrik" . DS . "views" . DS . "table" . DS . "tmpl" . DS . $tmpl . DS . "template.css";
if (file_exists($ab_css_file)) {
JHTML::stylesheet('template.css', 'components/com_fabrik/views/table/tmpl/' . $tmpl . '/');
}
// check for a custom js file and include it if it exists
$aJsPath = JPATH_SITE . DS . "components" . DS . "com_fabrik" . DS . "views" . DS . "table" . DS . "tmpl" . DS . $tmpl . DS . "javascript.js";
if (file_exists($aJsPath)) {
FabrikHelperHTML::script("javascript.js", 'components/com_fabrik/views/table/tmpl/' . $tmpl . '/', true);
}
// temporarily set data to load requierd info for js templates
$origRows = $this->rows;
$this->rows = array(array());
$tmpItemid = !isset($Itemid) ? 0 : $Itemid;
$this->_c = 0;
$this->_row = new stdClass();
$script = '';
static $tableini;
if (!$tableini) {
$tableini = true;
$script .= "var oTables = \$H();\n";
}
$opts = new stdClass();
$opts->admin = $app->isAdmin();
$opts->postMethod = $model->getPostMethod();
$opts->filterMethod = $this->filter_action;
$opts->form = 'tableform_' . $model->getId();
$opts->headings = $model->_jsonHeadings();
$opts->labels = $this->headings;
$opts->primaryKey = $table->db_primary_key;
$opts->data = $data;
$opts->Itemid = $tmpItemid;
$opts->formid = $model->_oForm->getId();
$opts->canEdit = $model->canEdit() ? "1" : "0";
$opts->canView = $model->canView() ? "1" : "0";
$opts->page = JRoute::_('index.php');
$opts->mooversion = FabrikWorker::getMooVersion() == 1 ? 1.2 : 1.1;
$opts = json_encode($opts);
$lang = new stdClass();
$lang->select_rows = JText::_('SELECT SOME ROWS FOR DELETION');
$lang = json_encode($lang);
$script .= "\n" . "var oTable = new fabrikTable(" . $model->getId() . ",";
$script .= $opts . "," . $lang;
$script .= "\n" . ");";
$script .= "\n" . "oTable.addListenTo('form_" . $model->_oForm->getId() . "');";
$script .= "\n" . "oTable.addListenTo('table_" . $model->getId() . "');";
$script .= "\n" . "oPackage.addBlock('table_" . $model->getId() . "', oTable);";
//add in plugin objects
$plugins = $this->get('PluginJsObjects');
$script .= "\noTable{$model->_id}.addPlugins([\n";
$script .= " " . implode(",\n ", $plugins);
$script .= "]\n);\n";
$script .= "oTables.set({$model->_id}, oTable);\n";
FabrikHelperHTML::addScriptDeclaration($script);
//reset data back to original settings
$this->rows = $origRows;
}
示例13: getElementJSOptions
/**
* create a class for the elements default javascript options
* @param int repeat group counter
* @return object options
*/
function getElementJSOptions($repeatCounter)
{
$element =& $this->getElement();
$opts = new stdClass();
$opts->splitter = GROUPSPLITTER2;
$data =& $this->_form->_data;
$opts->repeatCounter = $repeatCounter;
$opts->editable = $this->canView() && !$this->canUse() ? false : $this->_editable;
$opts->value = $this->getValue($data, $repeatCounter);
$opts->defaultVal = $this->getDefaultValue($data);
$opts->mooversion = FabrikWorker::getMooVersion() == 1 ? 1.2 : 1.1;
$validationEls = array();
$validations =& $this->getValidations();
if (!empty($validations) && $this->_editable) {
$watchElements = $this->getValidationWatchElements($repeatCounter);
foreach ($watchElements as $watchElement) {
$o = new stdClass();
$o->id = $watchElement['id'];
$o->triggerEvent = $watchElement['triggerEvent'];
$validationEls[] = $o;
}
}
$opts->watchElements = $validationEls;
$groupModel = $this->getGroup();
$opts->canRepeat = $groupModel->canRepeat() == '1';
$opts->isGroupJoin = $groupModel->isJoin() == '1';
if ($this->isJoin()) {
$opts->joinid = (int) $this->getJoinModel()->getJoin()->id;
} else {
$opts->joinid = (int) $groupModel->getGroup()->join_id;
}
return $opts;
}