Plugin Directory

Changeset 186169


Ignore:
Timestamp:
12/22/2009 05:26:43 PM (16 years ago)
Author:
are79
Message:

are-paypal-install.php expiration_unit added to paied_users_table
are-paypal.php paid_user_id_sql_criteria variable created and all the dependent queries fixed to use it

Location:
are-paypal/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • are-paypal/trunk/are-paypal-install.php

    r185387 r186169  
    7272  `user_id` bigint(20) NOT NULL,
    7373  `expire` bigint(20) default NULL,
     74  `expiration_unit` enum('D','W','M','Y') NOT NULL,
    7475  `purchase_date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
    7576  UNIQUE KEY `id` (`id`)
  • are-paypal/trunk/are-paypal.php

    r186129 r186169  
    4646        var $delimiter_tag_name;
    4747        var $post_type_clause = "(posts.post_type='post' OR posts.post_type='page' OR posts.post_type='')";
     48       
     49        var $paid_user_id_sql_criteria = "
     50                            (
     51                                DATE_ADD(up.purchase_date, INTERVAL up.expire DAY) > CURDATE()
     52                                AND up.expiration_unit = 'D'
     53                            )
     54                            OR
     55                            (
     56                                DATE_ADD(up.purchase_date, INTERVAL up.expire WEEK) > CURDATE()
     57                                AND up.expiration_unit = 'W'
     58                            )
     59                            OR
     60                            (
     61                                DATE_ADD(up.purchase_date, INTERVAL up.expire MONTH) > CURDATE()
     62                                AND up.expiration_unit = 'M'
     63                            )
     64                            OR
     65                            (
     66                                DATE_ADD(up.purchase_date, INTERVAL up.expire YEAR) > CURDATE()
     67                                AND up.expiration_unit = 'Y'
     68                            )
     69                            OR up.expire is null
     70                            OR up.expire = 0
     71                    ";
     72       
    4873        var $users_library_page;
    4974        var $purchased_posts_list_placeholder;
     
    487512                        $item_title = $item->post_title;
    488513                    }
    489                    
    490                     $available_users = $wpdb->get_results ( "SELECT u.id,user_login FROM $wpdb->users u WHERE u.id not in (SELECT user_id FROM $this->paied_users_table WHERE post_id=$item_id AND (ADDDATE(purchase_date, expire) > CURDATE() OR expire is null OR expire = 0))" );
    491                     $paid_users = $wpdb->get_results ( "SELECT u.id,user_login FROM $wpdb->users u INNER JOIN $this->paied_users_table up ON up.user_id=u.id and up.post_id=$item_id AND (ADDDATE(up.purchase_date, up.expire) > CURDATE() OR up.expire is null OR up.expire = 0)" );
     514
     515                    $available_users_sql = "
     516                        SELECT
     517                            u.id,
     518                            user_login
     519                        FROM $wpdb->users u
     520                        WHERE u.id not in
     521                            (
     522                                SELECT user_id FROM $this->paied_users_table up
     523                                WHERE
     524                                    post_id = $item_id
     525                                    AND ($this->paid_user_id_sql_criteria)
     526                            )";
     527                    $paid_users_sql = "
     528                    SELECT
     529                        u.id,
     530                        user_login
     531                    FROM $wpdb->users u
     532                    INNER JOIN
     533                        $this->paied_users_table up ON up.user_id = u.id and up.post_id=$item_id
     534                        AND ($this->paid_user_id_sql_criteria)
     535                    ";
     536                    $available_users = $wpdb->get_results ($available_users_sql);
     537                    $paid_users = $wpdb->get_results ($paid_users_sql);
    492538                   
    493539                    $this->smarty->assign ( 'LastAction', $LastAction );
     
    626672                        "translated_units" =>  explode(",","Days,Weeks,Months,Years")
    627673                    );
    628                     $post_purchasers = $wpdb->get_results ( "SELECT user_login FROM $wpdb->users u INNER JOIN $this->paied_users_table up ON up.user_id=u.id and up.post_id=$item_id AND (ADDDATE(up.purchase_date, up.expire) > CURDATE() OR up.expire is null OR up.expire = 0)" );
     674                    $post_purchasers_sql = "
     675                        SELECT
     676                            user_login
     677                        FROM $wpdb->users u
     678                        INNER JOIN $this->paied_users_table up ON up.user_id=u.id and up.post_id=$item_id
     679                        AND ($this->paid_user_id_sql_criteria)
     680                    ";
     681                   
     682                    $post_purchasers = $wpdb->get_results ($post_purchasers_sql);
    629683
    630684                    $this->smarty->assign ( 'Mode', "post" );
     
    645699                $Purchasers = array();
    646700                foreach($Data as $item){
    647                     $Purchasers[]=$wpdb->get_results ( "SELECT user_login FROM $wpdb->users u INNER JOIN $this->paied_users_table up ON up.user_id=u.id and up.post_id=$item->ID AND (ADDDATE(up.purchase_date, up.expire) > CURDATE() OR up.expire is null OR up.expire = 0)" );
     701                    $purchasers_sql = "
     702                        SELECT user_login FROM $wpdb->users u INNER JOIN $this->paied_users_table up ON up.user_id=u.id and up.post_id=$item->ID
     703                        AND ($this->paid_user_id_sql_criteria)
     704                    ";
     705                    $Purchasers[]=$wpdb->get_results ( $purchasers_sql );
    648706                }               
    649707               
     
    695753        function IsPostPurchasedSql($post_id, $user_id) {
    696754            global $wpdb;
    697             $sql = "SELECT users.* FROM . $this->paied_users_table users WHERE (users.post_id='$post_id') AND users.user_id='$user_id' AND (ADDDATE(purchase_date, expire) > CURDATE() OR expire is null OR expire = 0)";
     755            $sql = "
     756                SELECT up.* FROM $this->paied_users_table up WHERE (up.post_id='$post_id') AND up.user_id='$user_id'
     757                AND ($this->paid_user_id_sql_criteria)";
    698758            $users = $wpdb->get_results ( $sql );
    699759            if ($users) {
Note: See TracChangeset for help on using the changeset viewer.