<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>
示例#3
0
文件: admin.php 项目: nemein/openpsa
 /**
  * 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);
 }