function api_get_project()
{
    if (isset($_GET['project_id'])) {
        $project_id = absint($_GET['project_id']);
        $project = new ID_Project($project_id);
        $the_project = $project->the_project();
    } else {
        $the_project = null;
    }
    print_r(json_encode($the_project));
    exit;
}
function idedd_payment_vars($paymeta, $payment_id, $download_id, $level, $count, $qty_num)
{
    $vars = array();
    $post = get_post($payment_id);
    if (isset($post)) {
        $status = strtoupper(substr($post->post_status, 0, 1));
        $date = $post->post_date;
    } else {
        $status = 'P';
    }
    if (is_array($paymeta['user_info'])) {
        // strange but seems that after editing, it saves as array and not serialized array
        $user_info = $paymeta['user_info'];
    } else {
        $user_info = unserialize($paymeta['user_info']);
    }
    if (isset($user_info['first_name'])) {
        $first_name = $user_info['first_name'];
    } else {
        $first_name = '';
    }
    if (isset($user_info['last_name'])) {
        $last_name = $user_info['last_name'];
    } else {
        $last_name = '';
    }
    if (isset($user_info['email'])) {
        $email = $user_info['email'];
    } else {
        $email = '';
    }
    $cart_details = maybe_unserialize($paymeta['cart_details']);
    $price_array = edd_get_variable_prices($download_id);
    $price = $price_array[$level - 1]['amount'];
    if (!isset($date)) {
        $date = null;
    }
    if (isset($download_id) && $download_id > 0) {
        $project_id = get_post_meta($download_id, '_edd_project_pairing', true);
        if (isset($project_id) && $project_id > 0) {
            $project = new ID_Project($project_id);
            $the_project = $project->the_project();
            $vars = array('id' => null, 'first_name' => $first_name, 'last_name' => $last_name, 'email' => $email, 'address' => '', 'state' => '', 'city' => '', 'zip' => '', 'country' => '', 'product_id' => $project_id, 'transaction_id' => $payment_id . '-v' . $level . '-' . $count . '-' . $qty_num, 'preapproval_key' => '', 'product_level' => $level, 'prod_price' => $price, 'status' => $status, 'created_at' => $date);
        }
    }
    return isset($vars) ? $vars : array();
}
 function mini_deck()
 {
     $the_project = parent::the_project();
     $prod_settings = parent::get_project_settings();
     if (empty($prod_settings)) {
         $prod_settings = getProductDefaultSettings();
     }
     $post_id = parent::get_project_postid();
     $item_fund_goal = apply_filters('id_project_goal', parent::the_goal(), $post_id);
     $item_fund_end = parent::end_date();
     $disable_levels = get_post_meta($post_id, 'ign_disable_levels', true);
     if ($disable_levels == 'on') {
         $no_levels = 0;
     } else {
         $no_levels = get_post_meta($post_id, $name = "ign_product_level_count", true);
     }
     $project_desc = html_entity_decode(get_post_meta($post_id, "ign_project_description", true));
     $project_type = get_post_meta($post_id, 'ign_project_type', true);
     $end_type = get_post_meta($post_id, 'ign_end_type', true);
     $p_current_sale = apply_filters('id_funds_raised', parent::get_project_raised(), $post_id);
     $p_count = new stdClass();
     $p_count->p_number = apply_filters('id_number_pledges', parent::get_project_orders(), $post_id);
     $rating_per = apply_filters('id_percentage_raised', parent::percent(), apply_filters('id_funds_raised', parent::get_project_raised(), $post_id, true), $post_id, apply_filters('id_project_goal', parent::the_goal(), $post_id, true));
     $successful = parent::successful();
     $days_left = apply_filters('id_project_days_left', parent::days_left(), $post_id);
     $end_month = parent::end_month();
     $end_day = parent::end_day();
     $end_year = parent::end_year();
     //GETTING the main settings of ignitiondeck
     $settings = getSettings();
     if ($settings->id_widget_link == "") {
         $affiliate_link = "http://ignitiondeck.com";
     } else {
         $affiliate_link = $settings->id_widget_link;
     }
     $unique_widget_id = rand(101282, 293773);
     //GETTING the currency symbol
     $currencyCodeValue = $prod_settings->currency_code;
     $cCode = setCurrencyCode($currencyCodeValue);
     $the_deck = new stdClass();
     $the_deck->project = $the_project;
     $the_deck->prod_settings = $prod_settings;
     $the_deck->post_id = $post_id;
     $the_deck->item_fund_goal = $item_fund_goal;
     $the_deck->item_fund_end = $item_fund_end;
     $the_deck->disable_levels = $disable_levels;
     $the_deck->no_levels = $no_levels;
     $the_deck->project_desc = $project_desc;
     $the_deck->project_type = $project_type;
     $the_deck->end_type = $end_type;
     $the_deck->p_current_sale = $p_current_sale;
     $the_deck->p_count = $p_count;
     $the_deck->rating_per = $rating_per;
     $the_deck->successful = $successful;
     $the_deck->days_left = $days_left;
     $the_deck->month = apply_filters('id_end_month', $end_month);
     $the_deck->day = $end_day;
     $the_deck->year = $end_year;
     $the_deck->settings = $settings;
     $the_deck->cCode = $cCode;
     $the_deck->affiliate_link = $affiliate_link;
     return $the_deck;
 }
function id_projectPageContentFull($attrs)
{
    if (isset($attrs['product'])) {
        ob_start();
        require 'languages/text_variables.php';
        $project_id = $attrs['product'];
        $project = new ID_Project($project_id);
        $the_project = $project->the_project();
        $post_id = $project->get_project_postid();
        $settings = getSettings();
        $social_settings = maybe_unserialize(get_option('idsocial_settings'));
        $project_long_desc = html_entity_decode(get_post_meta($post_id, "ign_project_long_description", true));
        $float = 1;
        include 'templates/_projectContent.php';
        $content = ob_get_contents();
        ob_end_clean();
    } else {
        $content = '';
    }
    return apply_filters('id_project_content', $content, $project_id);
}
Ejemplo n.º 5
0
function getProductFromPostID($postid)
{
    $project_id = get_post_meta($post_id, 'ign_project_id', true);
    if ($project_id > 0) {
        $project = new ID_Project($project_id);
        $the_project = $project->the_project();
    }
    return !empty($the_project) ? $the_project : null;
}
 function id_purchase_form()
 {
     $project = new ID_Project($this->project_id);
     $the_project = $project->the_project();
     $project_id = $this->project_id;
     $post_id = $project->get_project_postid();
     $project_settings = $project->get_project_settings();
     if (empty($prod_settings)) {
         $defaults = $project->get_project_defaults();
         $project_settings = $defaults;
     }
     $no_levels = get_post_meta($post_id, "ign_product_level_count", true);
     $project_type = get_post_meta($post_id, 'ign_project_type', true);
     $project_desc = get_post_meta($post_id, "ign_product_level_1_desc", true);
     $level_data = $project->get_level_data($post_id, $no_levels);
     // level one stuff
     $level_one_data = new stdClass();
     $is_level_invalid = getLevelLimitReached($this->project_id, $post_id, 1);
     $meta_title = $the_project->ign_product_title;
     $meta_price = get_post_meta($post_id, "ign_product_price", true);
     $meta_desc = $the_project->product_details;
     $meta_order = get_post_meta($post_id, 'ign_projectmeta_level_order', true);
     $level_one_data->is_level_invalid = $is_level_invalid;
     $level_one_data->meta_title = $meta_title;
     $level_one_data->meta_price = $meta_price;
     $level_one_data->meta_desc = $meta_desc;
     $level_one_data->meta_order = $meta_order;
     $level_one_data->id = 1;
     // add level one to object
     array_unshift($level_data, $level_one_data);
     $custom_level_order = get_post_meta($post_id, 'custom_level_order', true);
     if ($custom_level_order) {
         usort($level_data, 'ID_Project::level_sort');
     }
     //GETTING the currency symbols
     $currencyCodeValue = $project_settings->currency_code;
     $cCode = setCurrencyCode($currencyCodeValue);
     //GETTING the form settings
     $form_settings = getProductFormSettings($project_id);
     if (!isset($form_settings)) {
         $form_settings = $project_settings->form_settings;
         $form_settings = unserialize($form_settings);
     } else {
         $form_settings = unserialize($form_settings);
     }
     $form_id = rand(21927391, 92817275);
     // Getting the Payment method first, to load the appropriate URLs if needed and
     // submit button name
     // this is paypal code that could be removed if disabled
     $payment_method = getDefaultPaymentMethod();
     if (isset($payment_method) && $payment_method->payment_gateway == "adaptive_paypal") {
         $adaptive_pay_settings = getAdaptivePayPalSettings();
         if (isset($adaptive_pay_settings)) {
             if ($adaptive_pay_settings->paypal_mode == "sandbox") {
                 $paypal_address = "https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/pay";
             } else {
                 $paypal_address = "https://www.paypal.com/webapps/adaptivepayment/flow/pay";
             }
             if ($adaptive_pay_settings->fund_type == 'fixed') {
                 $submit_btn_name = 'btnSubmitPreapproval';
             } else {
                 $submit_btn_name = "submitPaymentAdaptive";
             }
         }
     } else {
         $submit_btn_name = "submitPaymentPopup";
         //will be caught by standard payments function for Paypal
     }
     $purchase_form = new stdClass();
     $purchase_form->project_id = $project_id;
     $purchase_form->post_id = $post_id;
     $purchase_form->the_project = $the_project;
     $purchase_form->project_settings = $project_settings;
     $purchase_form->no_levels = $no_levels;
     $purchase_form->level_data = $level_data;
     $purchase_form->project_type = $project_type;
     $purchase_form->project_desc = $project_desc;
     $purchase_form->currencyCodeValue = $currencyCodeValue;
     $purchase_form->cCode = $cCode;
     $purchase_form->form_settings = $form_settings;
     $purchase_form->form_id = $form_id;
     if (isset($paypal_address)) {
         $purchase_form->paypal_address = $paypal_address;
     }
     $purchase_form->submit_btn_name = $submit_btn_name;
     if (isset($adaptive_pay_settings)) {
         $purchase_form->adaptive_pay_settings = $adaptive_pay_settings;
     }
     return $purchase_form;
 }
/**
 * Proccess Product buyout
 */
function productBuyout()
{
    require 'languages/text_variables.php';
    if (isset($_POST['submitPaymentPopup'])) {
        $first_name = '';
        $last_name = '';
        $email = '';
        $address = '';
        $country = '';
        $state = '';
        $city = '';
        $zip = '';
        $product_id = 0;
        $level = 0;
        $price = '0.00';
        // Store all the required variables in SESSION to get them later
        session_start();
        if (isset($_POST['first_name'])) {
            $first_name = esc_attr($_POST['first_name']);
        }
        if (isset($_POST['last_name'])) {
            $last_name = esc_attr($_POST['last_name']);
        }
        if (isset($_POST['email'])) {
            $email = esc_attr($_POST['email']);
        }
        if (isset($_POST['address'])) {
            $address = esc_attr($_POST['address']);
        }
        if (isset($_POST['country'])) {
            $country = esc_attr($_POST['country']);
        }
        if (isset($_POST['state'])) {
            $state = esc_attr($_POST['state']);
        }
        if (isset($_POST['city'])) {
            $city = esc_attr($_POST['city']);
        }
        if (isset($_POST['zip'])) {
            $zip = esc_attr($_POST['zip']);
        }
        if (isset($_POST['project_id'])) {
            $product_id = absint($_POST['project_id']);
        }
        if (isset($_POST['level'])) {
            $level = absint($_POST['level']);
        }
        if (isset($_POST['price'])) {
            $price = esc_attr(str_replace(',', '', $_POST['price']));
        }
        $payment_variables = array("first_name" => $first_name, "last_name" => $last_name, "email" => $email, "address" => $address, "country" => $country, "state" => $state, "city" => $city, "zip" => $zip, "product_id" => $product_id, "level_select" => $level, "price" => $price);
        $_SESSION['ig_payment_variables'] = serialize($payment_variables);
        $project_id = $_POST['project_id'];
        $project = new ID_Project($project_id);
        $post_id = $project->get_project_postid();
        $paymentSettings = getPaymentSettings();
        // use this for default
        $paypal_email = $paymentSettings->paypal_email;
        $productDetails = $project->the_project();
        //GETTING product default settings
        $default_prod_settings = getProductDefaultSettings();
        $prod_settings = $default_prod_settings;
        // see if we have custom settings
        $custom_settings = $project->get_project_settings();
        if (!empty($custom_settings)) {
            $prod_settings = $custom_settings;
            if (!empty($custom_settings->paypal_email)) {
                $paypal_email = $custom_settings->paypal_email;
            }
        }
        if ($paymentSettings->paypal_mode == "sandbox") {
            $url = "https://www.sandbox.paypal.com/cgi-bin/webscr";
        } else {
            $url = "https://www.paypal.com/cgi-bin/webscr";
        }
        $notifyURL = site_url() . "/?ipn_handler=1&payment_vars=" . urlencode($_SESSION['ig_payment_variables']);
        include_once 'templates/_paypalForm.php';
    }
}
function ide_creator_profile_display($content)
{
    // we should really turn this into a template
    $content = '';
    if (isset($_GET['creator_profile'])) {
        $profile = absint($_GET['creator_profile']);
    }
    $user = get_user_by('id', $profile);
    //$name = $user->user_firstname.' '.$user->user_lastname;
    $name = apply_filters('ide_profile_name', $user->display_name, $user);
    $twitter_link = apply_filters('ide_profile_twitter_url', get_user_meta($profile, 'twitter', true), $user);
    $fb_link = apply_filters('ide_profile_fb_url', get_user_meta($profile, 'facebook', true), $user);
    $google_link = apply_filters('ide_profile_google_url', get_user_meta($profile, 'google', true), $user);
    $website_link = apply_filters('ide_profile_website_url', $user->user_url, $user);
    ob_start();
    do_action('ide_before_creator_profile');
    $ob_before_cp = ob_get_contents();
    ob_end_clean();
    $content .= $ob_before_cp;
    ob_start();
    do_action('ide_above_creator_info');
    $ob_above_ci = ob_get_contents();
    ob_end_clean();
    $content .= $ob_above_ci;
    $content .= '<div class="ignitiondeck backer_profile">';
    $content .= '<div class="backer_info">';
    $content .= '<div class="backer_avatar">' . apply_filters('ide_profile_avatar', get_avatar($profile, 70)) . '</div>';
    $content .= '<div class="backer_title"><h3>' . apply_filters('ide_creator_name', $name, $user) . '</h3>';
    $content .= '<p>' . wpautop(apply_filters('ide_profile_description', $user->description, $user)) . '</p></div></div>';
    ob_start();
    do_action('ide_below_creator_info');
    $ob_after_ci = ob_get_contents();
    ob_end_clean();
    $content .= $ob_after_ci;
    $creator_args = array('post_type' => 'ignition_product', 'post_status' => 'publish', 'author' => $profile, 'posts_per_page' => -1);
    $created_projects = apply_filters('id_creator_projects', get_posts(apply_filters('id_creator_args', $creator_args)));
    if (!empty($created_projects)) {
        $order_content = '<div class="cf"> </div><ul class="backer_projects">';
        foreach ($created_projects as $created_project) {
            $project_id = get_post_meta($created_project->ID, 'ign_project_id', true);
            $project = new ID_Project($project_id);
            $the_project = $project->the_project();
            if (!empty($the_project)) {
                $post_id = $created_project->ID;
                $deck = new Deck($project_id);
                $mini_deck = $deck->mini_deck();
                $closed = $project->project_closed();
                $successful = $mini_deck->successful;
                $url = get_permalink($post_id);
                $image = ID_Project::get_project_thumbnail($post_id, 'id_profile_image');
                if (empty($image)) {
                    $image = idcf_project_placeholder_image('thumb');
                }
                ob_start();
                do_action('ide_before_creator_item', $post_id);
                $ob_contenta = ob_get_contents();
                ob_end_clean();
                $order_content .= $ob_contenta;
                $order_content .= '<li class="backer_project_mini"><div class="backer_wrapper"><div class="inner_wrapper">';
                ob_start();
                do_action('ide_above_creator_item', $post_id);
                $ob_contentb = ob_get_contents();
                ob_end_clean();
                $order_content .= $ob_contentb;
                if (isset($image)) {
                    $order_content .= '<a href="' . $url . '" class="backer_project_image" style="background-image: url(' . $image . ');"></a>';
                }
                if ($mini_deck->end_type !== 'open') {
                    $order_content .= '<div class="backers_days_left">' . (!$closed ? $mini_deck->days_left . ' ' . __('days to go', 'ignitiondeck') : ($successful ? __('Successful', 'ignitiondeck') : __('Ended', 'ignitiondeck'))) . '</div>';
                }
                $order_content .= '<span class="backer_project_title"><a href="' . $url . '">' . get_the_title($post_id) . '</a></span>';
                $order_content .= '<div class="backers_funded">' . $mini_deck->p_current_sale . ' ' . __('Raised', 'ignitiondeck') . '</div>';
                $order_content .= '<a href="' . $url . '"><div class="backers_hover_content">';
                $order_content .= '<span class="backer_project_text">' . stripslashes(html_entity_decode($project->short_description())) . '</span></div></a>';
                ob_start();
                do_action('ide_below_creator_item', $post_id);
                $ob_contentc = ob_get_contents();
                ob_end_clean();
                $order_content .= $ob_contentc;
                $order_content .= '</div></div></li>';
                ob_start();
                do_action('ide_after_creator_item', $post_id);
                $ob_contentd = ob_get_contents();
                ob_end_clean();
                $order_content .= $ob_contentd;
            }
        }
        $order_content .= '</ul>';
        $order_count = count($created_projects);
        if (isset($order_count) && $order_count > 0) {
            $content .= '<div class="backer_data">';
            ob_start();
            do_action('ide_before_creator_data');
            $before_creator_data = ob_get_contents();
            ob_end_clean();
            $content .= $before_creator_data;
            $content .= '<p class="backer_supported"><span class="order_count">' . $order_count . '</span> ' . __('Projects Created', 'ignitiondeck') . '</p>';
        } else {
            $content .= '<div class="backer_data">';
        }
        $content .= '<p class="backer_joined">' . __('Joined', 'ignitiondeck') . ' ' . date('n - j - Y', strtotime($user->user_registered)) . '</p>' . '<div class="id-backer-links">' . (!empty($website_link) ? '<a href="' . $website_link . '" class="website">' . __('Website', 'ignitiondeck') . '</a>' : '') . '' . (!empty($twitter_link) ? '<a href="' . $twitter_link . '" class="twitter">' . __('Twitter', 'ignitiondeck') . '</a>' : '') . (!empty($fb_link) ? '<a href="' . $fb_link . '" class="facebook">' . __('Facebook', 'ignitiondeck') . '</a>' : '') . (!empty($google_link) ? '<a href="' . $google_link . '" class="googleplus">' . __('Google Plus', 'ignitiondeck') . '</a>' : '') . '</div>';
        ob_start();
        do_action('ide_after_backer_data');
        $after_backer_data = ob_get_contents();
        ob_end_clean();
        $content .= $after_backer_data;
        $content .= '</div>';
        $content .= isset($order_content) ? $order_content : '';
        $content .= '</div>';
    }
    ob_start();
    do_action('ide_after_creator_profile');
    $ob_after_cp = ob_get_contents();
    ob_end_clean();
    $content .= $ob_after_cp;
    return $content;
}
function getProductbyPostID($post_id)
{
    $project_id = get_post_meta($post_id, 'ign_project_id', true);
    $project = new ID_Project($project_id);
    $the_project = $project->the_project();
    return $the_project;
}