public function __find_all_by__($method, $args) { $original_method = $method; $method = str_replace("find_all_by_", "", $method); $field_list = explode("_AND_", $method); if (count($args) != count($field_list)) { Log::error(__METHOD__, "Il numero dei campi non corrisponde : {$original_method}"); } $table = $this->__getMyTable(); $raw_class_name = $this->__getRawClassName(); $ss = DB::newSelect($table); $i = 0; foreach ($field_list as $field) { if (!ActiveRecord::has_field_for_class($raw_class_name, $field)) { throw new Exception("Il campo '{$field}' non e' presente nella tabella '{$table}', raw class name " . $raw_class_name . " :" . ActiveRecord::print_fields_for_class($raw_class_name) . " - " . ActiveRecord::print_tables()); } $ss->addConditionEquals($field, $args[$i]); $i++; } return $this->__load_into_objects($ss); }
function testExecute() { ModuleUtils::set_modules_path(FRAMEWORK_CORE_PATH . "tests/base/fakeroot/modules/"); $ciccia_dir = new Dir("/" . FRAMEWORK_CORE_PATH . "tests/modules/module_plug_root/ciccia/"); $db_desc = DB::newDatabaseDescription(); $this->assertFalse($db_desc->hasTable("my_entity"), "La tabella my_entity e' gia' presente nel database!!"); $this->assertFalse($ciccia_dir->exists(), "La directory 'ciccia' esiste gia'!!"); //dove innesto i moduli $module_plug_test_root = new Dir("/" . FRAMEWORK_CORE_PATH . "tests/modules/module_plug_root/"); ModulePlug::setRootDir($module_plug_test_root->getPath()); $plug = new ModulePlug(new Dir("/" . FRAMEWORK_CORE_PATH . "tests/base/fakeroot/modules/ecommerce/cart/")); $def = AvailableModules::get_available_module_definition("ecommerce", "cart"); $install_data = $def->get_action_data("install"); $plug->execute($install_data); $db_desc = DB::newDatabaseDescription(); $this->assertTrue($db_desc->hasTable("my_entity"), "La tabella my_entity non e' stata creata!!"); $sel = DB::newSelect("my_entity"); $sel->count("*", "num_entries"); $result = $sel->exec_fetch_assoc(); $this->assertEqual($result["num_entries"], 2, "Il numero di righe nella tabella non corrisponde!!"); $table_desc = DB::newTableFieldsDescription("my_entity"); $this->assertTrue($table_desc->hasField("new_field"), "Il campo new_field non e' stato aggiunto!!"); $this->assertTrue($table_desc->hasField("int_field"), "Il campo int_field non e' stato aggiunto!!"); $ciccia_dir = new Dir("/" . FRAMEWORK_CORE_PATH . "tests/modules/module_plug_root/ciccia/"); $this->assertTrue($ciccia_dir->exists(), "La directory 'ciccia' non e' stata creata!!"); $uninstall_data = $def->get_action_data("uninstall"); $plug->execute($uninstall_data[0]); $this->assertFalse($ciccia_dir->exists(), "La directory ciccia non e' stata eliminata!!"); ModulePlug::setRootDir("/"); }
function fg_write_comune($id_provincia, $codice_istat_comune) { if ($id_provincia != 0) { echo "<select class=\"form_field_enabled\" id=\"select_comune\" name=\"codice_istat_comune\">"; $yes_selected = "selected=\"selected\""; $no_selected = ""; $ss = DB::newSelect("location_comuni"); $ss->add("codice_istat_comune"); $ss->add("nome"); $ss->addConditionEquals("id_provincia", $id_provincia); $ss->addOrdering("nome"); $result = $ss->exec(); $selected = $codice_istat_comune > 0 ? $no_selected : $yes_selected; echo "<option value=\"-1\" {$selected}>(Seleziona un comune)</option>\n"; while ($row = mysql_fetch_assoc($result)) { if ($row['codice_istat_comune'] == $codice_istat_comune) { $selected = $yes_selected; } else { $selected = $no_selected; } echo "<option value=\"{$row['codice_istat_comune']}\" {$selected}>{$row['nome']}</option>\n"; } mysql_free_result($result); } else { echo "<select class=\"form_field_disabled\" id=\"select_comune\" name=\"codice_istat_comune\">"; } echo "</select>"; }