public function testCRUD() { midcom::get('auth')->request_sudo('org.openpsa.directmarketing'); $campaign = new org_openpsa_directmarketing_campaign_dba(); $stat = $campaign->create(); $this->assertFalse($stat); $topic = $this->create_object('midcom_db_topic', array('component' => 'org.openpsa.directmarketing')); $campaign = new org_openpsa_directmarketing_campaign_dba(); $campaign->node = $topic->id; $stat = $campaign->create(); $this->assertTrue($stat, midcom_connection::get_error_string()); $this->register_object($campaign); $campaign->title = 'TEST'; $stat = $campaign->update(); $this->assertTrue($stat); $campaign->refresh(); $this->assertEquals('TEST', $campaign->title); $stat = $campaign->delete(); $this->assertTrue($stat); midcom::get('auth')->drop_sudo(); }
private function _create_campaign_from_link() { $campaign = new org_openpsa_directmarketing_campaign_dba(); $campaign->orgOpenpsaObtype = org_openpsa_directmarketing_campaign_dba::TYPE_SMART; $eval = '$tmp_array = ' . $_POST['org_openpsa_directmarketing_campaign_rule_' . $_POST['org_openpsa_directmarketing_campaign_userule']] . ';'; $eval_ret = @eval($eval); if ($eval_ret === false) { return false; } $campaign->rules = $tmp_array; $campaign->description = $tmp_array['comment']; $campaign->title = sprintf($this->_l10n->get('from link "%s"'), $_POST['org_openpsa_directmarketing_campaign_label_' . $_POST['org_openpsa_directmarketing_campaign_userule']]); $campaign->testers[midcom_connection::get_user()] = true; $campaign->node = $this->_topic->id; if (!$campaign->create()) { return false; } $campaign->schedule_update_smart_campaign_members(); midcom::get()->relocate(midcom_core_context::get()->get_key(MIDCOM_CONTEXT_ANCHORPREFIX) . "campaign/edit/{$campaign->guid}/"); // This will exit() }