예제 #1
0
/**
 * @usage Special Sort-code: Share in Linkedin to Download
 * @param $params
 * @return mixed|string
 */
function wpdm_lishare_2download($params)
{
    $package = wpdm_get_package($params['download']);
    if (isset($params['title'])) {
        $package['linkedin_heading'] = $params['title'];
    }
    if (isset($params['msg'])) {
        $package['linkedin_intro'] = $params['msg'];
    }
    $scolor = isset($params['scolor']) ? $params['scolor'] : 'default';
    $html = \WPDM\PackageLocks::LinkedInShare($package);
    $class = isset($params['style']) ? $params['style'] : "";
    //wpdm-email2dl  drop-shadow lifted
    $html = str_replace("panel-default", $class . " panel-" . $scolor, $html);
    //$html = "<div class='wpdm-email2dl  drop-shadow lifted'><div class='wcon'><strong>$params[title]</strong><br/>{$params[msg]}<br clear='all' /><center>$html</center></div></div>";
    return $html;
}
 /**
  * @usage Generate download link of a package
  * @param $package
  * @param int $embed
  * @param array $extras
  * @return string
  */
 public static function downloadLink($ID, $embed = 0, $extras = array())
 {
     global $wpdb, $current_user, $wpdm_download_icon, $wpdm_download_lock_icon, $btnclass;
     if (is_array($extras)) {
         extract($extras);
     }
     $data = '';
     $package = self::Get($ID);
     $package['link_url'] = home_url('/?download=1&');
     $package['link_label'] = !isset($package['link_label']) || $package['link_label'] == '' ? __("Download", "wpdmpro") : $package['link_label'];
     //Change link label using a button image
     $package['link_label'] = apply_filters('wpdm_button_image', $package['link_label'], $package);
     $package['download_url'] = wpdm_download_url($package);
     if (\WPDM\Package::userDownloadLimitExceeded($package['ID'])) {
         $package['download_url'] = '#';
         $package['link_label'] = __('Download Limit Exceeded', 'wpdmpro');
     }
     if (isset($package['expire_date']) && $package['expire_date'] != "" && strtotime($package['expire_date']) < time()) {
         $package['download_url'] = '#';
         $package['link_label'] = __('Download was expired on', 'wpdmpro') . " " . date_i18n(get_option('date_format') . " h:i A", strtotime($package['expire_date']));
         $package['download_link'] = "<a href='#'>{$package['link_label']}</a>";
         $package = apply_filters('wpdm_after_prepare_package_data', $package);
         return "<div class='alert alert-warning'><b>" . __('Download:', 'wpdmpro') . "</b><br/>{$package['link_label']}</div>";
     }
     if (isset($package['publish_date']) && $package['publish_date'] != '' && strtotime($package['publish_date']) > time()) {
         $package['download_url'] = '#';
         $package['link_label'] = __('Download will be available from ', 'wpdmpro') . " " . date_i18n(get_option('date_format') . " h:i A", strtotime($package['publish_date']));
         $package['download_link'] = "<a href='#'>{$package['link_label']}</a>";
         $package = apply_filters('wpdm_after_prepare_package_data', $package);
         return "<div class='alert alert-warning'><b>" . __('Download:', 'wpdmpro') . "</b><br/>{$package['link_label']}</div>";
     }
     $link_label = isset($package['link_label']) ? $package['link_label'] : __('Download', 'wpdmpro');
     $package['access'] = wpdm_allowed_roles($package['ID']);
     if ($package['download_url'] != '#') {
         $package['download_link'] = "<a class='wpdm-download-link wpdm-download-locked {$btnclass}' rel='nofollow' href='#' onclick=\"location.href='{$package['download_url']}';return false;\"><i class='{$wpdm_download_icon}'></i>{$link_label}</a>";
     } else {
         $package['download_link'] = "<div class='alert alert-warning'><b>" . __('Download:', 'wpdmpro') . "</b><br/>{$link_label}</div>";
     }
     $caps = array_keys($current_user->caps);
     $role = array_shift($caps);
     $matched = is_array(@maybe_unserialize($package['access'])) && is_user_logged_in() ? array_intersect($current_user->roles, @maybe_unserialize($package['access'])) : array();
     $skiplink = 0;
     if (is_user_logged_in() && count($matched) <= 0 && !@in_array('guest', @maybe_unserialize($package['access']))) {
         $package['download_url'] = "#";
         $package['download_link'] = $package['download_link_extended'] = stripslashes(get_option('wpdm_permission_msg'));
         $package = apply_filters('wpdm_after_prepare_package_data', $package);
         if (get_option('_wpdm_hide_all', 0) == 1) {
             $package['download_link'] = $package['download_link_extended'] = 'blocked';
         }
         return $package['download_link'];
     }
     if (!@in_array('guest', @maybe_unserialize($package['access'])) && !is_user_logged_in()) {
         $loginform = wpdm_login_form(array('redirect' => get_permalink($package['ID'])));
         if (get_option('_wpdm_hide_all', 0) == 1) {
             return 'loginform';
         }
         $package['download_url'] = home_url('/wp-login.php?redirect_to=' . urlencode($_SERVER['REQUEST_URI']));
         $package['download_link'] = stripcslashes(str_replace(array("[loginform]", "[this_url]"), array($loginform, get_permalink($package['ID'])), get_option('wpdm_login_msg')));
         return get_option('__wpdm_login_form', 0) == 1 ? $loginform : $package['download_link'];
     }
     $package = apply_filters('wpdm_before_apply_locks', $package);
     $package = apply_filters('wpdm_after_prepare_package_data', $package);
     $unqid = uniqid();
     if (!isset($package['quota']) || isset($package['quota']) && $package['quota'] > 0 && $package['quota'] > $package['download_count'] || $package['quota'] == 0) {
         $lock = 0;
         if ($package['password'] != '') {
             $lock = 'locked';
             $data = \WPDM\PackageLocks::AskPassword($package);
         }
         $sociallock = "";
         $extralocks = '';
         $extralocks = apply_filters("wpdm_download_lock", $extralocks, $package);
         if (is_array($extralocks) && $extralocks['lock'] === 'locked') {
             if (isset($extralocks['type']) && $extralocks['type'] == 'social') {
                 $sociallock .= $extralocks['html'];
             } else {
                 $data .= $extralocks['html'];
             }
             $lock = 'locked';
         }
         if ($sociallock != "") {
             $data .= "<div class='panel panel-default'><div class='panel-heading'>" . __("Like or Share to Download", "wpdmpro") . "</div><div class='panel-body wpdm-social-locks text-center'>{$sociallock}</div></div>";
         }
         if ($lock === 'locked') {
             $popstyle = isset($popstyle) && in_array($popstyle, array('popup', 'pop-over')) ? $popstyle : 'pop-over';
             if ($embed == 1) {
                 $adata = "</strong><table class='table all-locks-table' style='border:0px'><tr><td style='padding:5px 0px;border:0px;'>" . $data . "</td></tr></table>";
             } else {
                 $dataattrs = $popstyle == 'pop-over' ? 'data-title="<button type=button id=\'close\' class=\'btn btn-link btn-xs pull-right po-close\' style=\'margin-top:-4px;margin-right:-10px\'><i class=\'fa fa-times text-danger\'></i></button> ' . __('Download', 'wpdmpro') . ' ' . $package['title'] . '"' : 'data-toggle="modal" data-target="#pkg_' . $package['ID'] . "_" . $unqid . '"';
                 $adata = '<a href="#pkg_' . $package['ID'] . "_" . $unqid . '" ' . $dataattrs . ' class="wpdm-download-link wpdm-download-locked ' . $popstyle . ' ' . $btnclass . '"><i class=\'' . $wpdm_download_lock_icon . '\'></i>' . $package['link_label'] . '</a>';
                 if ($popstyle == 'pop-over') {
                     $adata .= '<div class="modal fade"><div class="row all-locks"  id="pkg_' . $package['ID'] . "_" . $unqid . '">' . $data . '</div></div>';
                 } else {
                     $adata .= '<div class="modal fade" role="modal" id="pkg_' . $package['ID'] . "_" . $unqid . '"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><strong style="margin:0px;font-size:12pt">' . __('Download') . '</strong></div><div class="modal-body">' . $data . '</div><div class="modal-footer text-right"><button type="button" class="btn btn-default btn-sm" data-dismiss="modal">Close</button></div></div></div></div>';
                 }
             }
             $data = $adata;
         }
         if ($lock !== 'locked') {
             $data = $package['download_link'];
         }
     } else {
         $data = __("Download limit exceeded!", 'wpdmpro');
     }
     return $data;
 }
예제 #3
0
 private static function activeLocks($package, $params = array('embed' => 0, 'popstyle' => 'pop-over'))
 {
     $embed = isset($params['embed']) ? $params['embed'] : 0;
     $popstyle = isset($params['popstyle']) ? $params['popstyle'] : 'pop-over';
     $package = apply_filters('wpdm_before_apply_locks', $package);
     $lock = $data = "";
     $unqid = uniqid();
     if (isset($package['password_lock']) && (int) $package['password_lock'] == 1 && $package['password'] != '') {
         $lock = 'locked';
         $data = \WPDM\PackageLocks::AskPassword($package);
     }
     $sociallock = "";
     if (isset($package['email_lock']) && (int) $package['email_lock'] == 1) {
         $data .= \WPDM\PackageLocks::AskEmail($package);
         $lock = 'locked';
     }
     if (isset($package['linkedin_lock']) && (int) $package['linkedin_lock'] == 1) {
         $lock = 'locked';
         $sociallock .= \WPDM\PackageLocks::LinkedInShare($package);
     }
     if (isset($package['twitterfollow_lock']) && (int) $package['twitterfollow_lock'] == 1) {
         $lock = 'locked';
         $sociallock .= \WPDM\PackageLocks::TwitterFollow($package);
     }
     if (isset($package['gplusone_lock']) && (int) $package['gplusone_lock'] == 1) {
         $lock = 'locked';
         $sociallock .= '<div id="wpdmslb-googleplus-' . $package['ID'] . '" class="wpdm-social-lock-box wpdmslb-googleplus">' . \WPDM\PackageLocks::GooglePlusOne($package, true) . '</div>';
     }
     if (isset($package['tweet_lock']) && (int) $package['tweet_lock'] == 1) {
         $lock = 'locked';
         $sociallock .= '<div id="wpdmslb-tweet-' . $package['ID'] . '" class="wpdm-social-lock-box wpdmslb-tweet">' . \WPDM\PackageLocks::Tweet($package, true) . '</div>';
     }
     if (isset($package['facebooklike_lock']) && (int) $package['facebooklike_lock'] == 1) {
         $lock = 'locked';
         $sociallock .= \WPDM\PackageLocks::FacebookLike($package, true);
     }
     $extralocks = '';
     $extralocks = apply_filters("wpdm_download_lock", $extralocks, $package);
     if (is_array($extralocks) && $extralocks['lock'] === 'locked') {
         if (isset($extralocks['type']) && $extralocks['type'] == 'social') {
             $sociallock .= $extralocks['html'];
         } else {
             $data .= $extralocks['html'];
         }
         $lock = 'locked';
     }
     if ($sociallock != "") {
         $data .= "<div class='panel panel-default'><div class='panel-heading'>" . __("Download", "wpdmpro") . "</div><div class='panel-body wpdm-social-locks text-center'>{$sociallock}</div></div>";
     }
     if (isset($package['captcha_lock']) && (int) $package['captcha_lock'] == 1) {
         $lock = 'locked';
         $captcha = \WPDM\PackageLocks::reCaptchaLock($package, true);
         $data .= "<div class='panel panel-default'><div class='panel-heading'>" . __("Verify CAPTCHA to Download", "wpdmpro") . "</div><div class='panel-body wpdm-social-locks text-center'>{$captcha}</div></div>";
     }
     if ($lock === 'locked') {
         $popstyle = isset($popstyle) && in_array($popstyle, array('popup', 'pop-over')) ? $popstyle : 'pop-over';
         if ($embed == 1) {
             $adata = "</strong><table class='table all-locks-table' style='border:0px'><tr><td style='padding:5px 0px;border:0px;'>" . $data . "</td></tr></table>";
         } else {
             $dataattrs = $popstyle == 'pop-over' ? 'data-title="' . __('Download', 'wpdmpro') . ' ' . $package['title'] . '"' : 'data-toggle="modal" data-target="#pkg_' . $package['ID'] . "_" . $unqid . '"';
             $adata = '<a href="#pkg_' . $package['ID'] . "_" . $unqid . '" ' . $dataattrs . ' data-trigger="manual" class="wpdm-download-link wpdm-download-locked ' . $popstyle . ' ' . $package['btnclass'] . '">' . $package['link_label'] . '</a>';
             if ($popstyle == 'pop-over') {
                 if (!get_option('__wpdm_ajax_popup', false)) {
                     $adata .= '<div class="modal fade"><div class="row all-locks"  id="pkg_' . $package['ID'] . "_" . $unqid . '">' . $data . '</div></div>';
                 }
             } else {
                 $adata .= '<div class="modal fade" role="modal" id="pkg_' . $package['ID'] . "_" . $unqid . '"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><strong style="margin:0px;font-size:12pt">' . __('Download') . '</strong></div><div class="modal-body">' . $data . '</div><div class="modal-footer text-right"><button type="button" class="btn btn-default btn-sm" data-dismiss="modal">Close</button></div></div></div></div>';
             }
         }
         $data = $adata;
     }
     return $data;
 }