function send_feedback() { global $_CLASS, $_CORE_CONFIG; $_CLASS['core_template']->assign_array(array('SENT_FROM' => $this->data['NAME'], 'SENDER_NAME' => $this->data['NAME'], 'SENDER_EMAIL' => $this->data['EMAIL'], 'SENDER_IP' => $_CLASS['core_user']->ip, 'MESSAGE' => $this->data['MESSAGE'])); $body = trim($_CLASS['core_template']->display('email/contact/index.txt', true)); if ($this->preview) { $_CLASS['core_template']->assign('PREVIEW', modify_lines($body, '<br/>')); return; } require_once SITE_FILE_ROOT . 'includes/mailer.php'; $mailer = new core_mailer(); $mailer->to($_CORE_CONFIG['email']['site_mail'], $_CORE_CONFIG['global']['site_name']); $mailer->subject($_CLASS['core_user']->get_lang('SITE_FEEDBACK')); $mailer->message = $body; trigger_error($mailer->send() ? 'SEND_SUCCESSFULL' : $mailer->error); }
function get_variable($var_name, $type, $default = false, $var_type = 'string') { $variable = null; $type = strtoupper($type); switch ($type) { case 'GET': $variable = isset($_GET[$var_name]) ? $_GET[$var_name] : $default; break; case 'POST': $variable = isset($_POST[$var_name]) ? $_POST[$var_name] : $default; break; case 'REQUEST': $variable = isset($_REQUEST[$var_name]) ? $_REQUEST[$var_name] : $default; break; case 'COOKIE': $variable = isset($_COOKIE[$var_name]) ? $_COOKIE[$var_name] : $default; break; } if (is_null($variable) || $variable === $default) { return $default; } else { switch ($var_type) { case 'int': case 'integer': return is_numeric($variable) ? (int) $variable : $default; break; case 'array': if (!is_array($variable)) { return $default; } // need to add a function here to loop multi... arrays foreach ($variable as $key => $value) { $variable[$key] = strip_slashes(trim(modify_lines(str_replace('\\xFF', ' ', $value), "\n"))); } return $variable; break; case 'array:int': case 'array:integer': if (!is_array($variable)) { return $default; } // need to add a function here to loop multi... arrays foreach ($variable as $key => $value) { if (is_numeric($value)) { $variable[$key] = (int) $value; } } return $variable; break; default: return strip_slashes(trim(modify_lines(str_replace('\\xFF', ' ', $variable), "\n"))); break; } } }
/*if ($row['user_avatar'] && $_CLASS['core_user']->optionget('viewavatars')) { $avatar_img = ''; switch ($row['user_avatar_type']) { case AVATAR_UPLOAD: $avatar_img = $config['avatar_path'] . '/'; break; case AVATAR_GALLERY: $avatar_img = $config['avatar_gallery_path'] . '/'; break; } $avatar_img .= $row['user_avatar']; $avatar = '<img src="' . $avatar_img . '" width="' . $row['user_avatar_width'] . '" height="' . $row['user_avatar_height'] . '" border="0" alt="" />'; }*/ if ($row['poster_id']) { $row['message'] = preg_replace('#\\[url=([^\\[]+?)\\](.*?)\\[/url\\]#s', '<a href="$1" target="_blank">$2</a>', $row['message_text']); } $_CLASS['core_template']->assign_vars_array('quick_message', array('USER_NAME' => $user_name, 'USER_LINK' => $userlink, 'DELETE_LINK' => $delete_link, 'MESSAGE' => modify_lines(htmlentities($row['message_text'], ENT_QUOTES, 'UTF-8'), '<br />'), 'TIME' => $_CLASS['core_user']->format_date($row['message_time']), 'POSTER_AVATAR' => $avatar, 'U_PROFILE' => $row['poster_id'] ? generate_link('Members_List&mode=viewprofile&u=' . $row['poster_id']) : false)); $delete_link = ''; } while ($row = $_CLASS['core_db']->fetch_row_assoc($result)); $result = $_CLASS['core_db']->query('SELECT COUNT(*) AS total from ' . QUICK_MESSAGE_TABLE); $row = $_CLASS['core_db']->fetch_row_assoc($result); $_CLASS['core_db']->free_result($result); $pagination = generate_pagination('Quick_Message', $row['total'], $limit, $start); $_CLASS['core_template']->assign_array(array('Q_MESSAGE_PAGINATION' => $pagination['formated'], 'Q_MESSAGE_PAGINATION_ARRAY' => $pagination['array'], 'Q_PAGE_NUMBER' => on_page($row['total'], $limit, $start), 'Q_TOTAL_MESSAGES' => $row['total'])); $_CLASS['core_display']->display(false, 'modules/Quick_Message/index.html'); script_close();
function send() { global $_CLASS, $_CORE_CONFIG; $to = $cc = $bcc = $reply_to = $from = false; foreach ($this->address_arrays as $type => $address) { if (empty($address)) { continue; } ${$type} = $this->format_address($address); } $_CORE_CONFIG['email']['site_mail'] = trim($_CORE_CONFIG['email']['site_mail']); if (!$from) { // modify_lines ? $from = '<' . $_CORE_CONFIG['email']['site_mail'] . '>'; } $headers[] = "From: {$from}"; $headers[] = 'Date: ' . gmdate('D, d M Y H:i:s T'); if (!$_CORE_CONFIG['email']['smtp']) { if ($cc) { $headers[] = "Cc: {$cc}"; } if ($bcc) { $headers[] = "Bcc: {$bcc}"; } } if ($reply_to) { $headers[] = "Reply-to: {$reply_to}"; } $headers[] = 'Return-Path: <' . $_CORE_CONFIG['email']['site_mail'] . ">"; $headers[] = 'Sender: <' . $_CORE_CONFIG['email']['site_mail'] . ">"; $headers[] = "MIME-Version: 1.0"; $headers[] = 'Message-ID: <' . (function_exists('sha1') ? sha1(uniqid(mt_rand(), true)) : md5(uniqid(mt_rand(), true))) . "@" . $_CORE_CONFIG['global']['site_name'] . ">"; if ($this->html) { // multipart $text_boundary = trim('--' . (function_exists('sha1') ? sha1(uniqid(mt_rand(), true)) : md5(uniqid(mt_rand(), true)))); $headers[] = 'Content-Type: multipart/alternative;'; $headers[] = "\tboundary=\"{$text_boundary}\""; $message .= 'This is a multi-part message in MIME format, Please use a MIME-compatible client'; // Plain text $message .= "\n\n{$text_boundary}\n"; $message .= 'Content-Type: text/plain; charset=' . $this->encoding . "\n"; //format= $message .= "Content-Transfer-Encoding: 8bit\n\n"; $message .= html_entity_decode(strip_tags(preg_replace('#<br */?>#i', "\n", modify_lines($this->message))), ENT_QUOTES); // HTML $message .= "\n\n{$text_boundary}\n"; $message .= 'Content-Type: text/html; charset=' . $this->encoding . "\n"; $message .= "Content-Transfer-Encoding: 8bit\n\n"; $message .= $this->message; $message .= "\n\n{$text_boundary}--\n"; } else { $headers[] = 'Content-Type: text/plain; charset=' . $this->encoding; $headers[] = 'Content-Transfer-Encoding: 8bit'; $message = "\n" . strip_tags(preg_replace('#<br */?>#i', "\n", modify_lines($this->message))) . "\n"; } if ($_CORE_CONFIG['email']['smtp']) { $smtp = new smtp_mailer(); if ($connect = $smtp->connect($_CORE_CONFIG['email']['smtp_host'], $_CORE_CONFIG['email']['smtp_port'])) { $login = $smtp->login($_CORE_CONFIG['email']['smtp_username'], $_CORE_CONFIG['email']['smtp_password']); } if (!$connect || !$login) { $this->error = $smtp->error; return false; } $smtp->subject = $this->subject; $smtp->headers = $headers; $smtp->message = $message; $smtp->recipients = array_merge($this->address_arrays['to'], $this->address_arrays['cc'], $this->address_arrays['bcc']); if (!$smtp->send_mail()) { $this->error = $smtp->error; return false; } return true; } if (function_exists($_CORE_CONFIG['email']['email_function_name'])) { //mb_send_mail $result = $_CORE_CONFIG['email']['email_function_name']($to, $this->subject, $message, implode("\n", $headers)); if (!$result) { return false; } return true; } return false; }
function block_get_data(&$data, &$error, $type = false) { global $_CLASS; $error = ''; $data = array(); $data['block_title'] = get_variable('b_title', 'POST', ''); // leave here for mods, maybe ! foreach ($data as $field => $value) { if (!$value) { $error .= $_CLASS['core_user']->get_lang('ERROR_' . $field) . '<br />'; } } $data['block_position'] = get_variable('b_position', 'POST', false, 'integer'); if (!$data['block_position'] || !check_position($data['block_position'], false)) { $data['block_position'] = BLOCK_RIGHT; } $data['block_status'] = get_variable('b_active', 'POST', STATUS_DISABLED, 'integer') === STATUS_DISABLED ? STATUS_DISABLED : STATUS_ACTIVE; $data['block_expires'] = get_variable('b_expires', 'POST', ''); $data['block_starts'] = get_variable('b_time', 'POST', ''); $start = $expires = ''; if ($data['block_starts']) { $start = strtotime($data['block_starts']); if (!$start || $start == -1) { $error .= $_CLASS['core_user']->lang['ERROR_START_TIME'] . '<br />'; } } if ($data['block_expires']) { $expires = strtotime($data['block_expires']); if (!$expires || $expires == -1) { $error .= $_CLASS['core_user']->lang['ERROR_END_TIME'] . '<br />'; } } $appoved_types = array(BLOCKTYPE_FILE, BLOCKTYPE_FEED, BLOCKTYPE_HTML, BLOCKTYPE_SYSTEM); $data['block_type'] = $type ? (int) $type : (int) get_variable('b_type', 'REQUEST', BLOCKTYPE_FILE); if (!in_array($data['block_type'], $appoved_types, true)) { $data['block_type'] = BLOCKTYPE_FILE; } $data['block_content'] = ''; switch ($data['block_type']) { case BLOCKTYPE_HTML: //$data['content'] = modify_lines(trim(get_variable('b_content', 'POST', '')), '<br/>'); $data['block_content'] = modify_lines(trim(get_variable('b_content', 'POST', '')), ''); if (mb_strlen($data['block_content']) < 6) { $error .= $_CLASS['core_user']->lang['ERROR_content'] . '<br />'; } break; case BLOCKTYPE_FILE: // Add a file check here $data['block_file'] = trim(get_variable('b_file', 'POST', '')); break; case BLOCKTYPE_FEED: // Add an url rss check here $data['block_rss_url'] = get_variable('b_url', 'POST', ''); $data['block_rss_rate'] = get_variable('b_refresh', 'POST', ''); break; } if (!$error) { $data['block_starts'] = $start ? $_CLASS['core_user']->time_convert($start, 'gmt') : 0; $data['block_expires'] = $expires ? $_CLASS['core_user']->time_convert($expires, 'gmt') : 0; } }
$forum_data = $row; do { $forum_list .= ($forum_list != '' ? ', ' : '') . '<b>' . $row['forum_name'] . '</b>'; } while ($row = $_CLASS['core_db']->fetch_row_assoc($result)); $_CLASS['core_db']->free_result($result); } // Grab relevant user or group information $ug_ids = $l_ug_list = $ug_hidden = $l_no_error = ''; // need some work ( array_mapping()) blaa blaa switch ($ug_type) { case 'user': $l_no_error = $_CLASS['core_user']->lang['NO_USER']; $sql = 'SELECT user_id AS id, username AS name FROM ' . USERS_TABLE . ' WHERE '; $sql .= $submit == 'add_options' ? " username IN ('" . implode("', '", $_CLASS['core_db']->escape_array(array_unique(explode("\n", modify_lines($ug_data[0], "\n"))))) . "')" : ' user_id ' . (is_array($ug_data) ? 'IN (' . implode(', ', array_map('intval', $ug_data)) . ')' : '= ' . (int) $ug_data); break; case 'group': $l_no_error = $_CLASS['core_user']->lang['NO_GROUP']; $sql = 'SELECT group_id AS id, group_name AS name, group_type FROM ' . GROUPS_TABLE . ' WHERE group_id'; $sql .= is_array($ug_data) ? ' IN (' . implode(', ', array_map('intval', $ug_data)) . ')' : ' = ' . (int) $ug_data; break; } $result = $_CLASS['core_db']->query($sql); if (!($row = $_CLASS['core_db']->fetch_row_assoc($result))) { trigger_error($l_no_error); } unset($l_no_error); // Store the user_ids and names for later use