static public add ( &$in ) |
static function add(&$in)
{
$dbo =& Pommo::$_dbo;
// set the ordering of field if not provided
if (!is_numeric($in['ordering'])) {
$query = "\n SELECT field_ordering\n FROM " . $dbo->table['fields'] . "\n ORDER BY field_ordering DESC";
$query = $dbo->prepare($query);
$in['ordering'] = $dbo->query($query, 0) + 1;
}
if (!Pommo_Fields::validate($in)) {
return false;
}
$query = "\n INSERT INTO " . $dbo->table['fields'] . "\n SET\n field_active='%s',\n field_ordering=%i,\n field_name='%s',\n field_prompt='%s',\n field_normally='%s',\n field_array='%s',\n field_required='%s',\n field_type='%s'";
$query = $dbo->prepare($query, @array($in['active'], $in['ordering'], $in['name'], $in['prompt'], $in['normally'], serialize($in['array']), $in['required'], $in['type']));
return $dbo->lastId($query);
}
INITIALIZATION METHODS *********************************/ require 'bootstrap.php'; require_once Pommo::$_baseDir . 'classes/Pommo_Fields.php'; Pommo::init(); $logger = Pommo::$_logger; $dbo = Pommo::$_dbo; /********************************** SETUP TEMPLATE, PAGE *********************************/ require_once Pommo::$_baseDir . 'classes/Pommo_Template.php'; $view = new Pommo_Template(); // add field if requested, redirect to its edit page on success if (!empty($_POST['field_name'])) { $field = Pommo_Fields::make(array('name' => $_POST['field_name'], 'type' => $_POST['field_type'], 'prompt' => 'Field Prompt', 'required' => 'off', 'active' => 'off')); $id = Pommo_Fields::add($field); if ($id) { $view->assign('added', $id); } else { $logger->addMsg(Pommo::_T('Error with addition.')); } } // check for a deletion request if (!empty($_GET['delete'])) { $field = Pommo_Fields::get(array('id' => $_GET['field_id'])); $field =& current($field); if (count($field) === 0) { $logger->addMsg(Pommo::_T('Error with deletion.')); } else { $affected = Pommo_Fields::subscribersAffected($field['id']); if (count($affected) > 0 && empty($_GET['dVal-force'])) {