Herzlich Willkommen bei der Beta-Version von Affiliate Power. Das Plugin befindet sich noch in der Entwicklung. Sollte du Probleme und Vorschläge für neue Features haben, freue ich mich einen Kommentar in meinem Blog.
Auf dieser Seite kannst du die Einstellungen von Affiliate Power bearbeiten. Bitte habe etwas Geduld beim Speichern der Daten. Das Plugin führt einen Testlogin bei den Netzwerken durch.
| Einnahmen | |
|---|---|
| Einnahmen | |
| '.$output_post.' | '.$output_earning.' |
| Partner | Einnahmen |
|---|---|
| Partner | Einnahmen |
| '.$partner['program'].' | '.$output_earnings.' |
| Monat | Einnahmen |
|---|---|
| Monat | Einnahmen |
| '.$month['month_year'].' | '.$output_earnings.' |
Damit das Tracking funktioniert, musst du hier deine Daten bei den Affiliate-Netzwerken hinterlegen, die du benutzt. Sind meine Daten sicher?
'; } //Affili.net static public function addAffiliIdField() { $options = get_option('affiliate-power-options'); echo " "; echo "Was ist das?"; echo ""; } static public function addAffiliPasswordField() { $options = get_option('affiliate-power-options'); echo " "; echo "Was ist das?"; echo ""; } //Zanox static public function addZanoxConnectIdField() { $options = get_option('affiliate-power-options'); echo " "; echo "Was ist das?"; echo ""; } static public function addZanoxPublicKeyField() { $options = get_option('affiliate-power-options'); echo " "; echo "Was ist das?"; echo ""; } static public function addZanoxSecretKeyField() { $options = get_option('affiliate-power-options'); echo " "; echo "Was ist das?"; echo ""; } //Tradedoubler static public function addTradedoublerKeyField() { $options = get_option('affiliate-power-options'); echo " "; echo "Was ist das?"; echo ""; } //Validation static public function optionsValidate($input) { //Main Settings $whitelist['add-sub-ids'] = $input['add-sub-ids']; if ($whitelist['add-sub-ids'] != 1) $whitelist['add-sub-ids'] = 0; //if (is_numeric($input['download-method'])) $whitelist['download-method'] = (int)$input['download-method']; //Affili.net if (is_numeric($input['affili-id'])) $whitelist['affili-id'] = $input['affili-id']; elseif (!empty($input['affili-id'])) add_settings_error('affiliate-power-options', 'affiliate-power-error-affili-id', 'Ungültige Affili.net Id. Die Id darf ausschließlich aus Zahlen bestehen', 'error'); if (preg_match('/[a-z0-9]/i', $input['affili-password']) && strlen($input['affili-password']) == 20) $whitelist['affili-password'] = $input['affili-password']; elseif (!empty($input['affili-password'])) add_settings_error('affiliate-power-options', 'affiliate-power-error-affili-password', 'Ungültiges Affili.net PublisherWebservice Passwort. Das Passwort muss 20 Zeichen lang sein und nur Zahlen und Buchstaben enthalten. Bitte gib nicht dein normales Affili.net Passwort an, sondern dein PublisherWebservice Passwort.', 'error'); if (isset($whitelist['affili-id']) && isset($whitelist['affili-password'])) { if (!extension_loaded('soap')) { add_settings_error('affiliate-power-options', 'affiliate-power-error-soap', 'Für den Download der Affili.net Transaktionen wird das PHP-Modul SOAP benötigt. Dieses ist bei dir nicht aktiviert. Bitte aktiviere das Modul.', 'error'); } elseif (!Affiliate_Power_Apis::checkLoginAffili($whitelist['affili-id'], $whitelist['affili-password'])){ add_settings_error('affiliate-power-options', 'affiliate-power-error-affili-login', 'Testlogin bei Affili.net fehlgeschlagen. Bitte überprüfe Deine Daten.', 'error'); } } //Zanox if (preg_match('/[a-z0-9]/i', $input['zanox-connect-id']) && strlen($input['zanox-connect-id']) == 20) $whitelist['zanox-connect-id'] = $input['zanox-connect-id']; elseif (!empty($input['zanox-connect-id'])) add_settings_error('affiliate-power-options', 'affiliate-power-error-zanox-connect-id', 'Ungültige Zanox Connect Id. Die Id muss 20 Zeichen lang sein und nur Zahlen und Buchstaben enthalten. Bitte gib nicht deinen normalen Zanox Account an, sondern die Conenct Id.', 'error'); if (preg_match('/[a-z0-9]/i', $input['zanox-public-key']) && strlen($input['zanox-public-key']) == 20) $whitelist['zanox-public-key'] = $input['zanox-public-key']; elseif (!empty($input['zanox-public-key'])) add_settings_error('affiliate-power-options', 'affiliate-power-error-zanox-public-key', 'Ungültiger Zanox Public Key. Der Key muss 20 Zeichen lang sein und nur Zahlen und Buchstaben enthalten. Bitte gib nicht deinen normalen Zanox Account an, sondern den Public Key.', 'error'); if (strlen($input['zanox-secret-key']) >= 20) $whitelist['zanox-secret-key'] = $input['zanox-secret-key']; elseif (!empty($input['zanox-secret-key'])) add_settings_error('affiliate-power-options', 'affiliate-power-error-zanox-secret-key', 'Ungültiger Zanox Secret Key. Der Key muss mindestens 20 Zeichen lang sein. Bitte gib nicht dein normales Zanox Passwort an, sondern den Secret Key.', 'error'); if (isset($whitelist['zanox-connect-id']) && isset($whitelist['zanox-public-key']) && isset($whitelist['zanox-secret-key'])) { if (!extension_loaded('soap')) { add_settings_error('affiliate-power-options', 'affiliate-power-error-soap', 'Für den Download der Zanox Transaktionen wird das PHP-Modul SOAP benötigt. Dieses ist bei dir nicht aktiviert. Bitte aktiviere das Modul.', 'error'); } elseif (!Affiliate_Power_Apis::checkLoginZanox($whitelist['zanox-connect-id'], $whitelist['zanox-public-key'], $whitelist['zanox-secret-key'])){ add_settings_error('affiliate-power-options', 'affiliate-power-error-zanox-login', 'Testlogin bei Zanox fehlgeschlagen. Bitte überprüfe Deine Daten.', 'error'); } } //Tradedoubler if (strlen($input['tradedoubler-key']) >= 32) $whitelist['tradedoubler-key'] = $input['tradedoubler-key']; elseif (!empty($input['tradedoubler-key'])) add_settings_error('affiliate-power-options', 'affiliate-power-error-tradedoubler-key', 'Ungültiger Tradedoubler Report Key. Der Key muss mindestens 32 Zeichen lang sein. Bitte gib nicht dein normales Tadedoubler Passwort an, sondern den Report Key.', 'error'); if (isset($whitelist['tradedoubler-key'])) { if (!Affiliate_Power_Apis::checkLoginTradedoubler($whitelist['tradedoubler-key'])){ add_settings_error('affiliate-power-options', 'affiliate-power-error-tradedoubler-login', 'Testlogin bei Tradedoubler fehlgeschlagen. Bitte überprüfe Deine Daten.', 'error'); } } settings_errors('affiliate-power-options'); return $whitelist; } //-------------- //CHANGE EXISTING ADMIN PAGES //-------------- static public function addEarningsColummnToPosts($defaults) { $defaults['earnings'] = __('Einnahmen'); return $defaults; } static public function addEarningsToPosts($column_name, $id) { if ( $column_name == 'earnings' ) { global $wpdb; $sql = $wpdb->prepare('SELECT sum(Commission), sum(Confirmed) FROM '.$wpdb->prefix.'ap_transaction WHERE SubId = %d AND TransactionStatus <> "Cancelled"', $id); $arr_earnings = $wpdb->get_row($sql, ARRAY_N); $total_earning = number_format($arr_earnings[0], 2, ',', '.'); $confirmed_earning = number_format($arr_earnings[1], 2, ',', '.'); $output = $total_earning . ' € ('.$confirmed_earning.' €)'; //$output = $arr_earnings[0]; echo $output; } } static public function makeEarningsColumnSortable( $columns ) { $columns['earnings'] = 'earnings'; return $columns; } //todo: fix sort, this is not working because earnings is not in post data table static public function handleSortEarningsColumn( $vars ) { if ( isset( $vars['orderby'] ) && $vars['orderby'] == 'earnings' ) { $vars = array_merge( $vars, array( 'meta_key' => 'earnings', 'orderby' => 'meta_value_num' ) ); } return $vars; } } ?>