1 <?php
2
3 4 5 6
7
8 class FullCrudFieldProvider
9 {
10
11 static public function generateActiveField($model, $column)
12 {
13
14 if (strtoupper($column->dbType) == 'TINYINT(1)'
15 || strtoupper($column->dbType) == 'BIT'
16 || strtoupper($column->dbType) == 'BOOL'
17 || strtoupper($column->dbType) == 'BOOLEAN') {
18 return "echo \$form->checkBox(\$model,'{$column->name}')";
19 } else if (strtoupper($column->dbType) == 'DATE') {
20 return ("\$this->widget('zii.widgets.jui.CJuiDatePicker',
21 array(
22 'model'=>\$model,
23 'attribute'=>'{$column->name}',
24 'language'=> substr(Yii::app()->language,0,strpos(Yii::app()->language,'_')),
25 'htmlOptions'=>array('size'=>10),
26 'options'=>array(
27 'showButtonPanel'=>true,
28 'changeYear'=>true,
29 'changeYear'=>true,
30 'dateFormat'=>'yy-mm-dd',
31 ),
32 )
33 );
34 ");
35 } else if (substr(strtoupper($column->dbType), 0, 4) == 'ENUM') {
36 $string = sprintf("echo CHtml::activeDropDownList(\$model, '%s', array(\n", $column->name);
37
38 $enum_values = explode(',', substr($column->dbType, 4, strlen($column->dbType) - 1));
39
40 foreach ($enum_values as $value) {
41 $value = trim($value, "()'");
42 $string .= "\t\t\t'$value' => '" . $value . "' ,\n";
43 }
44 $string .= '))';
45
46 return $string;
47 } else {
48 return null;
49 }
50 }
51
52 }
53
54 ?>
55