Pommo_Fields::add PHP Method

add() static public method

returns the database ID of the added field or FALSE if failed
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);
    }

Usage Example

Example #1
0
	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'])) {