aboutsummaryrefslogtreecommitdiff
path: root/types/videoftp/videoftp.module
diff options
context:
space:
mode:
Diffstat (limited to 'types/videoftp/videoftp.module')
-rw-r--r--types/videoftp/videoftp.module207
1 files changed, 0 insertions, 207 deletions
diff --git a/types/videoftp/videoftp.module b/types/videoftp/videoftp.module
deleted file mode 100644
index 078d81c..0000000
--- a/types/videoftp/videoftp.module
+++ /dev/null
@@ -1,207 +0,0 @@
-<?php
-// $Id$
-
-/**
- * @file
- * video ftp core hooks and menu callbacks.
- */
-
-module_load_include('inc', 'videoftp', 'videoftp_widget');
-
-/*
- * Implementation of hook_menu().
- */
-function videoftp_menu() {
- $items = array();
- $items['videoftp/ahah/%/%/%'] = array(
- 'page callback' => 'videoftp_js',
- 'page arguments' => array(2, 3, 4),
- //'access callback' => 'videoftp_edit_access',
- 'access arguments' => array('access content'),
- 'type' => MENU_CALLBACK,
- );
- $items['videoftp/progress'] = array(
- 'page callback' => 'videoftp_progress',
- 'access arguments' => array('access content'),
- 'type' => MENU_CALLBACK,
- );
- return $items;
-}
-
-/**
- * Implementation of hook_theme().
- */
-function videoftp_theme() {
- $theme = array();
- $theme['videoftp_widget'] = array(
- 'arguments' => array('element' => NULL),
- 'file' => 'videoftp.theme.inc',
- );
- $theme['videoftp_widget_item'] = array(
- 'arguments' => array('element' => NULL),
- 'file' => 'videoftp.theme.inc',
- );
- $theme['videoftp_widget_file'] = array(
- 'arguments' => array('element' => NULL),
- 'file' => 'videoftp.theme.inc',
- );
- return $theme;
-}
-
-/**
- * Implementation of CCK's hook_widget_info().
- */
-function videoftp_widget_info() {
- return array(
- 'videoftp_widget' => array(
- 'label' => t('Video FTP'),
- 'field types' => array('filefield'),
- 'multiple values' => CONTENT_HANDLE_CORE,
- 'callbacks' => array('default value' => CONTENT_CALLBACK_CUSTOM),
- 'description' => t('Widget allows you to select video files uploaded through FTP to be attached to the node.'),
- ),
- );
-}
-
-/**
- * Implementation of hook_elements().
- */
-function videoftp_elements() {
- return array(
- 'videoftp_widget' => array(
- '#input' => TRUE,
- '#columns' => array('fid', 'list', 'data', 'filepath'),
- '#process' => array('videoftp_widget_process'),
- '#value_callback' => 'videoftp_widget_value',
- ),
- );
-}
-
-/**
- * Implementation of CCK's hook_widget_settings().
- */
-function videoftp_widget_settings($op, $widget) {
- //load up our include file for the widget
- module_load_include('inc', 'videoftp', 'videoftp_widget');
- switch ($op) {
- case 'form':
- return videoftp_widget_settings_form($widget);
- case 'validate':
- return videoftp_widget_settings_validate($widget);
- case 'save':
- return videoftp_widget_settings_save($widget);
- }
-}
-
-/**
- * Implementation of hook_widget().
- */
-function videoftp_widget(&$form, &$form_state, $field, $items, $delta = NULL) {
- $item = array('fid' => 0, 'list' => $field['list_default'], 'data' => array('description' => '', 'video_thumb' => ''));
- if (isset($items[$delta])) {
- $item = array_merge($item, $items[$delta]);
- }
- $element = array(
- '#title' => $field['widget']['label'],
- '#type' => $field['widget']['type'],
- '#default_value' => $item,
- );
- return $element;
-}
-
-/**
- * Menu callback; Shared AHAH callback for ftp file attachment and deletions.
- *
- * This rebuilds the form element for a particular field item. As long as the
- * form processing is properly encapsulated in the widget element the form
- * should rebuild correctly using FAPI without the need for additional callbacks
- * or processing.
- */
-function videoftp_js($type_name, $field_name, $delta) {
- module_load_include('inc', 'videoftp', 'videoftp_widget');
- $field = content_fields($field_name, $type_name);
-
- if (empty($field) || empty($_POST['form_build_id'])) {
- // Invalid request.
- drupal_set_message(t('An unrecoverable error occurred.'), 'error');
- print drupal_to_js(array('data' => theme('status_messages')));
- exit;
- }
-
- // Build the new form.
- $form_state = array('submitted' => FALSE);
- $form_build_id = $_POST['form_build_id'];
- $form = form_get_cache($form_build_id, $form_state);
-
- if (!$form) {
- // Invalid form_build_id.
- drupal_set_message(t('An unrecoverable error occurred. This form was missing from the server cache. Try reloading the page and submitting again.'), 'error');
- print drupal_to_js(array('data' => theme('status_messages')));
- exit;
- }
-
- // Build the form. This calls the file field's #value_callback function and
- // saves the uploaded file. Since this form is already marked as cached
- // (the #cache property is TRUE), the cache is updated automatically and we
- // don't need to call form_set_cache().
- $args = $form['#parameters'];
- $form_id = array_shift($args);
- $form['#post'] = $_POST;
- $form = form_builder($form_id, $form, $form_state);
-
- // Update the cached form with the new element at the right place in the form.
- if (module_exists('fieldgroup') && ($group_name = _fieldgroup_field_get_group($type_name, $field_name))) {
- if (isset($form['#multigroups']) && isset($form['#multigroups'][$group_name][$field_name])) {
- $form_element = $form[$group_name][$delta][$field_name];
- }
- else {
- $form_element = $form[$group_name][$field_name][$delta];
- }
- }
- else {
- $form_element = $form[$field_name][$delta];
- }
-
- if (isset($form_element['_weight'])) {
- unset($form_element['_weight']);
- }
- $output = drupal_render($form_element);
- // AHAH is not being nice to us and doesn't know the "other" button (that is,
- // either "Attach" or "Delete") yet. Which in turn causes it not to attach
- // AHAH behaviours after replacing the element. So we need to tell it first.
-
- // Loop through the JS settings and find the settings needed for our buttons.
- $javascript = drupal_add_js(NULL, NULL);
- $videoftp_ahah_settings = array();
- if (isset($javascript['setting'])) {
- foreach ($javascript['setting'] as $settings) {
- if (isset($settings['ahah'])) {
- foreach ($settings['ahah'] as $id => $ahah_settings) {
- if (strpos($id, 'videoftp-attach') || strpos($id, 'videoftp-remove')) {
- $videoftp_ahah_settings[$id] = $ahah_settings;
- }
- }
- }
- }
- }
-
- // Add the AHAH settings needed for our new buttons.
- if (!empty($videoftp_ahah_settings)) {
- $output .= '<script type="text/javascript">jQuery.extend(Drupal.settings.ahah, '. drupal_to_js($videoftp_ahah_settings) .');</script>';
- }
-
- $output = theme('status_messages') . $output;
-
- // For some reason, file uploads don't like drupal_json() with its manual
- // setting of the text/javascript HTTP header. So use this one instead.
- $GLOBALS['devel_shutdown'] = FALSE;
- print drupal_to_js(array('status' => TRUE, 'data' => $output));
- exit;
-}
-
-/**
- * filefield source support
- */
-function videoftp_filefield_sources_widgets() {
- return array('videoftp_widget');
-} \ No newline at end of file