//REFERRAL MODE function kd_referral_install() { global $wpdb; //set the options $newoptions['kd_referral_mode_active'] = '0'; $newoptions['kd_referral_percentage'] = '0'; $newoptions['kd_referral_override'] = '1'; $newoptions['kd_referral_expire'] = '30'; $newoptions['kd_referral_trkpar'] = 'ref_uid'; $newoptions['kd_referral_usrpage'] = '1'; $newoptions['kd_referral_showid'] = '1'; add_option('kd_referral_cfg', $newoptions); } register_activation_hook(__FILE__,'kd_referral_install'); // process incomming referral function kd_referral_getreferral() { global $wpdb; $kd_referral_cfg = array( 'kd_referral_mode_active' => '', 'kd_referral_percentage' => '', 'kd_referral_override' => '', 'kd_referral_expire' => '', 'kd_referral_redir' => '', 'kd_referral_trkpar' => '', 'kd_referral_usrpage' => '', 'kd_referral_land' => '', 'kd_referral_showid' => '' ); $kd_referral_cfg = get_option('kd_referral_cfg'); if(!($kd_referral_cfg['kd_referral_trkpar'])){ $kd_referral_cfg['kd_referral_trkpar'] = 'ref_uid'; } foreach ($_GET as $key => $value) { if ($key == $kd_referral_cfg['kd_referral_trkpar']) { $referral_id = $value; } } if(isset($referral_id)) { if (!$kd_referral_cfg['kd_referral_override']){ // check if cookie already exists if(isset($_COOKIE['kdref'])){ return; } } if($kd_referral_cfg['kd_referral_expire']){ $exp = time()+60*60*24*$kd_referral_cfg['kd_referral_expire']; } $wp_root = get_option('home'); $htp = "http://"; $htps = "https://"; $kd_referral_domain = str_replace($htp, ".", $wp_root); $kd_referral_domain = str_replace($htps, ".", $kd_referral_domain); $kd_referral_domain = explode("/",$kd_referral_domain); // set cookie setcookie('kdref', $referral_id, $exp, '/', $kd_referral_domain[0]); if($kd_referral_cfg['kd_referral_land']) { header("Location: ".$kd_referral_cfg['kd_referral_land']); exit(0); } } } add_action("init", "kd_referral_getreferral"); function kd_referral_signupform() { global $wpdb; $kd_referral_cfg = array( 'kd_referral_mode_active' => '', 'kd_referral_percentage' => '', 'kd_referral_override' => '', 'kd_referral_expire' => '', 'kd_referral_redir' => '', 'kd_referral_trkpar' => '', 'kd_referral_usrpage' => '', 'kd_referral_showid' => '' ); $kd_referral_cfg = get_option('kd_referral_cfg'); // check if we have a cookie if(isset($_COOKIE['kdref'])){ $form_referral = $_COOKIE['kdref']; if ($kd_referral_cfg['kd_referral_showid']){ echo'
'; } else { echo''; } } else { if (!isset($_POST['kd_referral_referral'])) { $form_referral = $_GET[$kd_referral_cfg['kd_referral_trkpar']]; } else { $form_referral = $_POST['kd_referral_referral']; } $ref_exist = username_exists($form_referral); if (!$ref_exist) { $form_referral = ''; } echo '
'; } } add_action("register_form", "kd_referral_signupform"); function kd_referral_register($userid) { global $wpdb; $table_users = $wpdb->users; $reffered = $_POST['kd_referral_referral']; $reffered_id = $wpdb->get_var("SELECT ID FROM $table_users WHERE user_login='$reffered' LIMIT 1"); //$reffered = $wpdb->escape($_COOKIE['kd_referral']); $table = $wpdb->base_prefix."author_advertising"; $wpdb->query("INSERT INTO $table(author_id, his_referral_id) VALUES('$userid', '$reffered_id')"); } add_action("user_register", "kd_referral_register"); function kd_referral_redirect($redirect_to, $requested_redirect_to, $user) { if ( !isset ( $user->user_login ) ) { return $redirect_to; } if($user->user_level){ if($user->user_level > 7){ return $requested_redirect_to; } } $kd_referral_cfg = array( 'kd_referral_mode_active' => '', 'kd_referral_percentage' => '', 'kd_referral_override' => '', 'kd_referral_expire' => '', 'kd_referral_redir' => '', 'kd_referral_trkpar' => '', 'kd_referral_usrpage' => '', 'kd_referral_showid' => '' ); $kd_referral_cfg = get_option('kd_referral_cfg'); if ($kd_referral_cfg['kd_referral_redir']){ return $kd_referral_cfg['kd_referral_redir']; } else { return $requested_redirect_to; } } add_filter("login_redirect", "kd_referral_redirect", 10, 3); // Add new column to the user list function kd_referral_addcolumn( $columns ) { // This requires WP 2.8+ $columns['kd_referral_refbycol'] = __('referred by', 'user-locker'); $columns['kd_referral_refcountcol'] = __('referred', 'user-locker'); return $columns; } add_filter("manage_users_columns", "kd_referral_addcolumn"); // Add column content for each user on user list function kd_referral_fillcolumn( $value, $column_name, $user_id ) { global $wpdb; if ( $column_name == 'kd_referral_refbycol' ) { // get referral name $user_info = get_userdata($user_id); $table = $wpdb->prefix."author_advertising"; $referral = $wpdb->get_var("SELECT his_referral_id FROM $table WHERE author_id=$user_id"); $table_users = $wpdb->users; $referral = $wpdb->get_var("SELECT user_login FROM $table_users WHERE ID='$referral' LIMIT 1"); if($referral){ return $referral; }else{ return "-"; } } if ( $column_name == 'kd_referral_refcountcol' ) { // count referrals by this user $user_info = get_userdata($user_id); $table = $wpdb->prefix."author_advertising"; $ref_count = $wpdb->get_var("SELECT COUNT(*) FROM $table WHERE his_referral_id = '$user_info->ID'"); if($ref_count){ return $ref_count; }else{ return "-"; } } return $value; } add_filter("manage_users_custom_column", "kd_referral_fillcolumn", 10, 3 ); function kd_referral_userpage($user_id) { global $wpdb; $kd_referral_cfg = array( 'kd_referral_override' => '', 'kd_referral_percentage' => '', 'kd_referral_expire' => '', 'kd_referral_redir' => '', 'kd_referral_trkpar' => '', 'kd_referral_usrpage' => '', 'kd_referral_showid' => '' ); $kd_referral_cfg = get_option('kd_referral_cfg'); if(!($kd_referral_cfg['kd_referral_trkpar'])){ $kd_referral_cfg['kd_referral_trkpar'] = 'ref_uid'; } if ($kd_referral_cfg['kd_referral_usrpage']){ $affurl = get_option('siteurl').'/wp-login.php?action=register&'.$kd_referral_cfg['kd_referral_trkpar'].'='.$user_id->user_login; // count referrals by this user $table = $wpdb->prefix."author_advertising"; $ref_count = $wpdb->get_var("SELECT COUNT(*) FROM $table WHERE his_referral_id = '$user_id->ID'"); if(!$ref_count){ $ref_count = "0"; } // get referral name $table_users = $wpdb->users; $get_his_referral_id = $wpdb->get_var("SELECT his_referral_id FROM $table WHERE author_id = '$user_id->ID'"); $referral = $wpdb->get_var("SELECT user_login FROM $table_users WHERE ID='$get_his_referral_id' LIMIT 1"); if(!$referral){ $referral = '-'; } echo "
| ", _e('Ti sei iscritto tramite', 'author-advertising-pro'), " | $referral | ||
|---|---|---|---|
| ", _e('Numero di utenti che si sono iscritti con il tuo Link', 'author-advertising-pro'), " | $ref_count | ||
| ", _e('Lista degli utenti', 'author-advertising-pro'), " | ", _e('Nome Utente', 'author-advertising-pro'), " | ", _e('Numero Articoli Pubblicati', 'author-advertising-pro'), " | |
| $ref_name | "; echo "$ref_posts | ||
| ", _e('Ti sei iscritto tramite', 'author-advertising-pro'), " | $referral | ||
|---|---|---|---|
| ", _e('Numero di utenti che si sono iscritti con il tuo Link', 'author-advertising-pro'), " | $ref_count | ||
| ", _e('Lista degli utenti', 'author-advertising-pro'), " | ", _e('Nome Utente', 'author-advertising-pro'), " | ", _e('Numero Articoli Pubblicati', 'author-advertising-pro'), " | |
| $ref_name | "; echo "$ref_posts | ||
' . $ol_flash . '
", _e('In questa sezione potrai attivare e configurare la funzione Referral.', 'author-advertising-pro'), "
"; echo "", _e('Come funziona? La funzione Referral mode permette ai tuoi utenti/autori di invitare altre persone ad iscriversi a questo sito. Funziona in modo molto semplice: ogni utente troverà nel proprio profilo un link personale, da copiare ed inviare agli amici. In questo modo gli utenti che si iscriveranno tramite quel link diventeranno sub-affiliati dell\'utente che li ha invitati.
Quest\'ultimo, se desideri incentivare gli inviti, otterrà quindi una percentuale (che decidi tu) sulle impression generate dagli articoli scritti dagli amici invitati!
Ad esempio: Se Luca invita due amici, Diego e Silvia, e questi scrivono 3 articoli ciascuno, il Pub_id di Luca verrà visualizzato in questi 6 articoli secondo la percentuale che imposterai qui sotto!
Tale percentuale viene sottratta all\'admin, infatti come puoi vedere, per evitare errori di calcolo, puoi impostare una percentuale massima, uguale o inferiore a quella che hai salvato nelle Impostazioni generali del plugin.', 'author-advertising-pro'), "