findModelClassForTable() public static method

public static findModelClassForTable ( $table, $path = false )
コード例 #1
0
 public static function findModelClassForTable($table, $path = false)
 {
     if (!$path) {
         $path = Yii::app()->basePath . '/models';
     }
     $dh = opendir($path);
     while ($file = readdir($dh)) {
         if (!preg_match('/^\\.\\.?$/', $file)) {
             if (is_dir($path . '/' . $file)) {
                 if ($class = EventTypeModuleCode::findModelClassForTable($table, $path . '/' . $file)) {
                     return $class;
                 }
             } else {
                 if (preg_match('/\\.php$/', $file)) {
                     $blob = file_get_contents($path . '/' . $file);
                     if (preg_match('/public function tableName\\(\\).*?\\{.*?return \'(.*?)\';/s', $blob, $m)) {
                         if ($m[1] == $table) {
                             return preg_replace('/\\.php$/', '', $file);
                         }
                     }
                 }
             }
         }
     }
     closedir($dh);
     if ($path == Yii::app()->basePath . '/models') {
         $path = Yii::app()->basePath . '/modules';
         $dh = opendir($path);
         while ($file = readdir($dh)) {
             if (!preg_match('/^\\.\\.?$/', $file)) {
                 if (file_exists($path . '/' . $file . '/models')) {
                     if ($class = EventTypeModuleCode::findModelClassForTable($table, $path . '/' . $file . '/models')) {
                         return $class;
                     }
                 }
             }
         }
         closedir($dh);
     }
     return false;
 }
コード例 #2
0
    EventTypeModuleCode::dump_field_unique_values_multi(@$_POST['multiSelectFieldSQLTable' . $element_num . 'Field' . $field_num], @$_POST['multiSelectFieldSQLTableField' . $element_num . 'Field' . $field_num], @$_POST['multiSelectFieldValueDefaults' . $element_num . 'Field' . $field_num]);
    ?>
				<?php 
}
?>
			</select><br/>
			<div id="multiSelectFieldValueDefaultsDiv<?php 
echo $element_num;
?>
Field<?php 
echo $field_num;
?>
" style="margin-top: 5px;">
				<?php 
if (@$_POST['multiSelectFieldValueDefaults' . $element_num . 'Field' . $field_num]) {
    $model = EventTypeModuleCode::findModelClassForTable(@$_POST['multiSelectFieldSQLTable' . $element_num . 'Field' . $field_num]);
    $field = @$_POST['multiSelectFieldSQLTableField' . $element_num . 'Field' . $field_num];
    foreach (@$_POST['multiSelectFieldValueDefaults' . $element_num . 'Field' . $field_num] as $value) {
        $item = $model::model()->findByPk($value);
        ?>
				<div><input type="hidden" name="multiSelectFieldValueDefaults<?php 
        echo $element_num;
        ?>
Field<?php 
        echo $field_num;
        ?>
[]" value="<?php 
        echo $item->id;
        ?>
" /><span><?php 
        echo $item->{$field};