public function testMergeObjects() { $o1 = (object) array('a' => 1, 'b' => 2); $o2 = (object) array('c' => 3, 'b' => 3); $o3 = merge_objects($o1, $o2); $this->assertEquals($o3, (object) array('a' => 1, 'b' => 2, 'c' => 3)); $o4 = merge_objects($o1, $o2, $o3, array('d' => 4), 1, 2, 3); $this->assertEquals($o4, (object) array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4)); }
public function getLoginArgs() { $CI =& get_instance(); $CI->load->model('sso_app_model'); // Load sso apps model by default if ($CI->input->get()) { $args = new Login_Args($CI->input->get()); } else { $args = new Login_Args($CI->input->post()); } $CI->load->library('session'); if (isset($args->appid)) { $app = $CI->sso_app_model->getApp($args->appid); if (isset($app->config)) { // Merge the configurations to the app object first $app = merge_objects($app, (object) json_decode($app->config)); unset($app->config); } $args = merge_objects($args, $app); } return $args; }