Esempio n. 1
0
/**
 * Shortcode for paragraph
 * 
 * @param type $attr
 */
function bbpp_thankmelater_shortcode_p($atts, $content = NULL)
{
    extract(Bbpp_ThankMeLater_Shortcoder::atts(array("email_type" => NULL, "comment" => NULL, "force" => 0), $atts));
    // execute shortcodes inside...
    $content = trim(Bbpp_ThankMeLater_Shortcoder::apply($content));
    // empty paragraph?
    if (empty($content) && !$force) {
        return "";
    }
    if ($email_type == "text") {
        return $content . "\n\n";
    } else {
        // elements which cannot appear in a <p>
        $noninline_els_regex = implode("|", array("address", "applet", "area", "base", "basefont", "blockquote", "body", "button", "caption", "center", "col", "colgroup", "dd", "dir", "div", "dl", "dt", "fieldset", "form", "frame", "frameset", "h1", "h2", "h3", "h4", "h5", "h6", "head", "hr", "html", "iframe", "ins", "isindex", "legend", "li", "link", "map", "menu", "meta", "noframes", "noscript", "object", "ol", "optgroup", "option", "p", "param", "pre", "style", "table", "tbody", "td", "tfoot", "th", "thead", "title", "tr", "u", "ul", "article", "aside", "audio", "bdi", "canvas", "command", "datalist", "details", "embed", "figcaption", "figure", "header", "hgroup", "keygen", "mark", "output", "progress", "rp", "rt", "ruby", "section", "source", "summary", "time", "track", "video"));
        // if there's any non-inline elements involved, don't put in the paragraph:
        // up to the user to place [p] ... [/p] themselves (around elements which
        // are not block)
        // TODO may consider inserting a paragraph up to the point that the non-inline
        // element occurs
        if (preg_match("#</?({$noninline_els_regex})( |>)#i", $content)) {
            return $content;
        } else {
            return "<p>" . nl2br($content) . "</p>";
        }
    }
}
Esempio n. 2
0
/**
 * 
 * @param type $attr
 */
function bbpp_thankmelater_shortcode_name($atts)
{
    extract(Bbpp_ThankMeLater_Shortcoder::atts(array("email_type" => NULL, "comment" => NULL, "attr" => 0), $atts));
    if ($attr) {
        return esc_attr($comment->comment_author);
    }
    return $email_type == "html" ? esc_html($comment->comment_author) : $comment->comment_author;
}
Esempio n. 3
0
/**
 * Shortcode for a template part (e.g. the sidebar, content, etc)
 * 
 * @param type $attr
 */
function bbpp_thankmelater_shortcode_t_part($atts, $content = NULL)
{
    extract(Bbpp_ThankMeLater_Shortcoder::atts(array("email_type" => NULL, "comment" => NULL, "name" => "main"), $atts));
    $content = trim(Bbpp_ThankMeLater_Shortcoder::apply($content));
    Bbpp_ThankMeLater_TemplateHelper::add_part($name, $content);
    // Show no output. The template must explicity load this part!
    return "";
}
Esempio n. 4
0
/**
 * Shortcode for post ID
 * 
 * @param type $attr
 */
function bbpp_thankmelater_shortcode_post_id($atts, $content = NULL)
{
    extract(Bbpp_ThankMeLater_Shortcoder::atts(array("email_type" => NULL, "comment" => NULL, "attr" => 0), $atts));
    if ($attr) {
        return esc_attr($comment->comment_post_ID);
    }
    return $email_type == "html" ? esc_html($comment->comment_post_ID) : $comment->comment_post_ID;
}
Esempio n. 5
0
/**
 * Shortcode for <h[0-6]>
 * 
 * @param type $attr
 */
function bbpp_thankmelater_shortcode_h($atts, $content = NULL)
{
    extract(Bbpp_ThankMeLater_Shortcoder::atts(array("email_type" => NULL, "comment" => NULL, "level" => 1), $atts));
    if ($email_type == "text") {
        return str_repeat("*", $level) . " " . $content;
    }
    return "<h{$level}>" . $content . "</h{$level}>";
}
Esempio n. 6
0
/**
 * 
 * @param type $attr
 */
function bbpp_thankmelater_shortcode_track($atts, $content = NULL)
{
    extract(Bbpp_ThankMeLater_Shortcoder::atts(array("email_type" => NULL, "comment" => NULL, "url" => FALSE), $atts));
    $code = base64_encode($comment->comment_ID . "-" . $comment->comment_author_email);
    $track_url = get_site_url() . "/?bbpp-thankmelater-open=" . urlencode($code);
    if ($url) {
        return $track_url;
    }
    if ($email_type == "html") {
        return "<img src=\"" . $track_url . "\" width=\"1\" height=\"1\">";
    }
}
Esempio n. 7
0
/**
 * 
 * @param type $attr
 */
function bbpp_thankmelater_shortcode_htmlonly($atts, $content = NULL)
{
    extract(Bbpp_ThankMeLater_Shortcoder::atts(array("email_type" => NULL, "comment" => NULL, "apply_shortcodes" => 1), $atts));
    $apply_shortcodes = strtolower($apply_shortcodes);
    if ($email_type == "html") {
        if ($apply_shortcodes) {
            return Bbpp_ThankMeLater_Shortcoder::apply($content);
        } else {
            return $content;
        }
    }
    return "";
}
Esempio n. 8
0
/**
 * Date of the comment
 * 
 * @param type $attr
 */
function bbpp_thankmelater_shortcode_date($atts, $content = NULL)
{
    extract(Bbpp_ThankMeLater_Shortcoder::atts(array("email_type" => NULL, "comment" => NULL, "format" => _x("d M Y", "date syntax", "bbpp-thankmelater"), "gmt" => 0, "attr" => 0), $atts));
    $time = strtotime($comment->comment_date_gmt . " GMT");
    if ($gmt) {
        $date = gmdate($format, $time);
    } else {
        $date = date($format, $time);
    }
    if ($attr) {
        return esc_attr($date);
    }
    return $date;
}
Esempio n. 9
0
/**
 * 
 * @param type $attr
 */
function bbpp_thankmelater_shortcode_comment_url($atts, $content = NULL)
{
    extract(Bbpp_ThankMeLater_Shortcoder::atts(array("email_type" => NULL, "comment" => NULL, "attr" => 0), $atts));
    $url = get_comment_link($comment);
    if ($attr) {
        return esc_attr($url);
    } else {
        if ($email_type == "html") {
            return esc_html($url);
        } else {
            return $url;
        }
    }
}
Esempio n. 10
0
/**
 * Shortcode for image
 * 
 * @param type $attr
 */
function bbpp_thankmelater_shortcode_img($atts, $content = NULL)
{
    extract(Bbpp_ThankMeLater_Shortcoder::atts(array("email_type" => NULL, "comment" => NULL, "src" => "", "width" => 0, "height" => 0), $atts));
    if ($email_type == "text") {
        return "";
    }
    $tag = "<img";
    $tag .= " src=\"" . htmlspecialchars($src) . "\"";
    if ($width) {
        $tag .= " width=\"" . htmlspecialchars($width) . "\"";
    }
    if ($height) {
        $tag .= " height=\"" . htmlspecialchars($height) . "\"";
    }
    return $tag;
}
Esempio n. 11
0
/**
 * 
 * @param type $attr
 */
function bbpp_thankmelater_shortcode_opt_out($atts, $content = NULL)
{
    extract(Bbpp_ThankMeLater_Shortcoder::atts(array("email_type" => NULL, "comment" => NULL, "url" => TRUE), $atts));
    $code = base64_encode($comment->comment_ID . "-" . $comment->comment_author_email);
    $unsub_url = get_site_url() . "/?bbpp-thankmelater-unsubscribe=" . $code;
    if ($url) {
        return $unsub_url;
    }
    $t_html = __("We sent you this email because you left a comment on our blog. %sUnsubscribe from future emails%s.", "bbpp-thankmelater");
    $t_text = __("We sent you this email because you left a comment on our blog. Click this URL to unsubscribe from future emails: %s", "bbpp-thankmelater");
    if ($email_type == "html") {
        return "<center><small>" . sprintf($t_html, "<a href=\"" . esc_attr($unsub_url) . "\">", "</a>") . "</small></center>";
    } else {
        return sprintf($t_text, $unsub_url);
    }
}
Esempio n. 12
0
/**
 * 
 * @param type $attr
 */
function bbpp_thankmelater_shortcode_comment($atts, $content = NULL)
{
    extract(Bbpp_ThankMeLater_Shortcoder::atts(array("email_type" => NULL, "comment" => NULL, "maxlength" => NULL, "attr" => 0), $atts));
    $message = strip_tags($comment->comment_content);
    if ($maxlength && strlen($message) > $maxlength) {
        $message = explode("<f>", wordwrap($message, $maxlength - 3, "<f>", TRUE));
        $message = $message[0] . "...";
    }
    if ($attr) {
        return esc_attr($message);
    }
    if ($email_type == "html") {
        return esc_html($message);
    } else {
        return $message;
    }
}
Esempio n. 13
0
/**
 * Shortcode for simple template
 * 
 * @param type $attr
 */
function bbpp_thankmelater_shortcode_t_simple($atts, $content = NULL)
{
    extract(Bbpp_ThankMeLater_Shortcoder::atts(array("email_type" => NULL, "comment" => NULL, "background_color" => "#F6F6F6", "page_background_color" => "#FFFFFF"), $atts));
    if (!preg_match("#^\\#[0-F]{6}\$#i", $background_color)) {
        $background_color = "#F6F6F6";
    }
    if (!preg_match("#^\\#[0-F]{6}\$#i", $page_background_color)) {
        $page_background_color = "#FFFFFF";
    }
    // execute shortcodes inside...
    $content = trim(Bbpp_ThankMeLater_Shortcoder::apply($content));
    $main = Bbpp_ThankMeLater_TemplateHelper::get_part("main");
    if (!$main) {
        $main = $content;
    }
    if ($email_type == "text") {
        $output = "";
        $output .= Bbpp_ThankMeLater_TemplateHelper::get_part("header") . "\n\n";
        $output .= $main . "\n\n";
        $output .= Bbpp_ThankMeLater_TemplateHelper::get_part("footer");
        return $output;
    }
    $output = "";
    $output .= "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"" . " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
    $output .= "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n";
    $output .= "<head>\n";
    $output .= "<style type=\"text/css\">\n";
    $output .= "body { width: 100%; margin: 0px; padding: 0px;" . "font-family: arial, sans-serif; font-size: 14px; line-height: 18px;" . "color: #333333; background: {$background_color};}\n";
    $output .= "#wrap { padding-top: 10px; }\n";
    $output .= "#header-banner { padding: 0px; }\n";
    $output .= "#header { padding-top: 5px; padding-bottom: 5px;" . " padding-left: 20px; padding-right: 20px; }\n";
    $output .= "h1 { font-size: 32px; line-height: 41px; margin: 0px;" . " letter-spacing: -1px;}\n";
    $output .= "h2 { font-size: 18px; line-height: 23px; margin: 0px;" . " letter-spacing: -1px;}\n";
    $output .= "a { color: #0000FF; }\n";
    $output .= "p { padding-top: 0px; padding-bottom: 18px; margin: 0px; }\n";
    $output .= "#header-banner-table { background-color: " . $page_background_color . "; }\n";
    $output .= "#header-table { background-color: " . $page_background_color . "; }\n";
    $output .= "#content-table { background-color: " . $page_background_color . ";" . " padding-bottom: 20px; }\n";
    $output .= "#main { padding-left: 20px; padding-right: 20px; }\n";
    $output .= "#footer { padding-top: 5px; padding-bottom: 5px;" . " padding-left: 20px; padding-right: 20px; }\n";
    $output .= "#footer-table { background-color: " . $page_background_color . "; padding-bottom: 20px; }\n";
    $output .= "</style>\n";
    $output .= "</head>\n";
    $output .= "<body>\n";
    // center
    $output .= "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" " . "width=\"100%\">\n";
    $output .= "<tr>\n";
    $output .= "<td align=\"center\" id=\"wrap\">\n";
    // header banner
    $output .= "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"" . " width=\"600\" id=\"header-banner-table\">\n";
    $output .= "<tr>\n";
    $output .= "<td id=\"header-banner\">\n";
    if ($header_banner = Bbpp_ThankMeLater_TemplateHelper::get_part("header_banner")) {
        $output .= $header_banner . "\n";
    } else {
        $output .= "<img src=\"" . plugins_url('imgs/thank-you-banner.png', dirname(__FILE__)) . "\" width=\"600\" height=\"75\">";
    }
    // end header banner
    $output .= "</td>\n";
    $output .= "</tr>\n";
    $output .= "</table>\n";
    // header
    $output .= "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"" . " width=\"600\" id=\"header-table\">\n";
    $output .= "<tr>\n";
    $output .= "<td id=\"header\">\n";
    $output .= Bbpp_ThankMeLater_TemplateHelper::get_part("header") . "\n";
    // end header
    $output .= "</td>\n";
    $output .= "</tr>\n";
    $output .= "</table>\n";
    // main
    $output .= "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"" . " width=\"600\" id=\"content-table\">\n";
    $output .= "<tr>\n";
    $output .= "<td id=\"main\" valign=\"top\">\n";
    $output .= $main;
    // end main
    $output .= "</td>\n";
    $output .= "</tr>\n";
    $output .= "</table>\n";
    // footer
    $output .= "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"" . " width=\"600\" id=\"footer-table\">\n";
    $output .= "<tr>\n";
    $output .= "<td id=\"footer\">\n";
    $output .= Bbpp_ThankMeLater_TemplateHelper::get_part("footer") . "\n";
    // end footer
    $output .= "</td>\n";
    $output .= "</tr>\n";
    $output .= "</table>\n";
    // end center
    $output .= "</td>\n";
    $output .= "</tr>\n";
    $output .= "</table>\n";
    $output .= "</body>\n";
    $output .= "</html>";
    return Bbpp_ThankMeLater_TemplateHelper::inline_css($output);
}