[ PHPXref.com ] [ Generated: Sun Jul 20 20:18:29 2008 ] [ Siteframe 5.0.2 ]
[ Index ]     [ Variables ]     [ Functions ]     [ Classes ]     [ Constants ]     [ Statistics ]

title

Body

[close]

/ -> edit.php (source)

   1  <?php
   2  // $Id: edit.php,v 1.30 2006/02/16 05:49:22 glen Exp $
   3  // Copyright (c)2005, Glen Campbell. All rights reserved.
   4  
   5  require_once  'siteframe.inc';
   6  
   7  $PAGE->assign('page_title', lang('page_title_edit'));
   8  
   9  if (!isset($_GET['c']))
  10  {
  11      $PAGE->assign('error', lang('err_badqstring'));
  12      $PAGE->display();
  13      exit;
  14  }
  15  else
  16      $class = strip_tags($_GET['c']);
  17  
  18  // create a new object
  19  $obj = new $class(strip_tags($_GET['id']));
  20  
  21  // require login
  22  require_login();
  23  
  24  // set _GET properties
  25  foreach($_GET as $name => $value)
  26  {
  27      switch($name)
  28      {
  29      case 'c':       // don't set these
  30      case 'id':
  31          break;
  32      default:
  33          $obj->set($name, $value);
  34      }
  35  }
  36  
  37  // check for valid object
  38  if (($obj->get($obj->key)+0) != (strip_tags($_GET['id'])+0))
  39  {
  40      $PAGE->assign('error', 'No object with that class/ID'); // TODO: use lang
  41      $PAGE->display();
  42      exit;
  43  }
  44  
  45  // reset title for existing objects
  46  if ($obj->get($obj->key))
  47      $PAGE->assign('page_title', 
  48          sprintf(lang('page_title_edit'), $obj->get_title()));
  49  else
  50      $PAGE->assign('page_title', 
  51          sprintf(lang('page_title_new'), lang("class_$class")));
  52  
  53  // are we authorized?
  54  if (!$obj->authorized())
  55  {
  56      $PAGE->assign('error', lang('err_notauth'));
  57      $PAGE->display();
  58      exit;
  59  }
  60  else if ($_POST['_submitted'])
  61  {
  62      $obj->set_post($_POST);
  63  
  64      if ($obj->id())
  65          $obj->update();
  66      else
  67      {
  68          $obj->add();
  69      }
  70      if (!$obj->is_valid())
  71          $PAGE->assign('error', $obj->get_errors());
  72      else 
  73          header(sprintf('Location: %s%s', 
  74                  config('site_url_base'), 
  75                  $obj->get_url()));
  76  }
  77  
  78  if (!$obj->is_valid())
  79      $PAGE->assign('error', $obj->get_errors());
  80  
  81  $PAGE->assign('obj', $obj->get_all());
  82  $PAGE->assign('help_text', lang('help_'.get_class($obj)));
  83  $PAGE->assign('class', get_class($obj));
  84  $PAGE->assign('edit_form', $obj->form(
  85      'edit',
  86      $obj->get_edit_url(),
  87      'post'));
  88  
  89  $PAGE->display();
  90  ?>


[ Powered by PHPXref - Served by Debian GNU/Linux ]