Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
retypos-webclient
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
eterfund
retypos-webclient
Commits
8066b045
Commit
8066b045
authored
Dec 13, 2016
by
Vitaly Lipatov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
last changes
parent
131224ce
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
101 additions
and
22 deletions
+101
-22
etersoft_typos.js
etersoft_typos.js
+82
-19
etersoft_typos_language-ru.js
etersoft_typos_language-ru.js
+15
-0
example.html
example.html
+1
-0
functions.php
functions.php
+1
-1
language.php
language.php
+2
-2
No files found.
etersoft_typos.js
View file @
8066b045
...
...
@@ -5,30 +5,99 @@
*/
function
ETYPOS
(
options
)
{
/*//время последнего запроса
this.last_query_time = 0;
//сайт обработки опечаток
this.server_url = "http://barbass.pubsandbox.eterhost.ru/typos/server.php";
//текст ошибок
this.error = '';
//язык по умочланияю
this.default_language = 'ru';
//данные для отправки (сайт страницы, текст с ошибкой, комментарий, язык, броузер)
this.userdata = {
'url': '',
'text': '',
'comment': '',
'language': this.default_language,
'old_browser': 0,
};
this.language = [];
this.language['ru'] = {
'error_url': 'Не определен URL сайта',
'error_text': 'Текст не выделен',
'error_text_length': 'Длина текста должна быть от %s до %s символов (сейчас: %s)',
'error_comment': 'Длина комментария должна быть до 30 символов (сейчас: %s)',
'error_time_activity': 'Вы слишком часто отправляете данные',
'error_response': 'Ошибка при получении ответа',
'error_parse_reposnse': 'Ошибка при обработке ответа',
'error_post_data': 'Ошибка отправки данных. Повторите позже',
'error_userdata': 'userdata is not Object',
'text_post_data': 'Идет отправка данных...',
'text_success': 'Спасибо за ваше внимание!',
};*/
this
.
init
(
options
);
}
ETYPOS
.
prototype
=
{
//время последнего запроса
last_query_time
:
0
,
last_query_time
:
0
,
//сайт обработки опечаток
server_url
:
"http://barbass.pubsandbox.eterhost.ru/typos/server.php"
,
//текст ошибок
error
:
''
,
//язык по умочланияю
default_language
:
'ru'
,
//данные для отправки (сайт страницы, текст с ошибкой, комментарий, язык, броузер)
userdata
:
{
'url'
:
''
,
'text'
:
''
,
'comment'
:
''
,
'language'
:
'ru'
,
'language'
:
this
.
default_language
,
'old_browser'
:
0
,
},
language
:
{
'ru'
:
{
'error_url'
:
'Не определен URL сайта'
,
'error_text'
:
'Текст не выделен'
,
'error_text_length'
:
'Длина текста должна быть от %s до %s символов (сейчас: %s)'
,
'error_comment'
:
'Длина комментария должна быть до 30 символов (сейчас: %s)'
,
'error_time_activity'
:
'Вы слишком часто отправляете данные'
,
'error_response'
:
'Ошибка при получении ответа'
,
'error_parse_reposnse'
:
'Ошибка при обработке ответа'
,
'error_post_data'
:
'Ошибка отправки данных. Повторите позже'
,
'error_userdata'
:
'userdata is not Object'
,
'text_post_data'
:
'Идет отправка данных...'
,
'text_success'
:
'Спасибо за ваше внимание!'
,
}
},
init
:
function
(
options
)
{
this
.
options
=
(
options
)
?
options
:
{};
if
(
this
.
options
[
'server_url'
])
{
this
.
server_url
=
this
.
options
[
'server_url'
];
}
if
(
this
.
options
[
'language'
])
{
if
(
this
.
language
[
this
.
options
[
'language'
]])
{
this
.
default_language
=
this
.
options
[
'language'
];
this
.
userdata
[
'language'
]
=
this
.
default_language
;
}
}
this
.
request
=
new
(
window
.
XDomainRequest
||
window
.
XMLHttpRequest
);
...
...
@@ -70,28 +139,22 @@ ETYPOS.prototype = {
/*Проверка данных перед отправкой*/
validateData
:
function
()
{
if
(
!
this
.
userdata
)
{
throw
new
Error
(
"Not found userdata-object!"
);
return
false
;
}
if
(
typeof
(
this
.
userdata
)
!=
'object'
)
{
throw
new
Error
(
"userdata is not object!"
);
throw
new
Error
(
this
.
language
[
this
.
default_language
][
'error_userdata'
]
);
return
false
;
}
if
(
this
.
userdata
[
'url'
]
==
''
)
{
this
.
error
=
"Не определен URL сайта"
;
this
.
error
=
this
.
language
[
this
.
default_language
][
'error_url'
]
;
return
false
;
}
if
(
!
this
.
userdata
[
'language'
])
{
this
.
userdata
[
'language'
]
=
'ru'
;
return
false
;
this
.
userdata
[
'language'
]
=
this
.
default_language
;
}
if
(
!
this
.
userdata
[
'text'
])
{
this
.
error
=
"Текст не выделен"
;
this
.
error
=
this
.
language
[
this
.
default_language
][
'error_text'
]
;
return
false
;
}
...
...
@@ -100,7 +163,7 @@ ETYPOS.prototype = {
return
false
;
}
if
(
this
.
userdata
[
'comment'
].
length
>
5
0
)
{
if
(
this
.
userdata
[
'comment'
].
length
>
3
0
)
{
this
.
error
=
"Комментарий должен быть длиной до 30 символов (сейчас: "
+
this
.
userdata
[
'comment'
].
length
+
")"
;
return
false
;
}
...
...
@@ -152,7 +215,7 @@ ETYPOS.prototype = {
window
.
open
(
this
.
server_url
+
'?old_browser='
+
encodeURIComponent
(
this
.
userdata
[
'old_browser'
])
+
'&url='
+
encodeURI
(
this
.
userdata
[
'url'
])
+
'&comment='
+
encodeURIComponent
(
this
.
userdata
[
'comment'
])
+
'&text='
+
encodeURIComponent
(
this
.
userdata
[
'text'
]
+
'&language='
+
encodeURIComponent
(
this
.
userdata
[
'language'
])),
'_blank'
);
window
.
parent
.
focus
();
this
.
printMessage
(
"success"
,
"Спасибо за ваше внимание"
);
this
.
printMessage
(
"success"
,
this
.
language
[
this
.
default_language
][
'text_success'
]
);
window
.
setTimeout
(
function
()
{
this_object
.
closeWindow
();},
4000
);
return
true
;
...
...
@@ -170,14 +233,14 @@ ETYPOS.prototype = {
}
if
(
!
this
.
checkTime
())
{
this
.
printMessage
(
"error"
,
"Не отправляйте данные часто!"
);
this
.
printMessage
(
"error"
,
this
.
language
[
this
.
default_language
][
'error_time_activity'
]
);
return
false
;
}
else
{
this
.
last_query_time
=
this
.
getTime
();
this
.
setStorage
(
"etersoft_typos/"
+
window
.
location
.
hostname
+
""
,
this
.
getTime
());
}
this
.
printMessage
(
"attention"
,
"Идет отправка данных..."
);
this
.
printMessage
(
"attention"
,
this
.
language
[
this
.
default_language
][
'text_post_data'
]
);
this
.
request
.
open
(
"POST"
,
this
.
server_url
,
true
);
...
...
@@ -195,14 +258,14 @@ ETYPOS.prototype = {
}
this_object
.
printMessage
(
success
,
response
[
'message'
]);
}
else
{
this_object
.
printMessage
(
'attention'
,
"Ошибка при получении ответа"
);
this_object
.
printMessage
(
'attention'
,
this
.
language
[
this
.
default_language
][
'error_response'
]
);
}
}
catch
(
e
)
{
this_object
.
printMessage
(
'error'
,
"Ошибка при обработке ответа"
);
this_object
.
printMessage
(
'error'
,
this
.
language
[
this
.
default_language
][
'error_response_parse'
]
);
}
};
this
.
request
.
onerror
=
function
()
{
this_object
.
printMessage
(
"error"
,
"Ошибка отправки данных. Повторите позже"
);
this_object
.
printMessage
(
"error"
,
this
.
language
[
this
.
default_language
][
'error_post_data'
]
);
};
this
.
request
.
send
(
form_data
);
},
...
...
etersoft_typos_language-ru.js
0 → 100644
View file @
8066b045
ETYPOS
.
prototype
.
language
[
'ru'
]
=
{
'error_url'
:
'Не определен URL сайта'
,
'error_text'
:
'Текст не выделен'
,
'error_text_length'
:
'Длина текста должна быть от %s до %s символов (сейчас: %s)'
,
'error_comment'
:
'Длина комментария должна быть до 30 символов (сейчас: %s)'
,
'error_time_activity'
:
'Вы слишком часто отправляете данные'
,
'error_response'
:
'Ошибка при получении ответа'
,
'error_response_parse'
:
'Ошибка при обработке ответа'
,
'error_post_data'
:
'Ошибка отправки данных. Повторите позже'
,
'error_userdata'
:
'userdata is not Object'
,
'text_post_data'
:
'Идет отправка данных...'
,
'text_success'
:
'Спасибо за ваше внимание!'
,
};
example.html
View file @
8066b045
...
...
@@ -3,6 +3,7 @@
<meta
charset=
"utf-8"
/>
<title>
Сервис опечаток
</title>
<script
src=
"etersoft_typos.js"
></script>
<script
src=
"etersoft_typos_language-ru.js"
></script>
<link
type=
"text/css"
href=
"stylesheet.css"
rel=
"stylesheet"
/>
</head>
<body>
...
...
functions.php
View file @
8066b045
...
...
@@ -122,7 +122,7 @@ function validate() {
}
if
(
strlen
(
getRequest
(
'comment'
,
''
))
>
30
)
{
$
_language
[
'ru'
][
'error_comment'
]
=
sprintf
(
$_language
[
$code_language
][
"error_text"
],
30
,
strlen
(
getRequest
(
'text'
,
''
)));
$
error
=
sprintf
(
$_language
[
$code_language
][
"error_text"
]
,
strlen
(
getRequest
(
'text'
,
''
)));
return
false
;
}
return
true
;
...
...
language.php
View file @
8066b045
...
...
@@ -9,7 +9,7 @@ $_language['ru']['error_header'] = "Отсутствуют ip или загол
$_language
[
'ru'
][
'error_url'
]
=
"Отсутствует url сайта"
;
$_language
[
'ru'
][
'error_valid_url'
]
=
"Не верный формат url-а сайта"
;
$_language
[
'ru'
][
'error_text'
]
=
"Длина текста должна быть от %s до %s символов (сейчас: %s)"
;
$_language
[
'ru'
][
'error_comment'
]
=
"Длина комментария должна быть до
%s символов (сейчас: %s)
"
;
$_language
[
'ru'
][
'error_comment'
]
=
"Длина комментария должна быть до
30 символов (сейчас: %s)
"
;
$_language
[
'ru'
][
'error_support_site'
]
=
"Сайт не поддерживается"
;
//Success
...
...
@@ -22,7 +22,7 @@ $_language['ru']['mail_error'] = "Ошибка при отправлении п
$_language
[
'ru'
][
'mail_site'
]
=
"Сайт:"
;
$_language
[
'ru'
][
'mail_url'
]
=
"Ссылка:"
;
$_language
[
'ru'
][
'mail_click_url'
]
=
"нажмите
:
"
;
$_language
[
'ru'
][
'mail_click_url'
]
=
"нажмите"
;
$_language
[
'ru'
][
'mail_comment'
]
=
"Комментарий:"
;
$_language
[
'ru'
][
'mail_text'
]
=
"Текст с опечаткой:"
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment