17 require_once SQ_INCLUDE_PATH.
'/asset_edit/asset_edit_fns.inc';
18 require_once SQ_SYSTEM_ROOT.
'/core/attributes/option_list/option_list.inc';
19 require_once SQ_FUDGE_PATH.
'/general/file_system.inc';
43 $this->static_screens[
'details'][
'force_unlock'] = FALSE;
61 $am = $GLOBALS[
'SQ_SYSTEM']->am;
62 $admin_access = $asset->writeAccess(
'attributes');
63 $prefix = $asset->getPrefix();
64 $questions = $asset->getQuestions();
68 <script type=
"text/javascript">
69 function sortOrderMoveDown(currentOrder) {
70 if (!document.getElementById) {
71 alert(
'<?php echo translate('cms_form_no_getelementbyid
') ?>');
75 var form = document.getElementById(
'main_form');
77 var currentElement = document.getElementById(
'<?php echo $prefix ?>_order_o' + currentOrder);
78 var nextElement = document.getElementById(
'<?php echo $prefix ?>_order_o' + (currentOrder + 1));
81 if (!nextElement)
return;
83 if (!currentElement.innerHTML) {
84 alert(
'<?php echo translate('cms_form_no_innerhtml
') ?>');
89 var temp = currentElement.innerHTML;
90 currentElement.innerHTML = nextElement.innerHTML;
91 nextElement.innerHTML = temp;
94 var currentElement = document.getElementById(
'<?php echo $prefix ?>_order_t' + currentOrder);
95 var nextElement = document.getElementById(
'<?php echo $prefix ?>_order_t' + (currentOrder + 1));
97 var temp = currentElement.innerHTML;
98 currentElement.innerHTML = nextElement.innerHTML;
99 nextElement.innerHTML = temp;
104 temp = form.elements[
'<?php echo $prefix ?>_order[delete][' + (currentOrder+1) +
']'].checked;
105 form.elements[
'<?php echo $prefix ?>_order[delete][' + (currentOrder+1) +
']'].checked = form.elements[
'<?php echo $prefix ?>_order[delete][' + currentOrder +
']'].checked;
106 form.elements[
'<?php echo $prefix ?>_order[delete][' + currentOrder +
']'].checked = temp;
109 temp = form.elements[
'<?php echo $prefix ?>_order[reorder][' + (currentOrder+1) +
']'].value;
110 form.elements[
'<?php echo $prefix ?>_order[reorder][' + (currentOrder+1) +
']'].value = form.elements[
'<?php echo $prefix ?>_order[reorder][' + currentOrder +
']'].value;
111 form.elements[
'<?php echo $prefix ?>_order[reorder][' + currentOrder +
']'].value = temp;
115 function sortOrderMoveUp(currentOrder) {
117 if (!document.getElementById) {
118 alert(
'<?php echo translate('cms_form_no_getelementbyid
') ?>');
122 if (currentOrder == 0)
return;
124 var form = document.getElementById(
'main_form');
126 var currentElement = document.getElementById(
'<?php echo $prefix ?>_order_o' + currentOrder);
127 var prevElement = document.getElementById(
'<?php echo $prefix ?>_order_o' + (currentOrder - 1));
129 if (!currentElement.innerHTML) {
130 alert(
'<?php echo translate('cms_form_no_innerhtml
') ?>');
135 var temp = currentElement.innerHTML;
136 currentElement.innerHTML = prevElement.innerHTML;
137 prevElement.innerHTML = temp;
140 var currentElement = document.getElementById(
'<?php echo $prefix ?>_order_t' + currentOrder);
141 var prevElement = document.getElementById(
'<?php echo $prefix ?>_order_t' + (currentOrder - 1));
143 var temp = currentElement.innerHTML;
144 currentElement.innerHTML = prevElement.innerHTML;
145 prevElement.innerHTML = temp;
148 temp = form.elements[
'<?php echo $prefix ?>_order[delete][' + (currentOrder-1) +
']'].checked;
149 form.elements[
'<?php echo $prefix ?>_order[delete][' + (currentOrder-1) +
']'].checked = form.elements[
'<?php echo $prefix ?>_order[delete][' + currentOrder +
']'].checked;
150 form.elements[
'<?php echo $prefix ?>_order[delete][' + currentOrder +
']'].checked = temp;
153 temp = form.elements[
'<?php echo $prefix ?>_order[reorder][' + (currentOrder-1) +
']'].value;
154 form.elements[
'<?php echo $prefix ?>_order[reorder][' + (currentOrder-1) +
']'].value = form.elements[
'<?php echo $prefix ?>_order[reorder][' + currentOrder +
']'].value;
155 form.elements[
'<?php echo $prefix ?>_order[reorder][' + currentOrder +
']'].value = temp;
159 function changeAllDelStatuses(status)
161 var inputs = document.getElementsByTagName(
'INPUT');
162 for (var i = 0; i < inputs.length; i++) {
163 if (inputs[i].
id.indexOf(
"_order[delete][") < 0)
continue;
164 inputs[i].checked = status;
168 <table
class=
"sq-backend-table">
170 <td
class=
"sq-backend-table-header">
171 <?php echo translate(
'question') ?>
173 <td
class=
"sq-backend-table-header">
174 <?php echo translate(
'type') ?>
179 <td align=
"center" width=
"100" class=
"sq-backend-table-header" style=
"font-weight: bold;"><?php
180 if (!empty($questions)) {
181 $delete_all = check_box($prefix.
'_order[delete]',
'1', FALSE,
'changeAllDelStatuses(this.checked)');
185 echo translate(
'delete_question').$delete_all; ?>
187 <td align=
"center" width=
"100" class=
"sq-backend-table-header" style=
"font-weight: bold;"><?php echo translate(
'move') ?></td>
193 $sort_order = $asset->attr(
'sort_order');
195 if (!empty($sort_order)) {
199 foreach ($sort_order as $sort_id => $assetid) {
200 $q = $GLOBALS[
'SQ_SYSTEM']->am->getAsset($assetid);
201 if (is_null($q))
continue;
202 $href = $q->getBackendHref(
'details');
205 <td
class=
"sq-backend-table-cell">
206 <span name=
"<?php echo $prefix.'_order_o'.$sort_id ?>" id=
"<?php echo $prefix.'_order_o'.$sort_id ?>"><?php echo get_asset_tag_line($assetid,
'details') ?></span><?php hidden_field($prefix.
'_order[reorder]['.$sort_id.
']', $assetid); ?>
208 <td
class=
"sq-backend-table-cell">
209 <span name=
"<?php echo $prefix.'_order_t'.$sort_id ?>" id=
"<?php echo $prefix.'_order_t'.$sort_id ?>"><?php
210 $q_type = str_replace(
'Form_Question_Type',
'', get_class($q));
211 $q_type = str_replace(
'_',
' ', $q_type);
212 $q_type = trim(ucwords($q_type));
219 <td align=
"center" width=
"100" class=
"sq-backend-table-cell">
221 check_box($prefix.
'_order[delete]['.$sort_id.
']');
224 <td align=
"center" width=
"100" class=
"sq-backend-table-cell">
227 ?><a href=
"#" onclick=
"sortOrderMoveUp(<?php echo $sort_id ?>); return false;"><script type=
"text/javascript">sq_print_icon(
"<?php echo sq_web_path('lib').'/web/images/icons/up_arrow.png' ?>",
"16",
"16",
"Move Up");</script></a><?php
230 if ($i != count($sort_order) -1) {
231 ?><a href=
"#" onclick=
"sortOrderMoveDown(<?php echo $sort_id ?>); return false;"><img src=
"<?php echo sq_web_path('lib').'/web/images/icons/down_arrow.png' ?>" width=
"16" height=
"16" border=
"0"alt=
"Move Down" /></a><?php
263 $prefix = $asset->getPrefix();
265 if (isset($_POST[$prefix.
'_order'][
'reorder'])) {
266 $asset->setAttrValue(
'sort_order', array_values($_POST[$prefix.
'_order'][
'reorder']));
267 $asset->saveAttributes();
270 if (isset($_POST[$prefix.
'_order'][
'delete'])) {
271 foreach (array_keys($_POST[$prefix.
'_order'][
'delete']) as $sort_order) {
272 $question = $asset->getQuestionByOrder($sort_order);
273 $asset->deleteQuestion($question);
277 $asset->setAttrValue(
'sort_order', array_values($asset->attr(
'sort_order')));
278 $asset->saveAttributes();
301 if (!$asset->writeAccess(
'attributes'))
return FALSE;
303 $am = $GLOBALS[
'SQ_SYSTEM']->am;
304 $question_types = $am->getTypeDescendants(
'form_question');
305 $questions = Array(
'' =>
'-- Choose Type --');
307 foreach ($question_types as $question) {
308 $q = str_replace(
'form_question_type',
'', $question);
309 $q = str_replace(
'_',
' ', $q);
310 $q = trim(ucwords($q));
311 $questions[$question] = $q;
314 combo_box(
'question_type', $questions, FALSE,
'');
318 for ($i = 1; $i <= 10; $i++) {
321 combo_box(
'num_questions', $num, FALSE,
'');
339 $type = (isset($_POST[
'question_type'])) ? $_POST[
'question_type'] :
'';
340 $number = (isset($_POST[
'num_questions'])) ? $_POST[
'num_questions'] :
'';
346 $am = $GLOBALS[
'SQ_SYSTEM']->am;
347 $curr_question_count = $asset->getQuestionCount() + 1;
349 if ($type && $number) {
350 $GLOBALS[
'SQ_SYSTEM']->changeDatabaseConnection(
'db2');
351 $GLOBALS[
'SQ_SYSTEM']->doTransaction(
'BEGIN');
354 for ($i = 0; $i < $number; $i++) {
355 if (!$asset->attachQuestion($type))
return FALSE;
357 $curr_question_count++;
359 $GLOBALS[
'SQ_SYSTEM']->doTransaction(
'COMMIT');
360 $GLOBALS[
'SQ_SYSTEM']->restoreDatabaseConnection();
381 $section_links = $GLOBALS[
'SQ_SYSTEM']->am->getLinks($asset->id, SQ_SC_LINK_ALL,
'form_section', FALSE);
383 if (empty($section_links)) {
384 echo translate(
'cms_form_section_no_nested_sections');
386 for (reset($section_links); NULL !== ($k = key($section_links)); next($section_links)) {
387 $s =& $GLOBALS[
'SQ_SYSTEM']->am->getAsset($section_links[$k][
'minorid']);
388 echo get_asset_tag_line($s->id,
'details').
'<br />';
390 $o->
note(translate(
'cms_form_section_nested_sections_note'));
393 return $write_access;
429 $write_access = $asset->writeAccess(
'links');
430 $bodycopy_link = $GLOBALS[
'SQ_SYSTEM']->am->getLink($asset->id, SQ_LINK_TYPE_2,
'bodycopy',
'format');
431 $enabled = !empty($bodycopy_link);
435 '1' => translate(
'yes'),
436 '0' => translate(
'no'),
439 combo_box($prefix.
'_use_bodycopy', $options, FALSE, Array($enabled));
442 echo $enabled ? translate(
'on') : translate(
'off');
445 return $write_access;
463 if (!$asset->writeAccess(
'links'))
return FALSE;
464 $enabled = $_POST[$prefix.
'_use_bodycopy'];
466 $GLOBALS[
'SQ_SYSTEM']->changeDatabaseConnection(
'db2');
467 $GLOBALS[
'SQ_SYSTEM']->doTransaction(
'BEGIN');
469 if (!$asset->setUseFormatBodycopy($enabled)) {
470 $GLOBALS[
'SQ_SYSTEM']->doTransaction(
'ROLLBACK');
471 $GLOBALS[
'SQ_SYSTEM']->restoreDatabaseConnection();
475 $GLOBALS[
'SQ_SYSTEM']->doTransaction(
'COMMIT');
476 $GLOBALS[
'SQ_SYSTEM']->restoreDatabaseConnection();
498 $option_list->paint($prefix.
'_sections');
501 return $write_access;
520 $new_sections = Array();
522 $section_text = array_get_index($_POST, $prefix.
'_sections_options',
'');
523 if (!empty($section_text)) {
525 foreach ($section_text as $option) {
526 $option = trim($option);
527 if (empty($option))
continue;
528 $new_sections[] = $option;
532 if (!empty($new_sections)) {
534 foreach ($new_sections as $new_section_name) {
536 $new_section_asset->setAttrValue(
'name', $new_section_name);
541 'link_type' => SQ_LINK_TYPE_2,
542 'is_dependant' =>
'1',
543 'is_exclusive' =>
'0',
548 if (!$new_section_asset->create($link)) {
549 trigger_localised_error(
'CMS0108', E_USER_WARNING, $new_section_name, $asset->name);
556 return !empty($new_sections);
572 $form_link = $GLOBALS[
'SQ_SYSTEM']->am->getLink($asset->id, SQ_LINK_TYPE_2,
'form', FALSE, NULL,
'minor');
573 if(isset($form_link[
'majorid'])){
574 $output =
'<'.
'?php if(!isset($form_asset)) $form_asset=$GLOBALS["SQ_SYSTEM"]->am->getAsset('.$form_link[
'majorid'].
'); ?'.
'>'.
"\n";
577 if ($asset->isFormatBodycopyEnabled()) {
578 $format_bodycopy = $asset->getFormatBodycopy(TRUE);
581 $replacements = $asset->getDisplayKeywordReplacements(TRUE);
582 $format_bodycopy->setKeywordReplacements($replacements);
583 $format_bodycopy->printBody();
584 $output .= ob_get_clean();
592 $output = preg_replace(
'/%[^<>%]+%/',
'', $output);
594 create_directory($asset->data_path);
595 $ok = string_to_file($output, $asset->data_path.
'/content_file.php');
598 $section_links = $GLOBALS[
'SQ_SYSTEM']->am->getLinks($asset->id, SQ_SC_LINK_ALL,
'form_section', FALSE,
'minor');
599 foreach ($section_links as $section_link) {
602 $parent_section = $GLOBALS[
'SQ_SYSTEM']->am->getAsset($section_link[
'majorid']);
603 $edit_fns = $parent_section->getEditFns();
604 $edit_fns->generateContentFile($parent_section);
606 unset($parent_section);
625 $sort_order = $asset->attr(
'sort_order');
628 if (!empty($sort_order)) {
630 $asset_name = $asset->attr(
'name');
631 escape_php($asset_name);
633 $output .=
'<h3>'.$asset_name.
'</h3>';
635 $output .=
'<table width="'.$asset->attr(
'section_width').
'">';
637 foreach ($sort_order as $i => $assetid) {
638 $q = $GLOBALS[
'SQ_SYSTEM']->am->getAsset($assetid);
640 if (is_null($q))
continue;
643 $output .=
'<td valign="top"';
644 $output .= ($asset->attr(
'question_col_width')) ?
' width="'.$asset->attr(
'question_col_width').
'">' :
'>';
645 $label = $q->getHtmlLabel();
648 if ($q->getVal(
'note')) {
649 $output .=
'<br /><span style="font-size: <'.
'?php echo $form_asset->attr("note_size") ?'.
'>">'.$q->getVal(
'note').
'</span>';
651 $output .=
'</td><td';
652 $output .= ($asset->attr(
'answer_col_width')) ?
' width="'.$asset->attr(
'answer_col_width').
'">' :
'>';
653 $output .=
'<'.
'?php echo $GLOBALS["SQ_SYSTEM"]->am->getAsset("'.$assetid.
'")->getHtmlField(); ?'.
'>'.
"\n";
654 $output .=
'</td></tr>';
657 $output .=
'</table>';
661 $section_links = $GLOBALS[
'SQ_SYSTEM']->am->getLinks($asset->id, SQ_SC_LINK_ALL,
'form_section', FALSE);
663 for (reset($section_links); NULL !== ($k = key($section_links)); next($section_links)) {
664 $section =& $GLOBALS[
'SQ_SYSTEM']->am->getAsset($section_links[$k][
'minorid']);
667 $output .=
'<'.
'?php include_once($GLOBALS[\'SQ_SYSTEM\']->am->getAsset(\''.$section->id.
'\')->data_path.\
'/content_file.php\'); ?'.
'>';
691 $actions = $asset->
attr(
'actions');
695 $selected_action = array_get_index($_POST, $prefix.
'_new_selected_action', NULL);
696 if (!is_numeric($selected_action)) {
697 $selected_action = array_get_index($_POST, $prefix.
'_selected_action', NULL);
700 $selected_action = NULL;
705 hidden_field($prefix.
'_new_selected_action',
'');
707 if (!empty($actions)) {
708 ?><table
class=
"sq-backend-table">
710 <col width=
"60" align=
"center" />
713 <col width=
"60" align=
"center" />
714 <col width=
"60" align=
"center" />
718 <th><p>Action Name / Type</p></th>
719 <th><p>Summary</p></th>
720 <th><p>Valid ?</p></th>
721 <th><p>Active ?</p></th>
722 <th><p>Delete ?</p></th>
725 foreach ($actions as $key => $action) {
726 $is_selected_action = (!is_null($selected_action) && ((string)$selected_action === (
string)$key));
728 if ($is_selected_action) {
732 $action_type = $action[
'type_code'];
733 $settings = $action[
'settings'];
734 $type_name = $GLOBALS[
'SQ_SYSTEM']->am->getTypeInfo($action_type,
'name');
736 $GLOBALS[
'SQ_SYSTEM']->am->includeAsset($action_type);
738 if ($write_access && !$is_selected_action) {
739 ?><td
class=
"sq-backend-table-cell"><p><a href=
"#" onclick=
"document.getElementById('<?php echo $prefix ?>_new_selected_action').value = <?php echo $key ?>; document.main_form.submit(); return false;"><img src=
"<?php echo sq_web_path('lib'); ?>/web/images/icons/edit_mode.png" width=
"15" height=
"15" border=
"0" /></a></p></td><?php
741 ?><td
class=
"sq-backend-table-cell"> </td><?php
743 ?><td
class=
"sq-backend-table-cell"><p><strong><?php echo $action[
'name'] ?></strong><br/>(<?php echo $type_name ?>)</p></td><?php
744 ?><td
class=
"sq-backend-table-cell"><?php echo call_user_func(Array($action_type,
'paintSummary'), $asset, $settings, $o, $prefix) ?></td><?php
745 ?><td
class=
"sq-backend-table-cell"><p><img src=
"<?php echo sq_web_path('lib'); ?>/web/images/<?php echo call_user_func(Array($action_type, 'isValid'), $asset, $settings) ? 'tick' : 'cross' ?>.gif" width=
"15" height=
"15" border=
"0" /></p></td><?php
747 ?><td
class=
"sq-backend-table-cell"><p><?php check_box($prefix.
'_rules[active]['.$key.
']',
'1', $action[
'active']) ?></p></td><?php
748 ?><td
class=
"sq-backend-table-cell"><p><?php check_box($prefix.
'_rules[delete]['.$key.
']',
'1', FALSE) ?></p></td><?php
750 ?><td
class=
"sq-backend-table-cell"><p><img src=
"<?php echo sq_web_path('lib'); ?>/web/images/<?php echo $action['active'] ? 'tick' : 'cross' ?>.gif" width=
"15" height=
"15" border=
"0" /></p></td><?php
751 ?><td
class=
"sq-backend-table-cell"> </td><?php
755 ?></tbody></table><?php
757 ?><p>There are no actions currently defined
for this form section.</p><?php
761 $o->
sectionNote(
'Only actions that are <strong>valid</strong> and <strong>active</strong> will be executed when a form is submitted. An action can be activated or deactivated with the <strong>Active ?</strong> check box.');
763 return $write_access;
784 $edit_action = array_get_index($_POST, $prefix.
'_new_selected_action', NULL);
785 if (!empty($edit_action)) {
786 return $write_access;
790 $actions = $asset->
attr(
'actions');
792 $rule_changes = array_get_index($_POST, $prefix.
'_rules', Array());
794 if(!empty($actions)) {
795 foreach ($actions as $key => $action) {
796 if (!isset($rule_changes[
'active'][$key])) {
797 $rule_changes[
'active'][$key] = Array();
801 if (!isset($rule_changes[
'active'])) {
802 $rule_changes[
'active'] = Array();
806 if (!isset($rule_changes[
'delete'])) {
807 $rule_changes[
'delete'] = Array();
810 foreach ($rule_changes[
'active'] as $key => $value) {
811 $actions[$key][
'active'] = (boolean)$value;
813 foreach ($rule_changes[
'delete'] as $key => $value) {
814 unset($actions[$key]);
821 return $write_access;
839 $types = $GLOBALS[
'SQ_SYSTEM']->am->getTypeDescendants(
'form_section_action');
840 $names = $GLOBALS[
'SQ_SYSTEM']->am->getTypeInfo($types,
'name');
845 check_box($prefix.
'_new',
'1', FALSE,
'this.form.'.$prefix.
'_new_type.disabled = !this.checked; return true;');
846 ?><label
for=
"<?php echo $prefix ?>_new">Create a
new action of type:</label> <?php
847 $names = Array(
'' =>
'Select action type...') + $names;
848 combo_box($prefix.
'_new_type', $names, FALSE,
'', 0,
'disabled="disabled"');
851 ?><p>This screen must be locked before you can create a
new action.</p><?php
857 $o->
sectionNote(
'If you create a new action, the new action will be displayed immediately for you to edit. If you already have an action open to edit, the changes to that action will be saved when you commit before the new action is created.');
859 return $write_access;
879 $new_action = (int)array_get_index($_POST, $prefix.
'_new',
'0');
885 $action_type = array_get_index($_POST, $prefix.
'_new_type',
'');
886 if (!empty($action_type)) {
887 if ($GLOBALS[
'SQ_SYSTEM']->am->installed($action_type)) {
889 $type_parents = $GLOBALS[
'SQ_SYSTEM']->am->getTypeAncestors($action_type);
890 if (in_array(
'form_section_action', $type_parents)) {
892 $type_name = $GLOBALS[
'SQ_SYSTEM']->am->getTypeInfo($action_type,
'name');
893 $actions = $asset->
attr(
'actions');
895 if (!empty($actions)) {
896 $new_key = max(array_keys($actions)) + 1;
901 $actions[$new_key] = Array(
903 'type_code' => $action_type,
910 $_POST[$prefix.
'_new_selected_action'] = $new_key;
914 trigger_error(
'Cannot create new action; asset type "'.$action_type.
'" is not a form action', E_USER_WARNING);
918 trigger_error(
'Cannot create new action; "'.$action_type.
'" is not a valid asset type', E_USER_WARNING);
926 return $write_access;
943 $selected_action = array_get_index($_POST, $prefix.
'_new_selected_action', NULL);
944 if (!is_numeric($selected_action)) {
945 $selected_action = array_get_index($_POST, $prefix.
'_selected_action', NULL);
949 if (!is_null($selected_action)) {
950 $actions = $asset->
attr(
'actions');
954 if (!isset($actions[$selected_action])) {
956 ?><p>No action is currently selected
for editing. To edit an action, please select from the
"Existing Actions" list above.</p><?php
961 $action = $actions[$selected_action];
963 $type_name = $GLOBALS[
'SQ_SYSTEM']->am->getTypeInfo($action[
'type_code'],
'name');
967 text_box($prefix.
'_selected_name', $action[
'name'], 30);
968 $o->
note(
'An optional name to identify this particular action. If cleared, the action\'s type ("'.$type_name.
'" in this case) will be used, numerically indexed if necessary.');
973 hidden_field($prefix.
'_selected_action', $selected_action);
974 $GLOBALS[
'SQ_SYSTEM']->am->includeAsset($action[
'type_code']);
975 call_user_func(Array($action[
'type_code'],
'paintInlineInterface'), $asset, $action[
'settings'], $o, $prefix);
981 ?><p>No action is currently selected
for editing. To edit an action, please select from the
"Existing Actions" list above.</p><?php
987 ?><p>This screen must be locked before you can edit an action.</p><?php
991 return $write_access;
1007 $write_access = $asset->
writeAccess(
'attributes');
1008 $actions = $asset->
attr(
'actions');
1013 $edit_action = array_get_index($_POST, $prefix.
'_new_selected_action', NULL);
1014 if (is_numeric($edit_action)) {
1020 $selected_action = array_get_index($_POST, $prefix.
'_selected_action', NULL);
1021 if (!isset($actions[$selected_action])) {
1025 if ($write_access) {
1026 if (!is_null($selected_action)) {
1027 $new_name = array_get_index($_POST, $prefix.
'_selected_name', NULL);
1028 $action = $actions[$selected_action];
1030 $new_name = array_get_index($_POST, $prefix.
'_selected_name', NULL);
1031 if ($new_name != $action[
'name']) {
1032 if (empty($new_name)) {
1033 $new_name = $GLOBALS[
'SQ_SYSTEM']->am->getTypeInfo($action[
'type_code'],
'name');
1038 $GLOBALS[
'SQ_SYSTEM']->am->includeAsset($action[
'type_code']);
1039 $settings = $action[
'settings'];
1043 $result = call_user_func_array(Array($action[
'type_code'],
'processInlineInterface'), Array($asset, &$settings, $o, $prefix));
1045 $actions[$selected_action][
'settings'] = $settings;
1054 return ($result && $write_access);
1073 $actions = $asset->
attr(
'actions');
1081 foreach ($actions as $action) {
1082 if ($action[
'name'] == $name) {
1087 $name = $base_name.
' '.$i;