barbass отправка почты и т.д.

parent a6e4e527
<?php
defined( '_ACCESS' );
define('_VALID_MOS',1);
require_once('configuration.php');
require_once('minimambo.php');
require_once('database.php');
$database = new database($config_db_host,$config_db_user,$config_db_pass,$config_db_name,'');
$email = $_REQUEST['email'];
$url = $_REQUEST['url'];
$comment = $_REQUEST['comment'];
$error_text = $_REQUEST['error_text'];
echo ($error_text);
$mas_url = parse_url($url);
//////////////////////////////////////////////////////////////////////
//Достаем номер сайта ?нужно ли? и емайлы полльзователей
$query = "SELECT s.id AS site, u.email AS email
$query_emails = "SELECT DISTINCT s.id AS site, u.email AS email
FROM sites AS s
JOIN users AS u
JOIN responsible AS r ON r.id_site = s.id
WHERE site = '".$mas_url["host"]."' AND r.status = 1";
$id_site = 2;
$id_user = 1 ;
$message_email = "Сайт: ".$mas_url["host"]."<br/>";
$message_email .= "Ссылка: <a href=$url>нажмите</a><br/>";
$message_email .= "Текст с опечаткой: ".$error_text."<br/>";
$message_email .= "email пользователя:".$email."<br/>";
$message_email .= "Комментарий пользователя: ".$comment."<br/>";
$database->setQuery($query_emails);
$email_users = $database->loadAssocList();
if (count($email_users) != 0) {
$query_insert = "INSERT INTO messages (id, id_site, link, error_text, email, comment, datetime, status) VALUES('null','".$email_users[0]['site']."','".$url."','".$error_text."','".$email."','".$comment."',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'),0)";
$database->setQuery($query_insert);
$message_email = "Сайт: ".$mas_url["host"]."<br/>";
$message_email .= "Ссылка: <a href=$url>нажмите</a>"." (".$url.")"."<br/>";
$message_email .= "Текст с опечаткой: ".$error_text."<br/>";
$message_email .= "email пользователя: ".$email."<br/>";
$message_email .= "Комментарий пользователя: ".$comment."<br/>";
$subject = "Сообщение об опечатке";
$to = to_email($email_users);
$from_email = "typos@etersoft.ru";
$from_name = "Служба опечаток";
//sendmail($subject,$message_email,$to,$from_email,$from_name,'html');
$query2 = "INSERT INTO messages VALUES('NULL',$id_site,$url,$error_text,$email,$comment,DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'),0)";
$query3 = "INSERT INTO message_perl VALUES('NULL', $id_user, $message_email)";
$ajax_mess['text'] = $error_text;
$ajax_mess['color'] = "green";
$ajax_mess['error'] = "Спасибо за ваше внимание";
} else {
$ajax_mess['text'] = $error_text;
$ajax_mess['color'] = "red";
$ajax_mess['error'] = "Данный сайт не поддерживается";
}
echo json_encode($ajax_mess);
//Отправка email-ов
function sendmail($subject,$body,$to,$from_email,$from_name,$type='html') {
$headers = "X-PHP-Script: ".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]." for ".$_SERVER['SERVER_ADDR']."\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Return-path: <".$from_email.">\r\n";
$headers .= "Content-type: text/".$type."; format=flowed; charset=utf-8; reply-type=original\r\n";
$headers .= "Content-Transfer-Encoding: 8bit\r\n";
$headers .= "X-Priority: 3\r\n";
$headers .= "X-MSMail-Priority: Normal\r\n";
$headers .= "X-Mailer: Automatic PHP Script\r\n";
$headers .= "From:".$from_name."<".$from_email.">\r\n";
$subject = $subject;
$body = $body;
return(mail($to,$subject,$body,$headers));
}
//Формирование списка кому отправлять email-ы
function to_email($data) {
$to = "";
$count = count($data);
for ($i = 0; $i < $count; $i++) {
$to .= $data[0]['email'];
if ($i < ($count - 1)) {
$to .= ",";
}
}
return $to;
}
?>
<?php
$config_db_name = 'barbass_typos';
$config_db_host = 'localhost';
$config_db_user = 'barbass';
$config_db_pass = 'fKrfQRhrQ9CeCY5F';
$config_offline = 0;
define('_ISO','charset=utf-8');
$mosConfig_absolute_path = '/home/barbass/pvt/kladr';
$mosConfig_mailer = 'mail';
$mosConfig_mailfrom = 'pv@office.etersoft.ru';
$mosConfig_fromname = 'efio';
$mosConfig_sendmail = '/usr/sbin/sendmail';
$mosConfig_smtpauth = '0';
$mosConfig_smtpuser = '';
$mosConfig_smtppass = '';
$mosConfig_smtphost = 'localhost';
?>
This diff is collapsed. Click to expand it.
......@@ -2,10 +2,11 @@
<head>
<meta charset="utf-8" />
<!--<script src="etersoft_typos.js"></script>-->
<script src="jquery.js"></script>
</head>
<body><!--draggable="true"-->
<div id="e_typos_div" style="display:none; position:fixed; top:center; left:40%; background-color:#DDDDDD; border-radius:10px 10px 10px 10px; box-shadow:1px -1px 7px rgba(0, 0, 0, 0.5); width:300px; font-size:15px;">
<body>
<!--<div id="e_typos_div" draggable="true" style="display:none; background-color: gray; width:200px;">-->
<div id="e_typos_div" draggable="true" style="display:none; position:absolute; top:center; left:40%; background-color:#DDDDDD; border-radius:10px 10px 10px 10px; box-shadow:1px -1px 7px rgba(0, 0, 0, 0.5); width:300px; font-size:15px;">
<!--<div style="text-align:right"><a href="javascript:void(0)" onclick="e_typos_close()">Закрыть</a></div>-->
<table style="text-align:center;" style="width:200px; font-size: 15px;">
<tr>
......@@ -23,13 +24,27 @@
<td colspan="2" align="center"><div id="e_typos_error" style="display:none;"></div></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="button" onclick="e_typos_post_data()" value="Отправить"><input type="button" onclick="e_typos_close()" value="Отмена"></td>
<td colspan="2" align="center"><input type="button" onclick="e_typos_post_data()" value="Отправить"><input type="button" onclick="e_typos_close()" value="Закрыть"></td>
</tr>
</table>
</div>
</br>
<p>Ехал грека через реку. Не будет мира вне власти моей. Я тучка, тучка, тучка, я вовсе не медведь</p>
Нажмите Ctrl+Enter
<!--<script src="etersoft_typos.js"></script>-->
gfhgf
gfhgfh<br>
gfhgfh
gfhgf<br>
hfg
hgf
h
fg<br>
hgfh
gf<br>
hg
hgf<br>
g
hg
gf<br>
<script src="etersoft_typos.js"></script>
</body>
......@@ -5,11 +5,124 @@
*/
/*
el = document.getElementById("e_typos_div")
document.addEventListener('dragstart', function (e) {
e.dataTransfer.effectAllowed = 'copy'; // only dropEffect='copy' will be dropable
e.dataTransfer.setData('Text', this.id); // required otherwise doesn't work
}, true);
e.dataTransfer.effectAllowed = 'move'; // only dropEffect='copy' will be dropable
e.dataTransfer.setData('Text', this.id); // required otherwise doesn't work
}, true
);
document.addEventListener('dragover', function (e) {
if (e.preventDefault) {
e.preventDefault(); // Обязательно. Позволяет "бросать" элемент.
}
e.dataTransfer.dropEffect = 'move'; // смотри часть про DataTransfer.
return false;
});
document.addEventListener('drop', function (e) {
// this / e.target это элемент куда "бросают".
if (e.stopPropagation) {
e.stopPropagation(); // чтобы браузер не делал редирект.
}
// смотри часть про DataTransfer.
return false;
});*/
/*
function handleDragStart(e) {
// this это перетаскиваемый элемент
//e.dataTransfer.effectAllowed = 'move';
e.dataTransfer.setData('text/plain', a);
return false;
}
function handleDragOver(e) {
if (e.preventDefault) {
e.preventDefault(); // Обязательно. Позволяет "бросать" элемент.
}
e.dataTransfer.dropEffect = 'move'; // смотри часть про DataTransfer.
//this.addClassName('over');
return false;
}
function handleDrop(e) {
// this/e.target - перетаскиваемый элемент
if (e.stopPropagation) {
e.stopPropagation(); // отменяет переход по ссылке
}
e.preventDefault();
// Если ничего не перетащили - ничего не делаем.
// изменяем исходный код элементов
div = e.dataTransfer.getData('text/plain');
b.appendChild(div);
return false;
}
var div;
document.getElementById("e_typos_div").addEventListener('dragstart', handleDragStart, false);
document.getElementById("e_typos_div").addEventListener('dragover', handleDragOver, false);
document.getElementsByTagName("body")[0].addEventListener('drop', handleDrop, false);
var a=document.getElementById("e_typos_div");
var b = document.getElementsByTagName("body")[0];*/
/*
$('#e_typos_div')
.bind('dragstart', function(event) {
event.originalEvent.dataTransfer.setData('text/plain', $(this).attr('id'));
return true;
});
$('body')
.bind('dragenter', function(event) {
$(this).addClass('hover');
return false;
})
.bind('dragleave', function(event) {
$(this).removeClass('hover');
return false;
})
.bind('dragover', function() {
return false;
})
.bind('drop', function(event) {
$(this).removeClass('hover');
var id = event.originalEvent.dataTransfer.getData('text/plain');
$(this).append($('#' + id));
if (event.preventDefault) {
event.preventDefault();
}
});
*/
var a = document.getElementById("e_typos_div");
var b = document.getElementsByTagName("body");
a=addEventListener( 'dragstart', function (e) {
e.dataTransfer.effectAllowed = 'copy'; // only dropEffect='copy' will be dropable
e.dataTransfer.setData('e_typos_div', a); // required otherwise doesn't work
});
a=addEventListener('dragover', function (e) {
if (e.preventDefault) e.preventDefault(); // allows us to drop
this.className = 'over';
e.dataTransfer.dropEffect = 'copy';
return false;
});
a=addEventListener('dragenter', function (e) {
this.className = 'over';
return false;
});
a=addEventListener('dragleave', function () {
this.className = '';
});
a=addEventListener('drop', function (e) {
if (e.stopPropagation) e.stopPropagation(); // stops the browser from redirecting...why???
if (e.preventDefault) e.preventDefault();
a = e.dataTransfer.getData('e_typos_div');
b.parentNode.removeChild(a);
//var y =
return false;
});
//////////////////////////////////////////////////////
window.document.onkeydown = function(e) {
if (e.ctrlKey==1 && e.keyCode == 13) {
......@@ -69,7 +182,7 @@ function e_typos_post_data() {
mas2[1] = "email";
mas2[2] = "comment";
mas2[3] = "error_text";
ajax_query("http://barbass.pubsandbox.eterhost.ru/typos2/2.php"+"?url="+this_url+"&email="+user_email+"&comment="+user_comment+"&error_text="+select_text);
ajax_query("http://typos.barbass.sandbox.eterhost.ru/2.php"+"?url="+this_url+"&email="+user_email+"&comment="+user_comment+"&error_text="+select_text);
}
}
......@@ -80,7 +193,8 @@ function ajax_query(url) {
request = new XHR;//new XMLHttpRequest();
request.open("POST", url, true);
request.onload = function() {
e_typos_error("green", "Ваш текст:"+request.responseText+"<br/>Спасибо за ваше внимание");
var data = request.responseText;
e_typos_error(data['color'], "Ваш текст:"+data['text']+"<br/>"+data['error']);
}
request.onerror = function() {
e_typos_error("red", "Ошибка отправки данных. Повторите позже");
......@@ -90,12 +204,12 @@ function ajax_query(url) {
}
//Обработка ответа от сервера
function response_server(request) {
/*function response_server(request) {
if (request.onreadystatechange == 4) {
e_typos_error("green", "Ваш текст:"+select_text+"<br/>Спасибо за ваше внимание");
alert(request.responseText);
}
}
}*/
function e_typos_error(error, text) {
document.getElementById("e_typos_error").style.display = "block";
......
This diff is collapsed. Click to expand it.
<?php
define('_CMN_YES','Да');
define('_CMN_NO','Нет');
define('_PN_PAGE','Страница');
define('_PN_OF','из');
define('_PN_START','[В начало]');
define('_PN_PREVIOUS','[Пред]');
define('_PN_NEXT','[След]');
define('_PN_END','[В конец]');
define('_PN_DISPLAY_NR','На странице #');
define('_PN_RESULTS','Результаты');
define('_JAN','Январь');
define('_FEB','Февраль');
define('_MAR','Март');
define('_APR','Апрель');
define('_MAY','Май');
define('_JUN','Июнь');
define('_JUL','Июль');
define('_AUG','Август');
define('_SEP','Сентябрь');
define('_OCT','Октябрь');
define('_NOV','Ноябрь');
define('_DEC','Декабрь');
global $config_absolute_path;
/**
* Copy the named array content into the object as properties
* only existing properties of object are filled. when undefined in hash, properties wont be deleted
* @param array the input array
* @param obj byref the object to fill of any class
* @param string
* @param boolean
*/
function mosBindArrayToObject( $array, &$obj, $prefix=NULL, $checkSlashes=true ) {
if (!is_array( $array ) || !is_object( $obj )) {
return (false);
}
if ($prefix) {
foreach (get_object_vars($obj) as $k => $v) {
if (isset($array[$prefix . $k ])) {
$obj->$k = ($checkSlashes && get_magic_quotes_gpc()) ? stripslashes( $array[$k] ) : $array[$k];
}
}
} else {
foreach (get_object_vars($obj) as $k => $v) {
if (isset($array[$k])) {
$obj->$k = ($checkSlashes && get_magic_quotes_gpc()) ? stripslashes( $array[$k] ) : $array[$k];
}
}
}
return true;
}
// ----------------------------------------------------------------------------------
class mosHTML {
function makeOption( $value, $text='' ) {
$obj = new stdClass;
$obj->value = $value;
$obj->text = trim( $text ) ? $text : $value;
return $obj;
}
/**
* Generates an HTML select list
* @param array An array of objects
* @param string The value of the HTML name attribute
* @param string Additional HTML attributes for the <select> tag
* @param string The name of the object variable for the option value
* @param string The name of the object variable for the option text
* @param mixed The key that is selected
* @returns string HTML for the select list
*/
function selectList( &$arr, $tag_name, $tag_attribs, $key, $text, $selected=NULL ) {
reset( $arr );
$html = "\n<select name=\"$tag_name\" $tag_attribs>";
for ($i=0, $n=count( $arr ); $i < $n; $i++ ) {
$k = $arr[$i]->$key;
$t = $arr[$i]->$text;
$id = @$arr[$i]->id;
$extra = '';
$extra .= $id ? " id=\"" . $arr[$i]->id . "\"" : '';
if (is_array( $selected )) {
foreach ($selected as $obj) {
$k2 = $obj->$key;
if ($k == $k2) {
$extra .= " selected=\"selected\"";
break;
}
}
} else {
$extra .= ($k == $selected ? " selected=\"selected\"" : '');
}
$html .= "\n\t<option value=\"".$k."\"$extra>" . $t . "</option>";
}
$html .= "\n</select>\n";
return $html;
}
function yesnoSelectList( $tag_name, $tag_attribs, $selected, $yes=_CMN_YES, $no=_CMN_NO ) {
$arr = array(
mosHTML::makeOption( '0', $no ),
mosHTML::makeOption( '1', $yes ),
);
return mosHTML::selectList( $arr, $tag_name, $tag_attribs, 'value', 'text', $selected );
}
}
function mosRedirect( $url, $msg='' ) {
// specific filters
$iFilter = new InputFilter();
$url = $iFilter->process( $url );
$msg = $iFilter->process( $msg );
if ($iFilter->badAttributeValue( array( 'href', $url ))) {
$url = $GLOBALS['mosConfig_live_site'];
}
if (trim( $msg )) {
if (strpos( $url, '?' )) {
$url .= '&mosmsg=' . urlencode( $msg );
} else {
$url .= '?mosmsg=' . urlencode( $msg );
}
}
if (headers_sent()) {
echo "<script>document.location.href='$url';</script>\n";
} else {
@ob_end_clean(); // clear output buffer
header( "Location: $url" );
}
exit();
}
define( "_MOS_NOTRIM", 0x0001 );
define( "_MOS_ALLOWHTML", 0x0002 );
function mosGetParam( &$arr, $name, $def=null, $mask=0 ) {
$return = null;
if (isset( $arr[$name] )) {
if (is_string( $arr[$name] )) {
if (!($mask&_MOS_NOTRIM)) {
$arr[$name] = trim( $arr[$name] );
}
if (!($mask&_MOS_ALLOWHTML)) {
$arr[$name] = strip_tags( $arr[$name] );
}
if (!get_magic_quotes_gpc()) {
$arr[$name] = addslashes( $arr[$name] );
}
}
return $arr[$name];
} else {
return $def;
}
}
?>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment