/** * Returns HTML <script> block setting tooltips for response * * @param string $ps_namespace Optional namespace specifier; allows you to group tooltip code and output different tool tips at different times in the request cycle * @return string HTML <script> block setting up tooltips */ static function getLoadHTML() { $vs_buf = ''; if (!is_array(FooterManager::$opa_code)) { FooterManager::init(); } if (isset(FooterManager::$opa_code) && is_array(FooterManager::$opa_code) && sizeof(FooterManager::$opa_code)) { $vs_buf = join("\n", FooterManager::$opa_code); } return $vs_buf; }
/** * Generates standard-format inspector panels for editors * * @param View $po_view Inspector view object * @param array $pa_options Optional array of options. Supported options are: * backText = a string to use as the "back" button text; default is "Results" * * @return string HTML implementing the inspector */ function caBatchEditorInspector($po_view, $pa_options = null) { require_once __CA_MODELS_DIR__ . '/ca_sets.php'; $t_set = $po_view->getVar('t_set'); $t_item = $po_view->getVar('t_item'); $vs_table_name = $t_item->tableName(); if (($vs_priv_table_name = $vs_table_name) == 'ca_list_items') { $vs_priv_table_name = 'ca_lists'; } $o_result_context = $po_view->getVar('result_context'); $t_ui = $po_view->getVar('t_ui'); $o_dm = Datamodel::load(); // action extra to preserve currently open screen across next/previous links //$vs_screen_extra = ($po_view->getVar('screen')) ? '/'.$po_view->getVar('screen') : ''; $vs_buf = '<h3 class="nextPrevious">' . caNavLink($po_view->request, 'Back', '', 'manage', 'Set', 'ListSets') . "</h3>\n"; $vs_color = $vs_type_name = null; $t_type = method_exists($t_item, "getTypeInstance") ? $t_item->getTypeInstance() : null; if ($t_type) { $vs_color = trim($t_type->get('color')); $vs_type_name = $t_type->getTypeName(); } if (!$vs_color && $t_ui) { $vs_color = trim($t_ui->get('color')); } if (!$vs_color) { $vs_color = "444444"; } $vs_buf .= "<h4><div id='caColorbox' style='border: 6px solid #{$vs_color}; padding-bottom:15px;'>\n"; if ($po_view->request->user->canDoAction("can_edit_" . $vs_priv_table_name) && sizeof($t_item->getTypeList()) > 1) { if ($po_view->request->user->canDoAction("can_change_type_{$vs_table_name}")) { $vs_buf .= "<div id='inspectorChangeType'><div id='inspectorChangeTypeButton'><a href='#' onclick='caTypeChangePanel.showPanel(); return false;'>" . caNavIcon($po_view->request, __CA_NAV_BUTTON_CHANGE__, array('title' => _t('Change type'))) . "</a></div></div>\n"; TooltipManager::add("#inspectorChangeType", _t('Change Record Type')); $vo_change_type_view = new View($po_view->request, $po_view->request->getViewsDirectoryPath() . "/bundles/"); $vo_change_type_view->setVar('t_item', $t_item); $vo_change_type_view->setVar('t_set', $t_set); $vo_change_type_view->setVar('set_id', $t_set->getPrimaryKey()); FooterManager::add($vo_change_type_view->render("batch_change_type_html.php")); } $vs_buf .= "<strong>" . _t("Editing %1", $vs_type_name) . ": </strong>\n"; } else { $vs_buf .= "<strong>" . _t("Viewing %1", $vs_type_name) . ": </strong>\n"; } $vn_item_count = $t_set->getItemCount(array('user_id' => $po_view->request->getUserID())); $vs_item_name = $vn_item_count == 1 ? $t_item->getProperty("NAME_SINGULAR") : $t_item->getProperty("NAME_PLURAL"); $vs_buf .= "<strong>" . _t("Batch editing %1 %2 in set", $vn_item_count, $vs_item_name) . ": </strong>\n"; if (!($vs_label = $t_set->getLabelForDisplay())) { if (!($vs_label = $t_set->get('set_code'))) { $vs_label = '[' . _t('BLANK') . ']'; } } if ($t_set->haveAccessToSet($po_view->request->getUserID(), __CA_SET_EDIT_ACCESS__)) { $vs_label = caEditorLink($po_view->request, $vs_label, '', 'ca_sets', $t_set->getPrimaryKey()); } $vs_buf .= " {$vs_label}" . "<a title='{$vs_idno}'>" . ($vs_idno ? " ({$vs_idno})" : '') . "</a>\n"; // ------------------------------------------------------------------------------------- $vs_buf .= "<div>" . _t('Set contains <em>%1</em>', join(", ", $t_set->getTypesForItems())) . "</div>\n"; // ------------------------------------------------------------------------------------- // Nav link for batch delete // ------------------------------------------------------------------------------------- if ($vn_item_count > 0 && $po_view->request->user->canDoAction('can_batch_delete_' . $o_dm->getTableName($t_set->get('table_num')))) { $vs_buf .= "<div class='button' style='text-align:right;'><a href='#' id='inspectorMoreInfo'>" . _t("More options") . "</a> ›</div>\n\t\t\t\t<div id='inspectorInfo' style='background-color:#f9f9f9; border: 1px solid #eee;'>"; $vs_buf .= caNavLink($po_view->request, caNavIcon($po_view->request, __CA_NAV_BUTTON_DEL_BUNDLE__, array('style' => 'margin-top:7px; vertical-align: text-bottom;')) . " " . _t("Delete <strong><em>all</em></strong> records in set"), null, 'batch', 'Editor', 'Delete', array('set_id' => $t_set->getPrimaryKey())); $vs_buf .= "</div>\n"; $vs_buf .= "<script type='text/javascript'>\n\t\t\t\tjQuery('#inspectorMoreInfo').click(function() {\n\t\t\t\t\tjQuery('#inspectorInfo').slideToggle(350, function() { \n\t\t\t\t\t\tjQuery('#inspectorMoreInfo').html((this.style.display == 'block') ? '" . addslashes(_t('Close options')) . "' : '" . addslashes(_t('More options')) . "');\n\t\t\t\t\t}); \n\t\t\t\t\treturn false;\n\t\t\t\t});\n\t\t\t</script>"; } // ------------------------------------------------------------------------------------- $vs_buf .= "</div></h4>\n"; return $vs_buf; }
print " [<a href='#' onclick='jQuery(\"#caApplicationMonitor\").slideToggle(100); return false;'>\$</a>]"; } ?> </div></div><!-- end footer --> </div><!-- end footerContainer --> </div><!-- end center --> <script type="text/javascript"> // force content to fill window height jQuery(document).ready(function() { jQuery('#mainContent').css('min-height', (window.innerHeight - 40) + 'px'); }); </script> <?php print TooltipManager::getLoadHTML(); print FooterManager::getLoadHTML(); ?> <!-- Overlay for media display triggered from left sidenav widget or quicklook --> <div id="caMediaPanel" class="caMediaPanel"> <div id="caMediaPanelContentArea"></div> </div> <!-- Overlay for search/browse results-based editing --> <div id="caResultsEditorPanel" class="caResultsEditorPanel"> <div id="caResultsEditorPanelContentArea"></div> </div> <div id="editorFieldList"> <div id="editorFieldListHeader"><?php print _t('Form table of contents');