Esempio n. 1
0
 public static function checkReference($referrerid, $keyreference, $ruleid)
 {
     $db = JFactory::getDBO();
     $plugin_function = AlphaUserPointsHelper::getPluginFunction($ruleid);
     $method = AlphaUserPointsHelper::getMethod($plugin_function);
     switch ($method) {
         case '3':
             $query = "SELECT count(*) FROM #__alpha_userpoints_details WHERE `keyreference`='{$keyreference}' AND `rule`='{$ruleid}'";
             break;
         default:
             $query = "SELECT count(*) FROM #__alpha_userpoints_details WHERE `referreid`='{$referrerid}' AND `keyreference`='{$keyreference}' AND `rule`='{$ruleid}'";
     }
     $db->setQuery($query);
     $resultKeyReference = $db->loadResult();
     // Build Key Reference change on format date version 1.9.3
     $resultKeyReference = str_replace('%', '', $resultKeyReference);
     return $resultKeyReference;
 }
Esempio n. 2
0
 /**
  * Assign points to the file uploader when a user download his file and use the price field  
  * 
  * @param mixed $files
  */
 public static function setAUPPointsDownloaderToUploaderPrice($files)
 {
     $api_AUP = JPATH_SITE . DS . 'components' . DS . 'com_alphauserpoints' . DS . 'helper.php';
     if (file_exists($api_AUP)) {
         require_once $api_AUP;
         foreach ($files as $file) {
             if ($file->submitted_by) {
                 $referreid = AlphaUserPointsHelper::getAnyUserReferreID((int) $file->submitted_by);
                 if ($referreid) {
                     $key_reference = AlphaUserPointsHelper::buildKeyreference('plgaup_jdownloads_downloader_to_uploader_use_price', $file->file_id, (int) $file->submitted_by);
                     $rule_id = AlphaUserPointsHelper::getRuleID('plgaup_jdownloads_downloader_to_uploader_use_price');
                     $check_aup_reference = AlphaUserPointsHelper::checkReference($referreid, $key_reference, $rule_id);
                     // check the method when a prior download process is found
                     if ($check_aup_reference > 0) {
                         $method = (int) AlphaUserPointsHelper::getMethod('plgaup_jdownloads_downloader_to_uploader_use_price');
                         switch ($method) {
                             case 1:
                                 // ONCE PER USER
                                 // has already payed
                                 return;
                                 break;
                             case '2':
                                 // ONCE PER DAY AND PER USER'
                                 return;
                                 break;
                             case '3':
                                 // ONCE A DAY FOR A SINGLE USER ON ALL USERS
                                 return;
                                 break;
                             case '5':
                                 // ONCE PER USER PER WEEK
                                 return;
                                 break;
                             case '6':
                                 // ONCE PER USER PER MONTH
                                 return;
                                 break;
                             case '7':
                                 // ONCE PER USER PER YEAR
                                 return;
                                 break;
                                 /*
                                 case '4':       // WHENEVER
                                 case '0':
                                 default:                            
                                     // points must be payed always
                                 */
                         }
                     }
                     $text = JText::_('COM_JDOWNLOADS_BACKEND_SET_AUP_DOWNLOAD_TEXT');
                     $text = sprintf($text, $file->file_title);
                     $price = floatval($file->price);
                     AlphaUserPointsHelper::newpoints('plgaup_jdownloads_downloader_to_uploader_use_price', $referreid, $key_reference, $text, '+' . $price, $text);
                 }
             }
         }
     }
 }