/[drupal]/contributions/modules/tablemanager/includes/rows.inc
ViewVC logotype

Diff of /contributions/modules/tablemanager/includes/rows.inc

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1.2.1, Tue Apr 15 21:01:03 2008 UTC revision 1.1.2.2, Sat Aug 22 19:13:08 2009 UTC
# Line 1  Line 1 
1  <?php  <?php
2  // $Id$  // $Id: rows.inc,v 1.1.2.1 2008/04/15 21:01:03 pobster Exp $
3    
4    function tablemanager_row_function($info) {
5      switch ($info['op']) {
6        case 'edit':
7          if (count($info['rows']) == 1) {
8            return drupal_get_form('tablemanager_manage_row', $info['op'], $info);
9          }
10          return drupal_get_form('tablemanager_row_edit', $info);
11        case 'delete':
12          return drupal_get_form('tablemanager_row_delete', $info);
13      }
14      return drupal_not_found();
15    } // tablemanager_row_function
16    
17  /**  /**
18   * Display table row adding/ editing forms.   * Display table row adding/ editing forms.
19   */   */
20  function tablemanager_manage_row($form_state = array(), $op, $param) {  function tablemanager_manage_row($form_state, $op, $param) {
21    switch ($op) {    switch ($op) {
22      case 'add':      case 'add':
23        // Set the title, but check if the name is simply a number and prefix it with "Table xx"        // Set the title, but check if the name is simply a number and prefix it with "Table xx"
# Line 12  function tablemanager_manage_row($form_s Line 25  function tablemanager_manage_row($form_s
25        return tablemanager_manage_row_form($form_state, $op, $param);        return tablemanager_manage_row_form($form_state, $op, $param);
26        break;        break;
27      case 'edit':      case 'edit':
28        drupal_set_title(t("Edit Table '$param->name' Entry"));        drupal_set_title(t("Edit '@name' Entry", array('@name' => tablemanager_fetch_name($param['tid']))));
29        $data = unserialize($param->data);        $form_state['values'] = tablemanager_process_row_data($param['rows'][0]);
30        $form_state['values'] = tablemanager_process_row_data($data);        return tablemanager_manage_row_form($form_state, $op, $param['tid']);
       return tablemanager_manage_row_form($form_state, $op, $param->tid);  
31        break;        break;
32    }    }
33    return $form;    return $form;
# Line 214  function tablemanager_manage_row_submit( Line 226  function tablemanager_manage_row_submit(
226  /**  /**
227   * Form for row delete function.   * Form for row delete function.
228   */   */
229  function tablemanager_row_delete($form_state = array(), $info) {  function tablemanager_row_edit($form_state, $info) {
230    $form['tid'] = array(    $form['tid'] = array(
231      '#type' => 'hidden',      '#type' => 'hidden',
232      '#value' => $info['tid'],      '#value' => $info['tid'],
233    );    );
234      $form['tableuid'] = array(
235        '#type' => 'hidden',
236        '#value' => $info['tableuid'],
237      );
238    $form['rows'] = array(    $form['rows'] = array(
239      '#type' => 'hidden',      '#type' => 'hidden',
240      '#value' => implode(",", $info['rows']),      '#value' => serialize($info['rows']),
241      );
242      $form['backpage'] = array(
243        '#type' => 'hidden',
244        '#value' => isset($form_state['post']['backpage']) ? $form_state['post']['backpage'] : referer_uri(),
245      );
246    
247      $form['rows']['#tree'] = TRUE;
248      // display the rows for editing
249      foreach ($info['rows'] as $row) {
250    
251      }
252    
253      return confirm_form($form, format_plural(count($info['rows']), "Edit '@table' Entry:", "Edit '@table' Entries:", array('@table' => tablemanager_fetch_name($info['tid']))), $form_state['post']['backpage'] ? $form_state['post']['backpage'] : $form['backpage']['#value'], t('Changes are not permanent until you click save.'), t('Save'), t('Cancel'));
254    } // tablemanager_row_edit
255    
256    /**
257     * Form for row delete function.
258     */
259    function tablemanager_row_delete($form_state, $info) {
260      $form['tid'] = array(
261        '#type' => 'hidden',
262        '#value' => $info['tid'],
263      );
264      $form['tableuid'] = array(
265        '#type' => 'hidden',
266        '#value' => $info['tableuid'],
267      );
268      $form['rows'] = array(
269        '#type' => 'hidden',
270        '#value' => serialize($info['rows']),
271    );    );
272    $form['backpage'] = array(    $form['backpage'] = array(
273      '#type' => 'hidden',      '#type' => 'hidden',
274      '#value' => isset($form_state['post']['backpage']) ? $form_state['post']['backpage'] : referer_uri(),      '#value' => isset($form_state['post']['backpage']) ? $form_state['post']['backpage'] : referer_uri(),
275    );    );
276    $form['row'] = array(    $form['row'] = array(
277      '#type' => 'item',      '#type' => 'markup',
278      '#value' => tablemanager_display_rows($info),      '#value' => tablemanager_display_rows($info),
279    );    );
280    return confirm_form($form, t('Delete Table \'%table\' Entr!plural1:<p>Are you sure you want to delete row!plural2 %title?', array('!plural1' => count($info['rows']) > 1 ? 'ies': 'y', '!plural2' => count($info['rows']) > 1 ? 's': '', '%title' => implode(", ", $info['rows']), '%table' => $info['tid'])), $form_state['post']['backpage'] ? $form_state['post']['backpage'] : $form['backpage']['#value'], t('This action cannot be undone.'), t('Delete'), t('Cancel'));  
281      return confirm_form($form, format_plural(count($info['rows']), "Delete '@table' Entry:<p>Are you sure you want to delete this row?</p>", "Delete '@table' Entries:<p>Are you sure you want to delete these rows?</p>", array('@table' => tablemanager_fetch_name($info['tid']))), $form_state['post']['backpage'] ? $form_state['post']['backpage'] : $form['backpage']['#value'], t('This action cannot be undone.'), t('Delete'), t('Cancel'));
282  } // tablemanager_row_delete  } // tablemanager_row_delete
283    
284  /**  /**
285   * Submit function for tablemanager_row_delete form.   * Submit function for tablemanager_row_delete form.
286   */   */
287  function tablemanager_row_delete_submit($form, &$form_state) {  function tablemanager_row_delete_submit($form, &$form_state) {
288      $form_values = $form_state['values'];
289      $rows = unserialize($form_values['rows']);
290    $count = 0;    $count = 0;
291    foreach (explode(",", $form_state['values']['rows']) as $row) {    foreach ($rows as $row) {
292      db_query('DELETE FROM {tablemanager_data} WHERE id = %d', $row);      db_query('DELETE FROM {tablemanager_data} WHERE id = %d', $row);
293      $count++;      $count++;
294    }    }
295    drupal_set_message(t('The row!plural been deleted.', array('!plural' => $count > 1 ? 's have' : ' has')));    drupal_set_message(format_plural($count, 'The row has been deleted.', 'The rows have been deleted.'));
   watchdog('tablemanager', "tablemanager: deleted row!plural in table '%tid'.", array('!plural' => $count > 1 ? 's' : '', '%tid' => $form_state['values']['tid']), WATCHDOG_NOTICE, l('view', 'tablemanager/'. $form_state['values']['tid']));  
296    $form_state['redirect'] = $form_state['values']['backpage'];    $form_state['redirect'] = $form_state['values']['backpage'];
297  } // tablemanager_row_delete_submit  } // tablemanager_row_delete_submit
298    
299  /**  /**
300   * Processes the row data into a form_state compatible array.   * Processes the row data into a form_state compatible array.
301   */   */
302  function tablemanager_process_row_data($data) {  function tablemanager_process_row_data($id) {
303      $data = unserialize(db_result(db_query("SELECT data FROM {tablemanager_data} WHERE id = %d", $id)));
304    $count = 1;    $count = 1;
305    foreach ($data as $cell) {    foreach ($data as $cell) {
306      $values["item_$count"] = $cell;      $values["item_$count"] = $cell;

Legend:
Removed from v.1.1.2.1  
changed lines
  Added in v.1.1.2.2

  ViewVC Help
Powered by ViewVC 1.1.2