= 0.5.0 if (empty($sql)) { // Add WHERE $sql = " WHERE `surname` NOT LIKE '{?tester_user_surname_prefix?}%%'"; } else { // Add AND $sql .= " AND `surname` NOT LIKE '{?tester_user_surname_prefix?}%%'"; } // Return the data for next filter //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done! - sql(' . strlen($sql) . ')=' . $sql); return $sql; } // Filter for including tester users in WHERE statements function FILTER_TESTER_USER_INCLUSION_SQL ($sql) { //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called! - sql(' . strlen($sql) . ')=' . $sql); // Add it, as of this filter is registered only with ext-user >= 0.5.0 if (empty($sql)) { // Add WHERE $sql = " WHERE `surname` LIKE '{?tester_user_surname_prefix?}%%'"; } else { // Add AND $sql .= " AND `surname` LIKE '{?tester_user_surname_prefix?}%%'"; } // Return the data for next filter //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done! - sql(' . strlen($sql) . ')=' . $sql); return $sql; } // Filter to add SQL columns to user registration function FILTER_TESTER_USER_REGISTRATION_ADD_SQL_COLUMNS ($filterData) { //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!'); // Does the admin create a tester account? if ((isAdmin()) && (isTesterUserName(postRequestElement('surname')))) { // Yes, these accounts never needs confirmation (you can still test it by creating a usual account). setPostRequestElement('status', 'CONFIRMED'); } // END - if // Return filter data //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!'); //* NOISY-DEBUG: */ print __FUNCTION__.':filterData=
'.print_r($filterData,TRUE).'
'; return $filterData; } // Filter to add 'converting' SQL statements function FILTER_ADD_USER_DATA_CONVERT_SQL_COLUMNS ($sql) { //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called! - sql(' . strlen($sql) . ')=' . $sql); // Add it $sql .= ', UNIX_TIMESTAMP(`lock_timestamp`) AS `lock_timestamp`'; // Return the data for next filter //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done! - sql(' . strlen($sql) . ')=' . $sql); return $sql; } // Filter for handling user subids (called by referral link) function FILTER_HANDLE_USER_SUBID ($filterData) { //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!'); // Return filter data //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!'); //* NOISY-DEBUG: */ print __FUNCTION__.':filterData=
'.print_r($filterData,TRUE).'
'; return $filterData; } // Filter for adding SQL columns on user registration for subid function FILTER_SUBID_USER_REGISTRATION_ADD_SQL_COLUMNS ($filterData) { //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!'); // Is the sub id set in session? if (isSessionVariableSet('subid')) { // Okay, add subid here addExtraRegistrationColumns(', `subid`'); addExtraRegistrationData(", '" . getSession('subid') . "'"); } // END - if // Return filter data //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!'); return $filterData; } // Generic filter for updating referral counter of currently detected referral id function FILTER_GENERIC_UPDATE_USER_REFERRAL ($filterData) { // Make sure the referral id is detected assert(isReferralIdValid()); // Update ref counter, determineReferralId() must already be called before this filter is executed sqlQuery('UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `ref_clicks`=`ref_clicks`+1 WHERE `userid`={%pipe,getReferralId%} LIMIT 1', __FUNCTION__, __LINE__); // Return filter data return $filterData; } // Filter for updating sub id records function FILTER_UPDATE_USER_SUBID ($filterData) { // Make sure the referral id is detected assert(isReferralIdValid()); // Get sub id and secure it $subId = sqlEscapeString(getRequestElement('subid')); // Is the sub id available and registered with referral id? if (countSumTotalData(getReferralId(), 'user_subids', 'id', 'userid', TRUE, sprintf(" AND `subid`='%s'", $subId)) == 1) { // Sub id is assigned to referral id, so add a record sqlQueryEscaped("INSERT INTO `{?_MYSQL_PREFIX?}_subid_log` ( `refid`, `subid`, `referral_url`, `remote_address`, `user_agent` ) VALUES ( {%%pipe,getReferralId%%}, '%s', '{%%pipe,detectReferer%%}', '{%%pipe,detectRemoteAddr%%}', '{%%pipe,detectUserAgent%%}' )", array( // @NOTE: sqlQueryEscaped() already escape it, don't use $subId here getRequestElement('subid') ), __FUNCTION__, __LINE__); // Add insert id for other filters $filterData['insert_id'] = getSqlInsertId(); // Register sub id in filter setSession('subid', $subId); } // END - if // Return filter data return $filterData; } // Filter for adding member action function FILTER_ADD_USER_SUBID_MEMBER_ACTION ($filterData) { //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!'); // Add entry array_push($filterData, 'list_user_subid'); // Return data //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!'); return $filterData; } // Filter for rendering content for sub id listing in what=reflinks function FILTER_MEMBER_REFLINK_USER_SUBIDS_CONTENT ($content = '') { // Do this only for members assert(isMember()); //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!'); // Does the current user have sub ids? if (getTotalMemberSubIds() > 0) { // Then Load all $result = sqlQueryEscaped('SELECT `id`, `subid` FROM `{?_MYSQL_PREFIX?}_user_subids` WHERE `userid`=%s ORDER BY `subid` ASC', array(getMemberId()), __FUNCTION__, __LINE__); // There should be entries left assert(!ifSqlHasZeroNums($result)); // Load all $out = ''; while ($row = sqlFetchArray($result)) { // Load row template $out .= loadTemplate('member_list_reflink_user_subids_row', TRUE, $row); } // END - while // Load main template $content .= loadTemplate('member_list_reflink_user_subids', TRUE, $out); // Free result sqlFreeResult($result); } // END - if // Return data //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!'); return $content; } // [EOF] ?>