public static function format_result($key, $options, $result)
 {
     $result['campaignSubject'] = $result['col1'];
     $result['campaignSlug'] = $result['col2'];
     $result['campaignSendTime'] = $result['col3'];
     $result['campaignText'] = $result['col4'];
     $result['campaignID'] = $result['col5'];
     $result['_id'] = $result['col5'];
     $Settings = PerchSettings::fetch();
     $html = PerchUtil::excerpt_char($result['campaignText'], $options['excerpt-chars'], true);
     // keyword highlight
     $html = preg_replace('/(' . $key . ')/i', '<span class="keyword">$1</span>', $html);
     $match = array();
     $match['url'] = $Settings->get('perch_mailchimp_campaign_url')->settingValue();
     self::$tmp_url_vars = $result;
     $match['url'] = preg_replace_callback('/{([A-Za-z0-9_\\-]+)}/', array('self', "substitute_url_vars"), $match['url']);
     self::$tmp_url_vars = false;
     $match['title'] = $result['campaignSubject'];
     $match['excerpt'] = $html;
     $match['key'] = $key;
     return $match;
 }
 public static function format_result($key, $options, $result)
 {
     $result['eventTitle'] = $result['col1'];
     $result['eventSlug'] = $result['col2'];
     $result['eventDateTime'] = $result['col3'];
     $result['eventDescHTML'] = $result['col4'];
     $result['eventID'] = $result['col5'];
     $result['_id'] = $result['col5'];
     $Settings = PerchSettings::fetch();
     $html = PerchUtil::excerpt_char($result['eventDescHTML'], $options['excerpt-chars'], true);
     // keyword highlight
     $html = preg_replace('/(' . $key . ')/i', '<span class="keyword">$1</span>', $html);
     $match = array();
     $match['url'] = $Settings->get('perch_events_detail_url')->settingValue();
     self::$tmp_url_vars = $result;
     $match['url'] = preg_replace_callback('/{([A-Za-z0-9_\\-]+)}/', array('self', "substitute_url_vars"), $match['url']);
     self::$tmp_url_vars = false;
     $match['title'] = $result['eventTitle'] . ' - ' . strftime('%d %b %Y', strtotime($result['col3']));
     $match['excerpt'] = $html;
     $match['key'] = $key;
     return $match;
 }
 public static function table_dump($vars, $class = '')
 {
     $out = '';
     if (PerchUtil::count($vars)) {
         $out .= '<table class="' . PerchUtil::html($class, true) . '"><tr><th>ID</th><th>Value</th></tr>';
         foreach ($vars as $key => $val) {
             $out .= '<tr><td><b>' . PerchUtil::html($key) . '</b></td><td>';
             switch (gettype($val)) {
                 case 'array':
                     if (isset($val['processed'])) {
                         $out .= $val['processed'];
                     } else {
                         if (isset($val['_default'])) {
                             $out .= $val['_default'];
                         } else {
                             $out .= '<pre>' . print_r($val, true) . '</pre>';
                         }
                     }
                     break;
                 case 'object':
                     $out .= '<pre>' . print_r($val, true) . '</pre>';
                     break;
                 case 'boolean':
                     $out .= $val ? 'true' : 'false';
                     break;
                 default:
                     if (strlen($val) > 100) {
                         $val = PerchUtil::excerpt_char($val, 100) . '{...}';
                     }
                     $out .= $val;
             }
             $out .= '</td></tr>';
         }
         $out .= '</table>';
     }
     return $out;
 }
 public function replace_content_tags($namespace, $content_vars, $contents)
 {
     if (is_array($content_vars)) {
         // Find all matching tags
         $s = '#<perch:' . $namespace . '[^>]*/>#';
         $count = preg_match_all($s, $contents, $matches, PREG_SET_ORDER);
         if ($count) {
             foreach ($matches as $match) {
                 $match = $match[0];
                 $tag = new PerchXMLTag($match);
                 if ($tag->suppress) {
                     $contents = str_replace($match, '', $contents);
                 } else {
                     if (isset($content_vars[$tag->id])) {
                         $value = $content_vars[$tag->id];
                     } else {
                         $replacement = '';
                         if ($tag->else()) {
                             $replacement = $tag->else();
                         }
                         $contents = str_replace($match, $replacement, $contents);
                         continue;
                     }
                     $field_is_markup = false;
                     if ($tag->type) {
                         $FieldType = PerchFieldTypes::get($tag->type, false, $tag);
                         $modified_value = $FieldType->get_processed($value);
                         $field_is_markup = $FieldType->processed_output_is_markup;
                     } else {
                         $modified_value = $value;
                     }
                     // check for 'rewrite' attribute
                     if ($tag->rewrite) {
                         $modified_value = $this->_rewrite($tag, $modified_value);
                     }
                     // check for 'format' attribute
                     if ($tag->format) {
                         $modified_value = $this->_format($tag, $modified_value);
                     }
                     // check for 'replace' strings
                     if ($tag->replace) {
                         $pairs = explode(',', $tag->replace);
                         if (PerchUtil::count($pairs)) {
                             foreach ($pairs as $pair) {
                                 $pairparts = explode('|', $pair);
                                 if (isset($pairparts[0]) && isset($pairparts[1])) {
                                     $modified_value = str_replace(trim($pairparts[0]), trim($pairparts[1]), $modified_value);
                                 }
                             }
                         }
                     }
                     // Urlify
                     if ($tag->urlify) {
                         $modified_value = PerchUtil::urlify($modified_value);
                     }
                     // Trim by chars
                     if ($tag->chars) {
                         if (strlen($modified_value) > (int) $tag->chars) {
                             $modified_value = PerchUtil::excerpt_char($modified_value, (int) $tag->chars, false, true, $tag->append);
                         }
                     }
                     // Trim by words
                     if ($tag->words) {
                         $modified_value = PerchUtil::excerpt($modified_value, (int) $tag->words, false, true, $tag->append);
                     }
                     // Hash
                     if ($tag->hash == 'md5') {
                         $modified_value = md5($modified_value);
                     }
                     // check that what we've got isn't an array. If it is, try your best to get a good string.
                     if (is_array($modified_value)) {
                         if (isset($modified_value['_default'])) {
                             $modified_value = (string) $modified_value['_default'];
                         } else {
                             if (isset($modified_value['processed'])) {
                                 $modified_value = (string) $modified_value['processed'];
                             } else {
                                 $modified_value = (string) array_shift($modified_value);
                             }
                         }
                     }
                     // Strip tags
                     if ($tag->striptags) {
                         $modified_value = strip_tags($modified_value);
                     }
                     // Append
                     if (!$tag->words && !$tag->chars && $tag->append) {
                         $modified_value .= $tag->append;
                     }
                     // URL Encode
                     if ($tag->urlencode) {
                         $modified_value = rawurlencode($modified_value);
                     }
                     // Escape quotes
                     if ($tag->escape) {
                         $modified_value = PerchUtil::html($modified_value, true, false);
                         $field_is_markup = true;
                     }
                     // check encoding
                     if ($this->autoencode && !$field_is_markup) {
                         if (!$tag->textile && !$tag->markdown) {
                             if ((!$tag->is_set('encode') || $tag->encode == true) && (!$tag->is_set('html') || $tag->html == false)) {
                                 $modified_value = PerchUtil::html($modified_value);
                             }
                         }
                     }
                     // JSON encoding
                     if ($tag->jsonencode) {
                         $modified_value = json_encode($modified_value);
                     }
                     $contents = str_replace($match, $modified_value, $contents);
                 }
             }
         }
     }
     return $contents;
 }
        echo $Form->checkbox('comment-' . $Comment->id(), '1', 0);
        ?>
					<a href="<?php 
        echo $HTML->encode($API->app_path());
        ?>
/comments/edit/?id=<?php 
        echo $HTML->encode(urlencode($Comment->id()));
        ?>
" class="edit">
					<?php 
        echo strftime(str_replace(' ', '&nbsp;', PERCH_DATE_SHORT), strtotime($Comment->commentDateTime()));
        ?>
					</a>
				</td>
                <td title="<?php 
        echo PerchUtil::html(PerchUtil::excerpt_char($Comment->commentHTML(), 500));
        ?>
"><?php 
        echo $HTML->encode($Comment->postTitle());
        ?>
</td>
				<td><?php 
        echo $HTML->encode($Comment->commentName());
        ?>
</td>
				
                <td><?php 
        echo $HTML->encode($Comment->commentEmail());
        ?>
</td>