Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function my_module_node_add_modal_callback($js = FALSE) {
- global $user;
- if (!$js) {
- return "Javascript required";
- }
- ctools_include('node.pages', 'node', '');
- ctools_include('modal');
- ctools_include('ajax');
- ctools_add_js('auto-submit');
- // Create a blank node object.
- $node = (object) array(
- 'uid' => $user->uid,
- 'name' => (isset($user->name) ? $user->name : ''),
- 'type' => 'node_type',
- 'language' => LANGUAGE_NONE,
- );
- $form_state = array(
- 'title' => t('Add node'),
- 'ajax' => TRUE,
- );
- $form_state['build_info']['args'] = array($node);
- $output = ctools_modal_form_wrapper('node_type_node_form', $form_state);
- if (!empty($form_state['executed'])) {
- }
- print ajax_render($output);
- exit;
- }
- if (!empty($form_state['executed'])) {
- $output = array();
- if ($form_state['nid']) {
- $node = node_load($form_state['nid']);
- $form_state = array(
- 'title' => t('Add node'),
- 'ajax' => TRUE,
- );
- $form_state['build_info']['args'] = array($node);
- $output = ctools_modal_form_wrapper('node_type_node_form', $form_state);
- }
- }
- /**
- * Page callback to deliver node edit form via CTools AJAX/modal.
- *
- * @param boolean|null $js
- * TRUE if Javascript is enabled, NULL otherwise.
- * @param object $node
- * The node to edit.
- *
- * @return array
- * Array of Drupal Ajax Commands.
- */
- function pads_secure_file_edit_ajax($js, $node) {
- // Fallback if $js is not set.
- if (!$js) {
- module_load_include('inc', 'node', 'node.pages');
- return node_page_edit($node);
- }
- ctools_include('modal');
- ctools_include('ajax');
- $output = array();
- $type_name = node_type_get_name($node);
- $title = t('<em>Edit @type</em> @title', array(
- '@type' => $type_name,
- '@title' => $node->title,
- ));
- $form_state = array(
- 'title' => $title,
- 'ajax' => TRUE,
- 'build_info' => array(
- 'args' => array($node),
- ),
- );
- ctools_form_include_file($form_state, drupal_get_path('module', 'node') . '/node.pages.inc');
- $form_state['build_info']['args'] = array($node);
- $output = ctools_modal_form_wrapper($node->type . '_node_form', $form_state);
- if (!empty($form_state['executed'])) {
- $output = array();
- // If node submit, reload page.
- $triggering_element_id = array_key_exists('#id', $form_state['triggering_element']) ?
- $form_state['triggering_element']['#id'] : '';
- if (strpos($triggering_element_id, 'edit-submit') === 0) {
- $output[] = ctools_ajax_command_reload();
- }
- else {
- $output = array();
- }
- }
- print ajax_render($output);
- drupal_exit();
- }
Add Comment
Please, Sign In to add comment