geocool Δημοσ. 20 Νοεμβρίου 2007 Δημοσ. 20 Νοεμβρίου 2007 Λοιπόν έχω phpbb και πέρασα ένα mod το οποίο δημιουργεί μία σελίδα που το κάθε μέλος στέλνει e-mail σε κάποιον με ένα προσωπικό λινκ στο site για εγγραφή ... Παράδειγμα ... Αυτό που θέλω να κάνω λοιπόν είναι να βγάλω αυτή την φόρμα του mail και το μόνο που να φαίνεται ναι είναι το λινκ ! Ακόμα να δημιουργήσω μερικές εικόνες και να εμφανίζονται ως κώδικας σε μορφή html και bbcode.... [Οι εικόνες αυτές με κάποιο τρόπο να αλλάζουν με ένα κουμπάκι από image 1 σε image 2 και αντίστροφα και ταυτόχρονα να αλλάζει και ο κώδικας] ( το τελευταίο αν είναι δύσκολο να γίνει δεν με πειράζει αν δεν το βάλω) Για να καταλάβετε τι θέλω δείτε το παράδειγμα Παράδειγμα ... Ο κώδικας του αρχείου είναι αυτός (μέσα στο αρχείο δεν περιέχεται μόνο η φόρμα του mail αλλά κ άλλα πράγματα που δεν θα ήθελα να σβηστούν ) : > <?php /*************************************************************************** * user_rp_viewcenter.php * ------------------- * begin : Monday, July 01, 2005 * copyright : (C) 2005 MentalMaze * email : NA * Version : 0.1.9 - 07/27/2005 * ****************************************************************************/ /*************************************************************************** * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * ***************************************************************************/ /************************************************************************** * This file will be used for displaying the Referrals Center **************************************************************************/ if ( !defined('IN_PHPBB') ) { die("Hacking attempt"); exit; } if ( empty($HTTP_GET_VARS[post_USERS_URL]) || $HTTP_GET_VARS[post_USERS_URL] == ANONYMOUS ) { message_die(GENERAL_MESSAGE, $lang['No_user_id_specified']); } $profiledata = get_userdata(intval($HTTP_GET_VARS[post_USERS_URL])); if (!$profiledata) { message_die(GENERAL_MESSAGE, $lang['No_user_id_specified']); } if ( !empty($HTTP_GET_VARS['refer_id']) ) { $refer_id = intval($HTTP_GET_VARS['refer_id']); } else if (!empty($HTTP_POST_VARS['refer_id'])) { $refer_id = intval($HTTP_POST_VARS['refer_id']); } // set for switch $refer_post = ($lang['Rp_post_amount'] . $board_config['rp_posts_allowed'] . $lang['Rp_post_refer']); if ( ($profiledata['user_posts']) >= ($board_config['rp_posts_allowed']) ) { $template->assign_block_vars('switch_user_rp_refer', array()); } else { $template->assign_block_vars('switch_user_rp_norefer', array()); } // Get reward total If ( ($board_config['rp_rewards_enable'] == '1') ) { $template->assign_block_vars('switch_user_rp_rewards', array()); $reward = $board_config['rp_reward']; $rp_user = $profiledata['user_id']; $sql = "SELECT $reward AS reward_total FROM " . USERS_TABLE . " WHERE $rp_user = user_id"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, $lang['Rp_reward_total'], '', __LINE__, __FILE__, $sql); } $reward_total = array(); $refer_reward_total = $db->sql_fetchrow($result); $refer_reward_total = $refer_reward_total['reward_total']; $db->sql_freeresult($result); } else { $template->assign_block_vars('switch_user_rp_norewards', array()); } // end Get reward total // Start Send Email if ( isset($HTTP_POST_VARS['submit']) ) { $error = FALSE; if ( !empty($HTTP_POST_VARS['referemail']) && (strpos($HTTP_POST_VARS['referemail'],"@")>0) ) { $referemail = trim(stripslashes($HTTP_POST_VARS['referemail'])); if (!$HTTP_POST_VARS['refername']){$refername = stripslashes($HTTP_POST_VARS['referfriend']); $referfriend=substr($referemail,0,strpos($HTTP_POST_VARS['referemail'],"@")); }; } else { $error = TRUE; $error_msg = $lang['Rp_valid_email']; } if ( !$error ) { include($phpbb_root_path . 'includes/emailer.'.$phpEx); $emailer = new emailer($board_config['smtp_delivery']); $server_name = trim($board_config['server_name']); $server_protocol = ( $board_config['cookie_secure'] ) ? 'https://' : 'http://'; $server_port = ( $board_config['server_port'] <> 80 ) ? ':' . trim($board_config['server_port']) . '/' : '/'; // Set the Email Headers $emailer->from($userdata['user_email']); $email_headers .= 'Return-Path: ' . $userdata['user_email'] . "\n"; $email_headers .= 'X-AntiAbuse: Board servername - ' . $server_name . "\n"; $email_headers .= 'X-AntiAbuse: User_id - ' . $userdata['user_id'] . "\n"; $email_headers .= 'X-AntiAbuse: Username - ' . $userdata['username'] . "\n"; $email_headers .= 'X-AntiAbuse: User IP - ' . decode_ip($user_ip) . "\r\n"; // Set the Email Data $emailer->use_template('rp_invite_email', $user_lang); $emailer->email_address($referemail); $emailer->set_subject(trim(stripslashes($board_config['sitename']))); $emailer->extra_headers($email_headers); // Assign the vars for Email $emailer->assign_vars(array( 'SITENAME' => $board_config['sitename'], 'BOARD_EMAIL' => $board_config['board_email'], 'FROM_USERNAME' => $userdata['username'], 'TO_REFERNAME' => $refername, 'USER_ID' => $userdata['user_id'], 'L_RP_REFER_BODY' => sprintf($lang['Rp_refer_body'], $refername, $board_config['sitename'], $board_config['server_name'], $board_config['script_path'], $userdata['user_id']), 'L_RP_URL_REASON' => sprintf($lang['Rp_url_reason'], $userdata['username']), 'L_RP_BOARD_BODY' => sprintf($lang['Rp_board_body'], $board_config['sitename'], $board_config['server_name'], $board_config['script_path'], $board_config['rp_board']), 'INVITE' => $invite, )); // Send the Email $emailer->send(); $emailer->reset(); $template->assign_vars(array( 'META' => '<meta http-equiv="refresh" content="5;url=' . append_sid("rp_center.$phpEx?mode=referralcp&u=") . $userdata['user_id'] . '">') ); $invite = $lang['Rp_refer_sent'] . '<br /><br />' . sprintf($lang['Click_return_refcenter'], '<a href="' . append_sid("rp_center.$phpEx?mode=referralcp&u=") . $userdata['user_id'] . '">', '</a>'); message_die(GENERAL_MESSAGE, $invite); } if ( $error ) { $template->set_filenames(array( 'reg_header' => 'error_body.tpl') ); $template->assign_vars(array( 'ERROR_MESSAGE' => $error_msg) ); $template->assign_var_from_handle('ERROR_BOX', 'reg_header'); } } // End Send Email // Monthly user referrals $rp_time = $board_config['rp_time']; //if ( ($board_config['rp_enable']) && ($profiledata['user_posts']) >= ($board_config['rp_posts_allowed']) ) //{ $refer_id = $profiledata['user_id']; $sql = "SELECT COUNT(rp_id) AS rp_totalm FROM " . REFER_TOP_TABLE . " WHERE refer_id = $refer_id"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, $lang['Rp_error_data'], '', __LINE__, __FILE__, $sql); } $refer_top = array(); $refer_top_total = $db->sql_fetchrow($result); $refer_top_total = $refer_top_total['rp_totalm']; $temp_url = append_sid("rp_viewm.$phpEx?refer_id=" . urlencode($profiledata['user_id'])); $temp_url = $refer_top_total ; // All time user referrals $rp_timem = $board_config['rp_timem']; $rp_life_time_rc = $board_config['rp_life_time_rc']; $refer_id = $profiledata['user_id']; $sql = "SELECT COUNT(rp_id) AS rp_total FROM " . REFER_PLUS_TABLE . " WHERE refer_id = $refer_id"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, $lang['Rp_error_data'], '', __LINE__, __FILE__, $sql); } $refer_plus = array(); $refer_plus_total = $db->sql_fetchrow($result); $refer_plus_total = $refer_plus_total['rp_total']; $temp_url = append_sid("rp_view.$phpEx?refer_id=" . urlencode($profiledata['user_id'])); $temp_url = $refer_plus_total; $rp_top10_list = $board_config['rp_top10_list']; $rp_top10_list_explain = $board_config['rp_top10_list_explain']; $rp_top_list = append_sid("rp_top.$phpEx" ); // User all time referrals $sql = "SELECT rp_id, refer_id, refer_new, rp_time FROM " . REFER_PLUS_TABLE . " WHERE refer_id = '" . $refer_id . "'"; if( !$result = $db->sql_query($sql) ) { message_die(GENERAL_ERROR, $lang['Rp_error_query_total'], '', __LINE__, __FILE__, $sql); } if ( $row = $db->sql_fetchrow($result) ) { do { $refer_new = $row['refer_new']; settype($refer_new, 'integer'); $new_userdata = get_userdata($refer_new); if(!$new_userdata) { $rp_new_username = $lang['Rp_admin_not_exist']; } else { $temp_url_1 = append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $new_userdata['user_id'] . ''); $rp_new_username = $new_userdata['username']; } $rp_date = create_date($board_config['default_dateformat'], $row['rp_time'], $board_config['board_timezone']); $row_color = ( !(2) ) ? $theme['td_color1'] : $theme['td_color2']; $row_class = ( !(2) ) ? $theme['td_class1'] : $theme['td_class2']; $template->assign_vars(array( 'L_RP_NEW_NAME' => $lang['Rp_admin_new_name'], 'L_RP_DATE' => $lang['Rp_admin_date']) ); $template->assign_block_vars('refer_plus', array( 'ROW_COLOR' => '#' . $row_color, 'ROW_CLASS' => $row_class, 'USER_URL' => $temp_url_1, 'RP_NEW_USER' => $rp_new_username, 'RP_DATE' => $rp_date) ); } while ($row = $db->sql_fetchrow($result)); } // User all time referrals // User current referrals $sql = "SELECT rp_id, refer_id, refer_new, rp_time FROM " . REFER_TOP_TABLE . " WHERE refer_id = '" . $refer_id . "'"; if( !$result = $db->sql_query($sql) ) { message_die(GENERAL_ERROR, $lang['Rp_error_query_total'], '', __LINE__, __FILE__, $sql); } if ( $row = $db->sql_fetchrow($result) ) { do { $refer_new = $row['refer_new']; settype($refer_new, 'integer'); $new_userdata = get_userdata($refer_new); if(!$new_userdata) { $rp_new_username = $lang['Rp_admin_not_exist']; } else { $temp_url_2 = append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $new_userdata['user_id'] . ''); $rp_new_username = $new_userdata['username']; } $rp_date = create_date($board_config['default_dateformat'], $row['rp_time'], $board_config['board_timezone']); $row_color = ( !(2) ) ? $theme['td_color1'] : $theme['td_color2']; $row_class = ( !(2) ) ? $theme['td_class1'] : $theme['td_class2']; $template->assign_vars(array( 'L_RP_NEW_NAME' => $lang['Rp_admin_new_name'], 'L_RP_DATE' => $lang['Rp_admin_date']) ); $template->assign_block_vars('refer_top', array( 'ROW_COLOR' => '#' . $row_color, 'ROW_CLASS' => $row_class, 'USER_URL' => $temp_url_2, 'RP_NEW_USER' => $rp_new_username, 'RP_DATE' => $rp_date) ); } while ($row = $db->sql_fetchrow($result)); } // end All time referrals // Current refer list $sql = "SELECT * FROM " . REFER_TOP_TABLE . " WHERE refer_id != '-1'"; if( !$result = $db->sql_query($sql) ) { message_die(GENERAL_ERROR, $lang['Rp_error_data_top'], $lang['Error'], __LINE__, __FILE__, $sql); } $rp_time = $board_config['rp_time']; $rp_top = $board_config['rp_top']; $sql = "SELECT refer_id, username, count(refer_id) as total FROM " . REFER_TOP_TABLE . ", " . USERS_TABLE . " WHERE user_id=refer_id AND refer_id != '-1' GROUP BY refer_id ORDER BY total DESC LIMIT $rp_top"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, $lang['Rp_error_user'], '', __LINE__, __FILE__, $sql); } $referral_rows = array(); $referral_rows = $db->sql_fetchrowset($result); $referral_count = count($referral_rows); // Is List enabled? if ( ($board_config['rp_rtop_enable']) ) { for($i = 0; $i < $referral_count; $i++) { // GET REFERRAL USER DATA $refer_id = $referral_rows[$i]['refer_id']; $total_posts = $referral_rows[$i]['total']; settype($refer_id, "integer"); $referral_userdata = get_userdata($refer_id); // build profile url $temp_url_3 = append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $referral_userdata['user_id'].""); $top_referral = $referral_userdata['username'] ; // Icky way to decide row color, but works for now! $row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2']; $row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2']; $template->assign_block_vars("refer_plus_ct", array( "ROW_COLOR" => "#" . $row_color, "ROW_CLASS" => $row_class, 'USER_URL' => $temp_url_3, "TOP_RP_USER" => $top_referral, "RP_TOTALS" => $total_posts )); } } else { $template->assign_block_vars("disabled", array( "L_RP_T_DISABLEDA" => $lang['Rp_t_disableda'] )); } // end Current refer list // All time refer list $sql = "SELECT * FROM " . REFER_PLUS_TABLE . " WHERE refer_id != '-1'"; if( !$result = $db->sql_query($sql) ) { message_die(GENERAL_ERROR, $lang['Rp_error_data'], $lang['Error'], __LINE__, __FILE__, $sql); } $rp_time = $board_config['rp_time']; $rp_top = $board_config['rp_top']; $sql = "SELECT refer_id, username, count(refer_id) as total FROM " . REFER_PLUS_TABLE . ", " . USERS_TABLE . " WHERE user_id=refer_id AND refer_id != '-1' GROUP BY refer_id ORDER BY total DESC LIMIT $rp_top"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, $lang['Rp_error_user'], '', __LINE__, __FILE__, $sql); } $referral_rows = array(); $referral_rows = $db->sql_fetchrowset($result); $referral_count = count($referral_rows); $template->assign_vars(array( "RP_TIME" => $rp_time, "L_RP_TOP" => $lang['Rp_top'], "L_RP_MEM" => $lang['Rp_mem'], "L_RP_REFER" => $lang['Rp_name'], "L_RP_TOTAL" => $lang['Rp_total'], "L_RP_T_EXPLAIN" => $lang['Rp_t_explain'], )); // Is Referral top list Enabled? if ( ($board_config['rp_top_list_enabled']) ) { for($i = 0; $i < $referral_count; $i++) { // GET Referral user data $refer_id = $referral_rows[$i]['refer_id']; $total_posts = $referral_rows[$i]['total']; settype($refer_id, "integer"); $referral_userdata = get_userdata($refer_id); $temp_url_4 = append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $referral_userdata['user_id'].""); $top_referral = $referral_userdata['username']; // Icky way to decide row color, but works for now! $row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2']; $row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2']; $template->assign_block_vars("refer_plus_at", array( "ROW_COLOR" => "#" . $row_color, "ROW_CLASS" => $row_class, 'USER_URL' => $temp_url_4, "TOP_RP_USER" => $top_referral, "RP_TOTALS" => $total_posts )); } } else { $template->assign_block_vars("disabled_2", array( "L_RP_T_DISABLEDA" => $lang['Rp_t_disableda'] )); } // end all time refer list // Generate page $page_title = $board_config['rp_referc_header']; include($phpbb_root_path . 'includes/page_header.'.$phpEx); // template $template->set_filenames(array( 'body' => 'rp_center_body.tpl') ); $template->assign_vars(array( 'USERNAME' => $profiledata['username'], 'REFER_POST_NO' => $refer_post, 'REFER_PLUS' => $refer_plus, 'REFER_TOP' => $refer_top, 'RP_TIME' => $rp_time, 'RP_TIMEM' => $rp_timem, 'RP_TOP10_LIST' => $rp_top10_list, 'REFER_TOP' => $refer_top, 'RP_TOP10_LIST_EXPLAIN' => $rp_top10_list_explain, 'RP_REWARD' => $refer_reward_total, 'L_RP_OPTION_DETAIL' => $lang['Rp_option_detail'], 'L_RP_CENTER_CP' => $lang['Rp_center_cp'], 'L_RP_CENTER_OP' => $lang['Rp_center_op'], 'L_RP_CENTER' => $lang['Rp_center'], 'L_RP_CENTER_FOR' => $lang['Rp_center_for'], 'L_RP_NO_POST' => $lang['Rp_no_post'], 'L_RP_TOP10' => $lang['Rp_top10'], 'L_RP_T_EXPLAIN' => $lang['Rp_t_explain'], 'L_RP_AT_EXPLAIN' => $lang['Rp_at_explain'], 'L_RP_ALL_TOPL' => $lang['Rp_all_topl'], 'L_RP_USER_FOR' => $lang['Rp_user_for'], 'L_RP_REFER_TITLE' => $lang['Rp_refer_title'], 'L_RP_USER' => $lang['Rp_user'], 'L_RP_USER_EMAIL' => $lang['Rp_user_email'], 'L_RP_REFER_USER' => $lang['Rp_refer_user'], 'L_RP_REFER_EMAIL' => $lang['Rp_refer_email'], 'L_RP_REFER_MSG' => $lang['Rp_refer_msg'], 'L_RP_REFER_BODY' => sprintf($lang['Rp_refer_body'], $refername, $board_config['sitename'], $board_config['server_name'], $board_config['script_path'], $userdata['user_id']), 'L_RP_URL_REASON' => sprintf($lang['Rp_url_reason'], $userdata['username']), 'L_RP_BOARD_BODY' => sprintf($lang['Rp_board_body'], $board_config['sitename'], $board_config['server_name'], $board_config['script_path'], $board_config['rp_board']), 'RP_REWARDS' => $board_config['rp_rewards'], 'RP_REWARDS_EXPLAIN' => $board_config['rp_rewards_explain'], 'REFER_TOP_TOTAL' => $refer_top_total['rp_totalm'], 'REFER_PLUS_TOTAL' => $refer_plus_total['rp_total'], 'RP_REFERC_HEADER' => $board_config['rp_referc_header'], 'RP_INVITE_HEADER' => $board_config['rp_invite_header'], 'RP_INVITE_FRIEND' => $board_config['rp_invite_friend'], 'RP_TOP_NOW_LIST' => $board_config['rp_top_now_list'], 'RP_NOW_TIME' => $board_config['rp_now_time'], 'RP_LIFE_TIME_RC' => $board_config['rp_life_time_rc'], "SITENAME" => $board_config['sitename'], "RP_NAME" => $userdata['username'], "RP_MAIL" => $userdata['user_email'], // Save for possible future use // "INVITE" => $invite['L_RP_REFER_BODY'], // "TO_REFERNAME" => $refername, "USER_ID" => $userdata['user_id'], 'S_SUBMIT_ACTION' => append_sid('rp_center.'.$phpEx), 'S_PROFILE_ACTION' => append_sid("profile.$phpEx")) ); make_jumpbox('viewforum.'.$phpEx); $template->pparse('body'); include($phpbb_root_path . 'includes/page_tail.'.$phpEx); ?> Όποιος μπορεί να βοηθήσει αυτό το απαιτητικό μέλος το εκτιμώ πολύ
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.