<th><?php echo $l10n->get('% of clicks'); ?> </th> <th><?php echo $l10n->get('% of recipients'); ?> </th> </tr> <?php $total = 0; foreach ($link_data['counts'] as $target => $count) { $total += $count; $of_clicks = $link_data['percentages']['of_links'][$target]; $of_recipients = $link_data['percentages']['of_recipients'][$target]; $rule_ser = org_openpsa_helpers::array2code($link_data['rules'][$target]); $visual_width = round($of_clicks * 5); $target_label = $target; // Fetch target url and look for a heading to use //TODO: Make a HEAD request and check the content-type in stead fo trying to guess here if (preg_match('/(\\.html?|\\/|\\.com|\\.net|\\.org|\\.fi|\\.info)$/', trim(urldecode($target)))) { debug_add("Trying to fetch '{$target}' and read title from there"); $remote_data = false; $fp = @fopen(trim(urldecode($target)), 'r'); if ($fp) { while (!feof($fp)) { $remote_data .= fread($fp, 4096); } fclose($fp); $regexs = array("/(<h([1-3])>)(.*?)(<\\/h\\2>)/msi", "/(<meta name=['\"].*?title['\"] content=(['\"]))(.*?)\\2(\\/>)/msi", "/((<title>))(.*?)(<\\/title>)/msi"); foreach ($regexs as $regex) {
<?php if (isset($_POST['midcom_helper_datamanager_dummy_field_rules'])) { $editor_content = $_POST['midcom_helper_datamanager_dummy_field_rules']; } else { $editor_content = org_openpsa_helpers::array2code($data['campaign']->rules); } ?> <div class="main"> <form name="org_openpsa_directmarketing_rules_advanced_editor" enctype="multipart/form-data" method="post" class="datamanager2"> <fieldset class="area"> <legend><?php echo $data['l10n']->get('edit rules'); ?> </legend> <label for="midcom_helper_datamanager2_dummy_field_rules" id="midcom_helper_datamanager2_dummy_field_rules_label"> <textarea id="midcom_helper_datamanager2_dummy_field_rules" name="midcom_helper_datamanager2_dummy_field_rules" rows="25" cols="50" class="longtext" >&(editor_content);</textarea> </label> </fieldset> <div class="form_toolbar"> <input name="midcom_helper_datamanager2_save" accesskey="s" class="save" value="<?php echo $data['l10n_midcom']->get('save'); ?> " type="submit" /> <input name="midcom_helper_datamanager2_cancel" class="cancel" value="<?php echo $data['l10n_midcom']->get('cancel'); ?> " type="submit" /> </div> </form> </div>
/** * Displays an campaign edit view. * * Note, that the campaign for non-index mode operation is automatically determined in the can_handle * phase. * * If create privileges apply, we relocate to the index creation campaign, */ public function _handler_edit_query_advanced($handler_id, array $args, array &$data) { $this->_campaign = $this->_master->load_campaign($args[0]); $this->_campaign->require_do('midgard:update'); $this->_prepare_request_data($handler_id); if (!empty($_POST['midcom_helper_datamanager2_cancel'])) { return new midcom_response_relocate(midcom_core_context::get()->get_key(MIDCOM_CONTEXT_ANCHORPREFIX) . "campaign/" . $this->_request_data["campaign"]->guid . '/'); } $this->add_stylesheet(MIDCOM_STATIC_URL . '/org.openpsa.directmarketing/edit_query.css'); if (!empty($_POST['midcom_helper_datamanager2_save'])) { //Actual save routine if (empty($_POST['midcom_helper_datamanager2_dummy_field_rules'])) { //Rule code empty midcom::get('uimessages')->add('org.openpsa.directmarketing', $this->_l10n->get('no rule given'), 'error'); return; } $eval = '$tmp_array = ' . $_POST['midcom_helper_datamanager2_dummy_field_rules'] . ';'; $eval_ret = @eval($eval); if ($eval_ret === false || !is_array($tmp_array)) { //Rule could not be parsed midcom::get('uimessages')->add('org.openpsa.directmarketing', $this->_l10n->get('given rule could not be parsed'), 'error'); return; } if (count($tmp_array) == 0) { // Rule array is empty midcom::get('uimessages')->add('org.openpsa.directmarketing', $this->_l10n->get('given rule is empty'), 'error'); return; } if (array_key_exists('generated_from', $tmp_array)) { debug_add('"generated_from" found in advanced rule, removing', MIDCOM_LOG_WARN); unset($tmp_array['generated_from']); // PONDER: return to editor or save anyway ? now we overwrite the value with the modified rule and return to editor. midcom::get('uimessages')->add('org.openpsa.directmarketing', $this->_l10n->get('longtext:generated_from_found_in_adv_rule'), 'error'); $_POST['midcom_helper_datamanager2_dummy_field_rules'] = org_openpsa_helpers::array2code($tmp_array); $this->_update_breadcrumb_line($handler_id); org_openpsa_helpers::dm2_savecancel($this); return; } $this->_request_data['campaign']->rules = $tmp_array; $update_ret = $this->_request_data['campaign']->update(); if (!$update_ret) { //Save failed midcom::get('uimessages')->add('org.openpsa.directmarketing', sprintf($this->_l10n->get('error when saving rule, errstr: %s'), midcom_connection::get_error_string()), 'error'); return; } //Schedule background members refresh $this->_request_data['campaign']->schedule_update_smart_campaign_members(); //Save ok, relocate return new midcom_response_relocate(midcom_core_context::get()->get_key(MIDCOM_CONTEXT_ANCHORPREFIX) . "campaign/" . $this->_request_data["campaign"]->guid . '/'); } $this->set_active_leaf('campaign_' . $this->_campaign->id); midcom::get('head')->set_pagetitle($this->_campaign->title); org_openpsa_helpers::dm2_savecancel($this); $this->bind_view_to_object($this->_campaign); $this->_update_breadcrumb_line($handler_id); }