/** * used to create containers for new modules * @global db the exponent database object * @param $iloc * @param $m * @param bool $linked * @return void */ private function add_container($iloc, $m, $linked = false) { global $db; if ($iloc->mod != 'contactmodule') { $iloc->mod = $this->new_modules[$iloc->mod]; $m->internal = isset($m->internal) && strstr($m->internal, "Controller") ? $m->internal : serialize($iloc); $m->action = isset($m->action) ? $m->action : 'showall'; $m->view = isset($m->view) ? $m->view : 'showall'; if ($m->view == "Default") { $m->view = 'showall'; } } else { // must be an old school contactmodule $iloc->mod = $this->new_modules[$iloc->mod]; $m->internal = serialize($iloc); } if ($linked) { $newconfig = new expConfig(); $config['aggregate'] = array($iloc->src); $newconfig->config = $config; $newmodule['i_mod'] = $iloc->mod; $newmodule['modcntrol'] = $iloc->mod; $newmodule['rank'] = $m->rank; $newmodule['views'] = $m->view; $newmodule['title'] = $m->title; $newmodule['actions'] = $m->action; $_POST['current_section'] = 1; $m = container::update($newmodule, $m, expUnserialize($m->external)); $newmodinternal = expUnserialize($m->internal); $newmod = explode("Controller", $newmodinternal->mod); $newmodinternal->mod = $newmod[0]; $newconfig->location_data = $newmodinternal; $newconfig->save(); } $db->insertObject($m, 'container'); }