function actionClass($id = null) { if ($id == null) { $this->render('classes', array('classes' => Class_Prog::model()->findAll())); } else { $c = Class_Prog::model()->findByPk($id); if ($c == null) { throw new CHttpException(404, 'The requested page does not exist.'); } $this->render('class', array('class' => $c)); } }
public function actionDiff($id, $mode) { if (!isset(Yii::app()->session['code'])) { $this->redirect(array('index')); } $class = Class_Prog::model()->findByPk($id); if ($class == null) { throw new CHttpException(404, 'Unable to find the requested class.'); } $original = $this->renderPartial('/generator/cpp_class_decl', array('raw' => 1, 'class' => $class), true); $new = Yii::app()->session['code']; $diff = TextDiff::compare($original, $new, $mode); $this->render('diff', array('class' => $class, 'diff' => $diff, 'new' => $new, 'mode' => $mode)); }
private function type_id($name) { if (array_key_exists($name, $this->extra_data_types)) { return $this->extra_data_types[$name]; } $qual = explode("::", $name); $unqual = $qual[count($qual) - 1]; $classes = Class_Prog::model()->findAllByAttributes(array('name' => $unqual)); foreach ($classes as $class) { if ($class->name == $name || $class->full_name() == $name) { return $this->class_id($class->id_class); } } return $this->extra_data_types[$name] = $this->generic_id(); // "X.".count($this->extra_data_types); }
function internalFile($name, $ext, $raw) { $ns = explode('/', $name); $name = $ns[count($ns) - 1]; $camel_name = str_replace(' ', '', ucwords(str_replace('_', ' ', $name))); $classes = Class_Prog::model()->findAll('name = :n1 OR name = :n2', array('n1' => $name, 'n2' => $camel_name)); for ($i = count($ns) - 2, $l = 1; $i >= 0 && count($classes) > 1; $i--, $l++) { $new_classes = array(); foreach ($classes as $c) { $t = $c->ancestor_level($l); if ($t != null && $t->name == $ns[$i]) { $new_classes[] = $c; } } $classes = $new_classes; } if (count($classes) == 0) { throw new CHttpException(404, 'The requested page does not exist.'); } $class = $classes[0]; $view = $ext == 'cpp' ? 'impl' : 'decl'; $this->render_code('cpp_class', $raw, false, array('class' => $class, 'view' => $view)); }
/** * Displays a particular model. * @param integer $id the ID of the model to be displayed */ public function actionView($id) { $model = $this->loadModel($id); if (isset($_REQUEST['add_package'])) { $class = Package::model()->findByPk($_REQUEST['add_package']); if ($class != null) { $nm = new ClassRequirement(); $nm->id_requirement = $model->id_requirement; $nm->id_package = $class->id_package; $nm->save(false); } } if (isset($_REQUEST['add_class'])) { $class = Class_Prog::model()->findByPk($_REQUEST['add_class']); if ($class != null) { $nm = new ClassRequirementReal(); $nm->id_requirement = $model->id_requirement; $nm->id_class = $class->id_class; $nm->save(false); } } $this->render('view', array('model' => $model)); }
function actionParentCompletion($term) { /*$sql_command = Yii::app()->db->createCommand() ->select('name as value, id_class as id' ) ->from ( 'class' ) ->where ( 'name like :txt', array('txt'=>"%$term%") ) ->order ( 'name' ) ->limit ( 10 ); $matches = $sql_command->queryAll();*/ $classes = Class_Prog::model()->findAll(array('condition' => 'name like :txt', 'order' => 'name', 'limit' => 10, 'params' => array('txt' => "%{$term}%"))); $matches = array(); foreach ($classes as $c) { $matches[] = array('value' => $c->name . " (" . $c->with('package')->package->full_name() . ")", 'id' => $c->id_class); } echo json_encode($matches); }
function test_row(Method $meth, TableCreator $table_creator) { $text = $meth->ttest != null ? $meth->ttest->unitTest->public_id() : ''; return $table_creator->row(array(Class_Prog::model()->findByPK($meth->id_class)->name . "::" . $meth->name . "()", $text)); }
function CppLoader($code) { global $regex_id, $regex_qual_id, $regex_type_name; $regex_id = "[[:alnum:]_]+"; $regex_qual_id = "(?:{$regex_id}::)*{$regex_id}"; $regex_type_name = "(?:const)?\\s*{$regex_qual_id}" . "(?:<(?:[[:alnum:]_() ]|(?:<(?:[[:alnum:]_() ]|(?:<[[:alnum:]_() ]+>)?)+>)?)+>)?" . "\\**&?"; $this->s = fopen('data://text/plain,' . $code, 'r'); $this->namespace = array(); $this->parents = array(); $this->class = Class_Prog::model(); $this->attributes = array(); $this->methods = array(); }
<?php $classes = Class_Prog::model()->findAll(); foreach ($classes as $class) { $errors = SpellCheck::check($class->description); if (!empty($errors)) { echo CHtml::link($class->name, array('class/view', 'id' => $class->id_class)); echo " - Description"; echo '<ul>'; foreach ($errors as $err) { echo "<li>{$err}</li>"; } echo '</ul>'; } $errors = SpellCheck::check($class->usage); if (!empty($errors)) { echo CHtml::link($class->name, array('class/view', 'id' => $class->id_class)); echo " - Usage"; echo '<ul>'; foreach ($errors as $err) { echo "<li>{$err}</li>"; } echo '</ul>'; } }
<?php /// @warning HARD CODED DB PK!!!!!!!!!!! $methods = Method::model()->findAll(); $table = $table_creator->begin_table("|m{3cm}|m{6cm}|m{2cm}|m{2cm}|") . $table_creator->heading_row(array("Classe", "Metodo", "Righe", "Test")); foreach ($methods as $m) { $class = Class_Prog::model()->findByPK($m->id_class)->name; $table .= $table_creator->row(array($class, $m->name, '', '')); } $table .= $table_creator->caption("Tabella metodi") . $table_creator->end_table(); if ($table_creator->id() != 'html' && !$raw) { echo CodeGen::generic_render_code($table, 'latex', true); } else { echo $table; }
<?php function class_row(Class_Prog $class, TableCreator $table_creator) { $ret = ""; $pkg_name = array(); foreach ($class->requirements as $c) { array_push($pkg_name, $c->public_id()); } array_unique($pkg_name); sort($pkg_name); $cells = array($table_creator->anchor($class->full_name(), $class->name), implode("\n\n", $pkg_name)); $ret .= $table_creator->row($cells); return $ret; } $table = $table_creator->begin_table("|l|p{3cm}|") . $table_creator->heading_row(array("Classe", "Requisiti")); $toplevel = Class_Prog::model()->findAll("t.library != 1"); foreach ($toplevel as $req) { $table .= class_row($req, $table_creator); } $table .= $table_creator->caption("Tabella classi / requisiti") . $table_creator->end_table(); if ($table_creator->id() != 'html' && !$raw) { echo CodeGen::generic_render_code($table, 'latex', true); } else { echo $table; }
<?php $classes = Class_Prog::model()->with('package')->findAll('library = 0'); foreach ($classes as $class) { echo $class->package->full_name("/") . "/" . $class->cpp_header_file() . "\n"; if ($sources) { echo $class->package->full_name("/") . "/" . $class->cpp_source_file() . "\n"; } }