$exclude = array();
foreach ($db_columns as $name => $col) {
- if (array_search($name, $exclude) === false && !isset($col['exclude']))
- $this->addDBField($name, $col);
+ if (array_search($name, $exclude) !== false)
+ continue;
+ if (isset($col['exclude']) && $col['exclude'])
+ continue;
+ $this->addDBField($name, $col);
}
foreach ($db_relations as $name => $relation) {
- if (array_search($name, $exclude) === false && !isset($relation['exclude']))
- $this->addDBRelation($name, $relation, $col); // FIXME: $col is undefined
+ if (array_search($name, $exclude) !== false)
+ continue;
+ if (isset($relation['exclude']) && $relation['exclude'])
+ continue;
+ $this->addDBRelation($name, $relation, $col); // FIXME: $col is undefined
}
} else {
foreach ($user_fields as $uname) {
return;
$defaults = array(
- 'blank' => true,
+ 'blank' => true,
'help_text' => '',
- 'editable' => true,
+ 'editable' => true,
'verbose' => isset($col['verbose']) ? $col['verbose'] : $name,
);
class IPF_ORM_Template_Orderable extends IPF_ORM_Template
{
private $columnName = 'ord';
+ private $exclude = true;
public function __construct(array $options=array())
{
- if ($options && array_key_exists('name', $options))
- $this->columnName = $options['name'];
+ if ($options) {
+ if (array_key_exists('name', $options))
+ $this->columnName = $options['name'];
+ if (array_key_exists('exclude', $options))
+ $this->exclude = $options['exclude'];
+ }
}
public function getColumnName()
public function setTableDefinition()
{
- $this->hasColumn($this->columnName, 'integer', null, array('exclude' => true));
+ $this->hasColumn($this->columnName, 'integer', null, array('exclude' => $this->exclude));
$this->getTable()->listeners['Orderable_'.$this->columnName] = new IPF_ORM_Template_Listener_Orderable($this->columnName);
}
}