One Hat Cyber Team
Your IP :
216.73.216.164
Server IP :
194.44.31.54
Server :
Linux zen.imath.kiev.ua 4.18.0-553.77.1.el8_10.x86_64 #1 SMP Fri Oct 3 14:30:23 UTC 2025 x86_64
Server Software :
Apache/2.4.37 (Rocky Linux) OpenSSL/1.1.1k
PHP Version :
5.6.40
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
nosc
/
public_html
/
admin
/
Edit File:
.giosavePN5VTX
<? require_once("../functions_gen.php"); include_once("mimemail.inc.php"); require_once("lib/Swift.php"); require_once("lib/Swift/Connection/Sendmail.php"); //Try to connect using /usr/sbin/sendmail -bs //$swift = new Swift(new Swift_Connection_Sendmail()); $sendmail =& new Swift_Connection_Sendmail(); $sendmail -> setTimeout(3); //3 seconds $swift =& new Swift($sendmail); //------ $_editor_codes= array(2,3,4,1,0); $nav_links=array("index.php" => enruua("Main page","Главная страница управления", "Головна сторінка керування"), "manage_authors.php" => enruua("Table of authors","Таблица авторов","Таблиця авторів"), "manage_articles.php" => enruua("Table of articles","Таблица статей","Таблиця статей")); define("__LETTERS", "Letters"); define("__LETTERS_SENT", "LSent"); //------------------------------ //final version files function article_file_basename($id) { $art=article($id); $i = get_article_info($art); $s = $i['status']; $smeaning = article_status_meaning($s); if ($smeaning=="published") { } else return NULL; } function article_dir_name($id) { global $_root_path; return $_root_path."/admin/private/published_files/".$id; } function article_dir_name_web($id) { global $_root; return $id? $_root."/admin/private/published_files/".$id : NULL; } function referee_status($ref) { $s = ""; $go = TRUE; if ($ref['id']) { if (is_valid_date($ref['cancelled'])) { $s = "cancelled"; $go = FALSE; } if ($go && (!$ref['agrees'])) { $s = "declined"; $go = FALSE; } if ($go && ($ref['agrees'])) { $s = "agreed"; $go = FALSE; } } return $s; } function language_select_admin($page="") { global $_root,$lang,$volume,$number,$id_selected,$todo,$menu_item,$session,$db_handle; if (!$page) $page = $_SERVER['PHP_SELF']; echo "<table width=\"100%\">\n"; echo "<td>"; echo "<form action=\"".$page."\" method=\"post\">"; while (list($key, $val) = each($_GET)) { //if(($key!="username")&&($key!="password")) echo pass($key,$val); } while (list($key, $val) = each($_POST)) {//if(($key!="username")&&($key!="password")) echo pass($key,$val); } //pass('revision_id',$revision_id); echo "<select name=lang>\n"; echo "<option "; if($lang=="en") echo " selected "; echo "value=\"en\">".enruua("English","английский","англійська")."</option>\n"; echo "<option "; if($lang=="ru") echo " selected "; echo "value=\"ru\">".enruua("Russian","русский","російська")."</option>\n"; echo "<option "; if($lang=="ua") echo " selected "; echo "value=\"ua\">".enruua("Ukrainian","украинский","українська")."</option>\n"; echo "</select>\n"; echo "<input type=submit value=\"".enruua("Change language","Изменить язык","Змінити мову")."\">"; echo "</form>\n"; echo "</td>"; if($session->logged_in) { if ( isset($_POST['master_mode']) && (is_allowed_master_mode()) ) set_master_mode($_POST['master_mode']); //$_SESSION['master_mode'] = TRUE; echo "<td>".say_greetings().", ".plain_short_name($session->author_id,FALSE)."! " .current_user_level_draw()."</td>"; echo "<td>"; if ($_SESSION['master_mode'])//(is_master_mode()) $mm = enruua("Master mode","Опасный режим","Небезпечний режим"); else $mm = enruua("Ordinary mode","Обычный режим","Звичайний режим"); if (is_allowed_master_mode()) { if (is_master_mode()) { $onoff = FALSE; $i = 8;} else { $onoff= TRUE; $i=7; } echo user_level_text($mm,$i); echo "<form action=\"".$page."\" method=\"post\">"; while (list($key, $val) = each($_GET)) { //if(($key!="username")&&($key!="password")) echo pass($key,$val); } while (list($key, $val) = each($_POST)) {//if(($key!="username")&&($key!="password")) echo pass($key,$val); } echo "<INPUT TYPE=\"HIDDEN\" name=\"master_mode\" value=\"". $onoff ."\">"; echo "<input type=image src=\"".$_root."/pixmaps/Off.png\" width=\"22px\">"; //echo "<INPUT TYPE=\"SUBMIT\" VALUE=\"+-\">"; echo "</form>\n"; } echo "</td>"; }//if logged in echo "</table>"; }//language_select_admin function purge_referee($ref,$echo=FALSE) { $e = ""; if ($ref['id']) { $dir_rep = revision_report_dir_name($ref['id']); if (file_exists($dir_rep)) $e = $e. purge_dir($dir_rep,TRUE,$echo); mysql_query("delete from Referees where id='".$ref['id']."'"); mysql_query("delete from Reminders where referee_entry_id='".$ref['id']."'"); mysql_query("delete from Reminders2 where referee_entry_id='".$ref['id']."'"); } } function delete_revision($revision_id,$echo=FALSE) { $e = ""; $rev = revision($revision_id); if ($rev['id']) { $dir = revision_dir_name($rev['id']); if (file_exists($dir)) $e = $e. purge_dir($dir,TRUE,$echo); $refs = referees($rev); foreach ($refs as $ref) { $e = $e . purge_referee($ref,$echo); // tell("Purging Referee No.".$ref['id']); } //*only* now delete mysql_query("delete from Revisions where id='".$rev['id']."'"); } return $e; } function init_letter_preparation($ref,$rev,$message) { global $_journal,$lang; $t = ""; if ($ref['referee_id']) /// { $res = mysql_query("select * from Authors where id='".$ref['referee_id']."'"); if (!$res) dye(mysql_error()); $r = mysql_fetch_array($res);// should be unique $t = $t . "<form name=\"request_referee".$ref['id']."\" action=referee_request_compose.php method=\"post\">"; $t = $t . pass("lang",$lang); $t = $t . pass("formal",0); $t = $t . pass_GET(); $t = $t . pass_POST(); $t = $t . pass("revision_id",$rev['id']); $t = $t . pass("message",$message); // $t = $t . pass("id_selected",$rev['article_id']); $t = $t . pass("referee_entry_id",$ref['id']); $t = $t . pass("your_email_address",$_journal['email']); //$t = $t . pass("email",$r['email']); $t = $t . pass("type",$type); $t = $t . "<input type=\"submit\" value=\"".enruua("Compose and send now", "Составить и послать сейчас", "Скласти та надіслати зараз")."\">"; $t = $t . "</form>\n"; } else { $t = "Error ".$ref['id']; } return $t; }// init_letter_preparation function letter_opening ($person,$formal=TRUE,$language="",$type="TEXT") { global $_sexes,$_journal; if (is_valid_language($language)) $l = $language; else $l = preferred_language($person); $sex = (in_array($person['sex'], array("M","F"))) ? $person['sex'] : FALSE; $t=""; switch ($sex) { case "M": $t = $t . enruua_var($l,"Dear","Уважаемый","Шановний")." " .gen_salutation($person,$l,$formal); break; case "F": $t = $t . enruua_var($l,"Dear","Уважаемая","Шановна")." " .gen_salutation($person,$l,$formal); break; default: $t = $t . enruua_var($l,"Dear colleague","Уважаемый коллега","Шановний колего").""; break; } $t = $t . enruua_var($l,",", "!","!"); if (strtoupper($type)=="HTML") $t = par($t,$type); else $t = $t."\n"; return $t; }//letter_opening function letter_closing ($person,$formal=TRUE,$language="",$type="TEXT",$sigs=NULL) { global $_sexes,$_journal; if (is_valid_language($language)) $l = $language; else $l = preferred_language($person); $t = ""; if (!$formal) { $t = $t. par(enruua_var($l,"Sincerely yours", "С уважением", "З повагою")."," , $type); } else { $t = $t. par(enruua_var($l,"Yours faithfully", "С уважением", "З повагою")."," , $type); } // the name of the sender $sender_id = get_person_id_by_signatures($sigs); $person_name = plain_short_name($sender_id,FALSE,$l,$type); $t = $t . par($person_name,$j); if ((is_array($sigs)) && ($sender_id)) { foreach ($sigs as $sig_id) { $sig = signature($sig_id); $t = $t . par($sig['signature_'.$l] , $type); } } else { /*$t = $t. linebreak($type). enruua_var($l,"Editorial Board of", "редакция журнала","редакція журналу")." " .quote($_journal['name'][$l],$l,'TEXT') ."\n";*/ $t = $t . par (href($_journal['webpage'],$type) , $type); } return $t; }//letter_closing function letter_closing_robot ($person,$formal="1",$language="",$type="TEXT") { global $_sexes,$_journal; if (is_valid_language($language)) $l = $language; else $l = preferred_language($person); $t = ""; if (!$formal) { $t = $t . linebreak($type); $t = $t. "\n" . enruua_var($l,"Electronically yours", "С электронным приветом", "З елекронним привітом").",\n"; } $t = $t. linebreak($type). enruua_var($l,"Database administration system of the journal", "Система управления базой данных журнала", "Система керування базою даних журналу")." " .quote($_journal['name'][$l],$l,'TEXT') ."\n"; $t = $t ."\n" . $_journal['webpage']; return $t; } function compose_message($arguments) { $args = func_get_args(); if (is_array ($args[0])) $args = $args[0]; $msg = array(); foreach (array('HTML','TEXT') as $j) { foreach ($args as $a) $msg[$j] = $msg[$j]. par($a,$j); } return $msg; } function notify_editors_message_sent_full($person,$msg,$subj,$sent_to="") { global $session; $el = editorial_language(); $person_name = plain_short_name($person['id'],FALSE,$el,'TEXT'); foreach (array('HTML','TEXT') as $j) { $msgf[$j] = par(enruua_var($el, "This is to inform you that an email has been sent on behalf of the editors", "Сообщаю, что от имени редакции было отправлено электронное сообщение", "Повідомляю, що від імені редколегії було надіслано електронне повідомлення"),$j) .enruua_var($el,"RECIPIENT","ПОЛУЧАТЕЛЬ","АДРЕСАТ").": " . person_name($person,$el,"HTML"). br($j) .enruua_var($el,"MESSAGE SUBJECT","ТЕМА","ТЕМА").": " . $subj. br($j) . (($sent_to) ? enruua_var($el,"ADDRESSES","АДРЕСА","АДРЕСИ").": ". $sent_to . br($j) : "" ) .enruua_var($el,"EXECUTED BY","ВЫПОЛНИЛ","ВИКОНАВ")." " . person_name(current_person(),$el,"TEXT") . br($j) . par("*** " . enruua_var($el,"MESSAGE BEGIN","НАЧАЛО СООБЩЕНИЯ","ПОЧАТОК ПОВІДОМЛЕННЯ") ." ***",$j) . $msg[$j] . par("*** " . enruua_var($el,"MESSAGE END","КОНЕЦ СООБЩЕНИЯ","КІНЕЦЬ ПОВІДОМЛЕННЯ") . " ***",$j); } notify_editors_full($msgf,"MESSAGE COPY (" . $person_name. ")"); } function notify_editors_message_sent($person,$msg,$subj,$sent_to="") { global $session; $el = editorial_language(); notify_editors_message_sent_full($person,array('TEXT'=> $msg, 'HTML'=> nl2br($msg)),$subj,$sent_to); //notify_editors_full($msgf,"MESSAGE COPY (" . $person_name. ")"); } function notify_person_username_created($person,$username,$raw_password,$formal=TRUE,$language="",$regenerate_flag="") { global $_sexes,$_journal; if (is_valid_language($language)) $l = $language; else $l = preferred_language($person); if ($regenerate_flag) { $subject = $_journal['name'][$l].": " .enruua_var($l,"User name re-created","изменен код доступа","змінено код доступу") . " (".$person['id'] .")"; $body = gen_message_person_username_changed($person,$username,$raw_password,$formal,$l); } else { $subject = $_journal['name'][$l].": " .enruua_var($l,"User name created","присвоен код доступа","присвоєно код доступу") . " (".$person['id'] .")"; $body = gen_message_person_username_created($person,$username,$raw_password,$formal,$l); } $res = notify_person_full($person,$body,$subject,TRUE,NULL); //($person,$message,$subject,$send_to_all=TRUE,$files=NULL,$tell=FALSE) //notify_editors_message_sent($person,$body,$subject); return $res; } /* //old function notify_person_username_created($person,$username,$raw_password,$formal=TRUE,$language="",$regenerate_flag="") { global $_sexes,$_journal; if (is_valid_language($language)) $l = $language; else $l = preferred_language($person); $p = primary_email($person); $e = email($p); if ($e['email_field']) { $mail = new MIMEMAIL("TEXT"); $mail->senderName = $_journal['name']['en']; $mail->senderMail = $_journal['email']; if ($regenerate_flag) { $mail->subject = $_journal['name']['en'].": " .enruua_var("en","User name re-created", "Изменен код доступа", "Змінено код доступу") . " (".$person['id'] .")"; $mail->body = letter_opening ($person,$formal,$l) . gen_message_person_username_changed($person,$username,$raw_password,$formal,$l) . letter_closing ($person,$formal,$l); } else { $mail->subject = $_journal['name']['en'].": " .enruua_var("en","User name created", "Присвоен код доступа", "Присвоєно код доступу") . " (".$person['id'] .")"; $mail->body = letter_opening ($person,$formal,$l) . gen_message_person_username_created($person,$username,$raw_password,$formal,$l) . letter_closing ($person,$formal,$l); } $mail->create(); $mail->send($e['email_field']); $res = TRUE; notify_editors_message_sent($person,$mail->body,$mail->subject); } else { $res = FALSE; //nothing } return $res; } */ function gen_message_person_username_created_old($person,$username,$raw_password,$formal=TRUE,$language="") { global $_sexes,$_journal; if (is_valid_language($language)) $l = $language; else $l = preferred_language($person); foreach (array("HTML","TEXT") as $j) { $t[$j] = par(enruua_var($l,"The following user name and password have been created for your access to the internal part of the electronic database of the journal","Для доступа к служебной части электронной базы данных журнала","Для доступу до службової частини електронної бази даних журналу") . " " . journal_webpage_link($l,TRUE,$j) . enruua_var($l,""," Вам предоставлены следующие код пользователя и пароль"," Вам надано наступні код користувача та пароль"). ":", $j) . par(bold(enruua_var($l, "User name", "Код пользователя", "Код користувача").": ",$j) . $username. br($j), $j) . bold(enruua_var($l, "Password", "Пароль", "Пароль").": " . $raw_password, $j) /* . par(enruua_var($l,"User name","Код пользователя","Код користувача").": ". $username,$j) . par(enruua_var($l,"Password","Пароль","Пароль").": ". $raw_password, $j)*/ . par(enruua_var($l, "You can log in directly at the", "Вход в систему производится с", "Вхід у систему здійснюється з") . " ". journal_webpage_link($l,FALSE,$j,enruua_var($l,"main web page of the journal", "главной web-страницы журнала", "головної web-сторінки журналу") . "."), $j) //.par($_journal['loginpage'],$j) //.journal_webpage_link($l,TRUE,$j,$_journal['webpage']) . par(enruua_var($l, "Please note that the password indicated above is known to you only and", "Обращаем Ваше внимание на то, что указанный выше пароль известен только Вам", "Звертаємо Вашу увагу на те, що вказаний вище пароль відомий лише Вам") . ", " . enruua_var($l, "therefore, we advise you to keep this message", "и поэтому советуем сохранить текст настоящего письма", "і тому радимо зберегти текст цього листа")."." . " " . enruua_var($l, "The authentication data given above have unlimited validity period", "Приведенные реквизиты имеют неограниченный срок действия", "Наведені реквізити мають необмежений термін дії"). ".", $j); } return $t; } function gen_message_person_username_created($person,$username,$raw_password,$formal,$language="") { global $_sexes,$_journal; if (is_valid_language($language)) $l = $language; else $l = preferred_language($person); foreach (array("HTML","TEXT") as $j) { $t[$j] = par(enruua_var($l,"The following user name and password have been created for your access to the internal part of the electronic database of the journal","Для доступа к служебной части электронной базы данных журнала","Для доступу до службової частини електронної бази даних журналу") . " " . journal_webpage_link ($l,TRUE,$j) . enruua_var($l,""," Вам предоставлены следующие код пользователя и пароль"," Вам надано наступні код користувача та пароль").":",$j) .par(enruua_var($l,"Login","Код пользователя","Код користувача").": ". $username .br($j).enruua_var($l,"Password","Пароль","Пароль").": ". $raw_password,$j) /*. par(bold(enruua_var($l, "User name", "Код пользователя", "Код користувача").": ",$j) . $username, $j) .par(bold(enruua_var($l, "Password", "Пароль", "Пароль").": ",$j) . $raw_password, $j)*/ . par(enruua_var($l, "You can log in directly at the", "Вход в систему производится с", "Вхід у систему здійснюється з") . " ". journal_webpage_link($l,FALSE,$j,enruua_var($l,"main Web page of the journal", "главной интернет-страницы журнала", "головної інтернет-сторінки журналу") . "."), $j) //.par($_journal['loginpage'],$j) .par(enruua_var($l,"Please note that the password indicated above is known to you only and", "Обращаем Ваше внимание на то, что указанный выше пароль известен только Вам", "Звертаємо Вашу увагу на те, що вказаний вище пароль відомий лише Вам") . ", " . enruua_var($l, "therefore, we advise you to keep this message", "и поэтому советуем сохранить текст настоящего письма", "і тому радимо зберегти текст цього листа")."." . " ".enruua_var($l, "The authentication data given above have unlimited validity period", "Приведенные реквизиты имеют неограниченный срок действия", "Наведені реквізити мають необмежений термін дії").".",$j) . par(enruua_var($l, "We are looking forward to successful cooperation with you", "Искренне надеемся, что наше сотрудничество будет успешным", "Щиро сподіваємося, що наша співпраця буде успішною").".",$j); } return $t; } function gen_message_person_username_changed($person,$username,$raw_password,$formal,$language="") { global $_sexes,$_journal; if (is_valid_language($language)) $l = $language; else $l = preferred_language($person); foreach (array("HTML","TEXT") as $j) { $t[$j] = par(enruua_var($l,"Due to technical reasons, the user name and password assigned for your access to the internal part of the electronic database of the journal","Предоставленные Вам Для доступа к служебной части электронной базы данных журнала", "Надані Вам для доступу до службової частини електронної бази даних журналу") . " " // . quote($_journal['name'][$l],$l,"TEXT") . " " .journal_webpage_link($l,TRUE,$j) . " ".enruua_var($l,"have been changed. Your new authentication requisites are given below", "код пользователя и пароль по техническим причинам были изменены. Ваши новые реквизиты таковы", "код користувача та пароль з технічних причин було змінено. Ваші нові реквізити такі").":",$j) .par(enruua_var($l,"Login","Код пользователя","Код користувача").": ". $username .br($j).enruua_var($l,"Password","Пароль","Пароль").": ". $raw_password,$j) /*. par(bold(enruua_var($l, "User name", "Код пользователя", "Код користувача").": ",$j) . $username, $j) .par(bold(enruua_var($l, "Password", "Пароль", "Пароль").": ",$j) . $raw_password, $j)*/ .par(enruua_var($l,"Let us recall that you can log in directly at the", "Напоминаем, что войти в систему можно непосредственно с", "Нагадуємо, що увійти до системи можна безпосередньо з") ." ". journal_webpage_link($l,FALSE,$j,enruua_var($l,"main web page of the journal","главной web-страницы журнала","головної web-сторінки журналу")) .".", $j) //.par($_journal['loginpage'],$j) .par(enruua_var($l,"Please note that the password indicated above is known to you only and", "Обращаем Ваше внимание на то, что указанный выше пароль известен только Вам", "Звертаємо Вашу увагу на те, що вказаний вище пароль відомий лише Вам") . ", " . enruua_var($l, "therefore, we advise you to keep this message", "и поэтому советуем сохранить текст настоящего письма", "і тому радимо зберегти текст цього листа")."." . " ".enruua_var($l, "The authentication data given above have unlimited validity period", "Приведенные реквизиты имеют неограниченный срок действия", "Наведені реквізити мають необмежений термін дії").".",$j) . par(enruua_var($l, "We apologise for any inconveniences that may arise due to the password change", "Просим прощения за возможные неудобства, связанные с изменением пароля", "Перепрошуємо за можливі незручності, пов'язані зі зміною пароля").".",$j); } return $t; } function gen_message_refereeing_request($person,$formal,$referee_entry_id=0,$revision_id=0,$language="",$files=NULL) { global $_sexes,$_journal; $rev= revision($revision_id); $pr_rev = previous_revision($rev); $pr_referees = referees($pre_rev); $a = article(article_of_revision($rev['id'])); // print_r($a); if (is_valid_language($language)) $l = $language; else $l = preferred_language($person); //tell ("l=".$l); $authors = article_authors($a,$l); $get_u = get_username($person['id'],$person['id']); //$user = user($get_u['username']); if ((!$rev['id']) || (!$person['id']) || (!$referee_entry_id)) $t= ""; else { $t = ""; $is_in = is_in_referees($person,$pr_rev); if ($is_in) // if (is_in_referees(person(182),revision(994))) { $t = $t . enruua_var($l,"We would be most grateful if you could kindly check the manuscript", "Будем Вам весьма благодарны, если Вы ознакомитесь с рукописью", "Будемо Вам вельми вдячні, якщо Ви ознайомитеся з рукописом") . " " .enruua_var($l,"No.","номер","номер"). " ".show_revision_number($rev). " " .enruua_var($l,"of the paper", "статьи", "статті") . " " . quote(article_title($a,$l),$l,'TEXT').""; } else { $t = $t. enruua_var($l,"The Editorial Board of the journal", "Редакция журнала","Редакція журналу")." " .quote($_journal['name'][$l],$l,'TEXT')." "; $t = $t . enruua_var($l,"would like to ask you to referee manuscript", "просит Вас выступить в качестве рецензента рукописи", "просить Вас виступити в якості рецензента рукопису")." " .enruua_var($l,"No.","номер","номер"). " ".show_revision_number($rev). " ". " " .enruua_var($l,"of the paper","статьи","статті"). " " . quote(article_title($a,$l),$l,'TEXT'); } if (count($authors)>1) $t = $t . "" . enruua_var($l," by",", авторами которой являются",", авторами якої є"). " "; else $t = $t . "" . enruua_var($l," by",", автором которой является",", автором якої є"). " "; $t = $t . andify($authors,$l) . ". "; if ($is_in) { $t = $t . " ".enruua_var($l,"This is a revised version of manuscript", "Это - переработанная версия рукописи", "Це - перероблена версія рукопису") ." ".enruua_var($l,"No.","номер","номер")." ". show_revision_number($pr_rev) .enruua_var($l," assigned to you for refereeing", ", которую рецензировали Вы", ", яку рецензували Ви")."."; } $c= count($files); if ($c) { $t = $t . " ". enruua_var($l,"Enclosed please find thе electronic version of the manuscript", "Электронный вариант рукописи прилагается", "Електронна версія рукопису додається")."."; /* $t = $t . " (" .say_ordinal($c,enruua_var($l,"file","файл","файл"), enruua_var($l,"files","файла","файли"), enruua_var($l,"files","файлов","файлів")) . ")"; */ } $t = $t . "\n"; if (!$is_in) { $t = $t . "\n". enruua_var($l, "In order to inform us of your ability or inability to review the paper, please log in at the address", "О Вашем согласии или несогласии рецензировать данную работу, пожалуйста, сообщите в редакцию. Для этого нужно открыть нашу служебную интернет-страницу", "Про Вашу згоду або незгоду рецензувати дану роботу, будь ласка, повідомте редакції. Для цього треба відкрити нашу службову інтернет-сторінку")."\n"; } else { $t = $t . "\n". enruua_var($l, "To access the manuscript, please log in at", "Для доступа к рукописи нужно открыть нашу служебную интернет-страницу", "Для доступа до рукопису потрібно відкрити нашу службову інтернет-сторінку")."\n"; } $t = $t . "\n". $_journal['loginpage']."\n"; $t = $t . "\n". enruua_var($l, "with your user name", "и ввести Ваш код пользователя", "і ввести Ваш код користувача")." " . quote($get_u['username'],$l,"TEXT")." "; if ($get_u['raw_password']) { $t = $t . "". enruua_var($l, "and the password", "и пароль", "та пароль")." " . quote($get_u['raw_password'],$l,"TEXT") . ".\n"; } else { $t = $t . "". enruua_var($l, " and the password sent to you by email at the time of registration of your user name", "и пароль, отправленный Вам электронным письмом при регистрации Вашего кода пользователя", "та пароль, надісланий Вам електронним листом підчас реєстрації Вашого коду користувача"); $t = $t . ". "; $t = $t . "". enruua_var($l, "Let us recall that, on the page indicated, there is a possibility to regenerate your password in case you forgot it (the new password will be sent you by email)", "Напомним, что на случай, если Вы забыли свой пароль, на указанной выше интернет-странице имеется возможность сгенерировать для Вас новый пароль (при этом новый пароль Вам будет отправлен электронной почтой)", "Нагадаймо, що у випадку, якщо Ви забули свій пароль, на вказаній інтернет-сторінці є можливість сгенерувати для Вас новий пароль (при цьому новий пароль Вам буде надіслано за електронною поштою)").".\n"; } if (!$is_in) { $t = $t . "\n". enruua_var($l, "In case you agree to review this manuscript, we shall appreciate if you would be able to submit your conclusion on this paper within two months", "В случае Вашего согласия просим предоставить Ваше заключение об этой работе в течение двух месяцев", "У випадку Вашої згоди просимо надати Ваш висновок щодо цієї роботи протягом двох місяців").".\n"; } else { $t = $t . "\n". enruua_var($l, "We shall appreciate if you would be able to submit your conclusion on this manuscript within two months", "Будем Вам признательны, если Вы предоставите Ваше заключение об этой рукописи в течение двух месяцев", "Будемо Вам вдячні, якщо ви надішлете Ваш висновок щодо цього рукопису протягом двох місяців").".\n"; } $t = $t . "\n". enruua_var($l,"Thank you in advance", "Заранее благодарим", "Наперед щиро дякуємо")."."; } //$t="lulu"; return $t; }//gen_message_refereeing_request function is_in_users($author_id) { $q = mysql_query("SELECT * FROM users WHERE author_id='".$author_id."'"); $rr = array(); if (mysql_num_rows($q)) { while ($r = mysql_fetch_array($q)) { $rr[] = $r; } } return $rr; } function reget_username($author_id,$username='') { if ($username) { $user = user($username); if ($user['username']) { $q = mysql_query("DELETE FROM users WHERE username='".$username."'"); return get_username($author_id,$user['username'],$user['userlevel'],"REGENERATE"); } } else return NULL; } function get_username($author_id,$username='',$userlevel=2,$regenerate_flag="") { global $database,$session; $look = is_in_users($author_id); if (!$username) $username = $author_id; $r['username']=''; if (count($look)) { foreach ($look as $user) { if ($user['username']==$username) { $r['username'] = $user['username']; if ($user['pwd']) $r['raw_password'] = $user['pwd']; break; } } } $person = person($author_id); $em = email(primary_email($person)); if (!$r['username']) { $password = gen_password(8); $Q = "INSERT INTO users (username,password,pwd,userid,userlevel,email,created,created_by,author_id) VALUES ('".$username."', '" .md5($password)."', '".$password."', '0', '".$userlevel."', '".$em['email_field']."', now(),'".$session->author_id."','".$author_id."' )"; $q = mysql_query($Q); // $database->addNewUser($username, gen_password(8),""); // tell ("$username"); // $i = $database->getUserInfo($username); $r['username'] = $username; $r['raw_password'] = $password; notify_person_username_created($person,$r['username'], $r['raw_password'],TRUE,"",$regenerate_flag); } return $r; } function gen_msg($person,$formal,$type,$referee_entry_id=0,$revision_id=0,$language="") { global $_sexes,$_journal; $rev= revision($revision_id); if (is_valid_language($language)) $l = $language; else $l = preferred_language($person); $t = "<p>"; switch ($type) { default: $t = $t. enruua_var($l,"The Editorial Board of the journal", "Редакция журнала","Редакція журналу")." " .quote($_journal['name'][$l])." " . enruua_var($l,"would like to ask you rib your nose", "просит Вас почесать затылок", "просить Вас почухати потилицю"). ".</p>\n"; $t = $t . "<p>". enruua_var($l,"Thank you in advance", "Заранее благодарим","Наперед щиро дякуємо").".</p>\n"; break; } return $t; }//gen_msg function _set_by_name($t,$updated="",$update_by=0) { global $session; $cmd=""; foreach (fields_to_update($t) as $f) { if($cmd) $cmd=$cmd.","; $fv = $GLOBALS[$f]; $cmd = $cmd.$f."='".htmlspecialchars($fv)."'"; } if (!$updated) $updated = "now()"; if (!$updated_by) $updated_by = $session->author_id; return $cmd.",updated=".$updated.",updated_by='".$updated_by."'"; }//_set_by_name function fields_to_update($t) { switch ($t) { case "institution": return array ("name_ua","name_ru","name_en", "name_gen_ua","name_gen_ru","name_gen_en", "street_ua","street_ru","street_en", "city_ua","city_ru","city_en", "country","state","postal_code","webpage","all_latin"); break; case "article": return array("language","title_en","title_ru","title_ua","published_volume","published_number","published_page_start","published_page_end","abstract","notes"); break; case "author": case "person": return array('last_name_ua', 'last_name_ru','last_name_en', 'first_name_ua','first_name_ru','first_name_en', 'middle_name_ua','middle_name_ru','middle_name_en', 'short_name_ua','short_name_ru','short_name_en', 'title','sex','email','homepage','fax', 'phone', 'editor','preferred_language','soundex','all_latin'); break; default: return array(); } }// function main_admin($args="") {global $lang; return "index.php".$args; }//main_admin function manage_articles($args="") {global $lang; return "manage_articles.php".$args; }//manage_articles function manage_articles_link($args="") {global $lang; $lang = languify($lang); return "<a href=\"".manage_articles()."?lang=".$lang."\">".enruua("Table of Articles", "Таблица статей","Таблиця статей")."</a>"; }//manage_articles_link function manage_authors($args="") {global $lang; return "manage_authors.php".$args; }//manage_authors function manage_authors_link($args="") {global $lang; $lang = languify($lang); return "<a href=\"".manage_authors()."?lang=".$lang."\">".enruua("Table of Persons", "Таблица персоналий","Таблиця персоналій")."</a>"; }//manage_authors_link function manage_institutions($args="") {global $lang; return "manage_institutions.php".$args; }//manage_institutions function manage_institutions_link($args="") { global $lang; $lang = languify($lang); return "<a href=\"".manage_institutions()."?lang=".$lang."\">".enruua("Table of Institutions", "Таблица организаций","Таблиця організацій")."</a>"; }//manage_institutions_link function manage_archive($args="") {global $lang; return "archive.php".$args; } function manage_archive_link($args="") {global $lang; $lang = languify($lang); return "<a href=\"".manage_archive()."?lang=".$lang."\">".enruua("Archive of Articles", "Архив статей","Архів статей")."</a>"; } function manage_pending($args="") { global $lang; return "pending.php".$args; } function manage_pending_link($args="") {global $lang; $lang = languify($lang); return "<a href=\"".manage_pending()."?lang=".$lang."\">".enruua("Pending Articles", "Портфель журнала","Портфель журналу")."</a>"; } function iconed_small_menu_item ($title,$target,$pixmap="") { global $lang; $oi=""; $ci=""; $w=""; if ($pixmap) { $w = $oi; $w = $w."".$ci; } $w= $w. $oi. "<a href=\"".$target."?lang=".$lang."\">" . "<img src=\"".$pixmap."\" border=0 width=\"22px\">" . " " . $title."</a>" . $ci; //if ($pixmap) $w = $w."</td></tr></table>\n"; return $w; }//iconed_menu_item function journal_logo_admin() { global $lang,$_journal; $logo = "<P>\n". "<IMG ALT=\"". $_journal['name'][$lang]."\" SRC=\"". $_journal['webpage'] . "/journal.".$lang.".gif\" BORDER=0 VALIGN=\"middle\"></P>\n" ."<P>" . enruua("An international mathematical journal","Международный математический журнал","Міжнародний математичний журнал") . enruua(" founded in",", основан в",", започаткований у") . space() . $_journal['start_year'] . enruua("",space()."г.",space()."р.") . "</P>\n"; return $logo; } function admin_logo() { }// admin_logo -- to be implemented function admin_menu($options="") { global $lang,$_journal; //if (!$options) $opns = admin_menu_options(); echo "<TABLE>\n"; foreach($opns as $o) { $show = TRUE; if ($o['master']) { if (!is_allowed_master_mode()) $show=FALSE; } if ($show) { echo "<TR><TD>\n"; echo "<TABLE class=\"menu_inner_table\">\n"; echo "<TR>"; // echo "<TD>"; echo "<A HREF=\"".$o['url']."\" class=\"menu_text\">"; //echo "<IMG style=\" height: inherit;\" SRC=\"". $o['icon']. "\">"; echo "</A>"; echo "</TD>"; echo "<TD>"; echo "<A HREF=\"".$o['url']."\" class=\"menu_text\">"; echo $o['name']; echo "</A>"; echo "</TD>"; echo "</TR>"; echo "</TABLE>\n"; echo "</TD></TR>\n"; } } echo "</TABLE>\n"; }//admin_menu function menu ($type="banner") { global $lang,$session,$db_handle; switch($type) { case"bottom": $oenv = "<TABLE> <TR>"; $cenv = "</TR> </TABLE>\n"; $oi="<td>"; $ci="</td>\n"; $mf= "iconed_menu_item"; break; case "banner": default: $oenv = "<table>\n"; $cenv = "</table>\n"; $oi="<tr><td>"; $ci="</td></tr>\n"; $mf= "iconed_small_menu_item"; break; }//type $tmp = $oenv; $tmp = $tmp . $oi.$mf(enruua("Main","Главная","Головна"),"index.php","../icons/menu-admin.svg").$ci; $tmp = $tmp . $oi.$mf(enruua("Portfolio","Портфель","Портфель"),"pending.php","../icons/menu-portfolio.svg").$ci; $tmp = $tmp . $oi.$mf(enruua("Statistics","Статистика","Статистика"),"statistics.php","../icons/menu-statistics.svg").$ci; $tmp = $tmp . $oi.$mf(enruua("Letters","Письма","Листи"),"letter_edit.php","../icons/menu-letters.svg").$ci; $tmp = $tmp . $oi.$mf(enruua("Archive","Архив","Архів"),"archive.php","../icons/menu-archive.svg").$ci; $tmp = $tmp . $oi.$mf(enruua("Institutions","Организации","Організації"),"manage_institutions.php","../icons/menu-institutions.svg").$ci; $tmp = $tmp . $oi.$mf(enruua("Persons","Персоналии","Персоналії"),"manage_authors.php","../icons/menu-persons.svg").$ci; $tmp = $tmp . $oi.$mf(enruua("Articles","Все статьи","Усі статті"),"manage_articles.php","../pixmaps/Articles.png").$ci; $tmp = $tmp . $oi.$mf(enruua("My page","Моя страница","Моя сторінка"),"../users","../pixmaps/Key.png").$ci; if (is_allowed_master_mode()) { $tmp = $tmp . $oi.$mf(enruua("Maintainance","Хозяйство","Господарство"),"service.php","../icons/menu-service.svg").$ci; } $tmp = $tmp . $oi.$mf(enruua("Journal","Журнал","Журнал"),"../web","../pixmaps/Journal.png").$ci; $tmp = $tmp . $oi.$mf(enruua("Quit","Выход","Вихід"),"logout.php","../pixmaps/log-out.png").$ci; /*if (is_allowed_master_mode()) { $tmp = $tmp . $oi."<HR>".$ci; $tmp = $tmp . $oi.$mf(enruua("Master Mode","Включить опасный режим","Увімкнути небезпечний режим"),"trigger_master_mode.php","../pixmaps/Off.png").$ci; }*/ $tmp = $tmp . $cenv; return $tmp; }//menu function admin_menu_options() { global $lang,$_journal; return array( array("url" => $_journal['adminpage']."/index.php", "name" => enruua("Main","Главная","Головна"), "icon" => icons_dir()."/menu-admin.svg","master"=>FALSE), array("url" => $_journal['adminpage']."/pending.php", "name" => enruua("Portfolio","Портфель","Портфель"), "icon" => icons_dir()."/menu-portfolio.svg","master"=>FALSE), array("url" => $_journal['adminpage']."/statistics.php", "name" => enruua("Statistics","Статистика","Статистика"), "icon" => icons_dir()."/menu-statistics.svg","master"=>FALSE), array("url" => $_journal['adminpage']."/letter_edit.php", "name" => enruua("Letters","Письма","Листи"), "icon" => icons_dir()."/menu-letters.svg","master"=>FALSE), array("url" => $_journal['adminpage']."/archive.php", "name" => enruua("Archive","Архив","Архів"), "icon" => icons_dir()."/menu-archive.svg","master"=>FALSE), array("url" => $_journal['adminpage']."/manage_institutions.php", "name" => enruua("Institutions","Организации","Організації"), "icon" => icons_dir()."/menu-institutions.svg","master"=>FALSE), array("url" =>$_journal['adminpage']."/manage_authors.php", "name" => enruua("Persons","Персоналии","Персоналії"), "icon" => icons_dir()."/menu-persons.svg","master"=>FALSE), array("url" => $_journal['adminpage']."/manage_articles.php", "name" => enruua("Articles","Все статьи","Усі статті"), "icon" => icons_dir()."/menu-articles.svg","master"=>FALSE), array("url" => $_journal['loginpage'], "name" => enruua("My page","Моя страница","Моя сторінка"), "icon" => icons_dir()."/menu-my.svg","master"=>FALSE), array("url" => $_journal['adminpage']."/service.php", "name" => enruua("Maintainance","Хозяйство","Господарство"), "icon" => icons_dir()."/menu-service.svg","master" => TRUE), array("url" => $_journal['webpage'], "name" => enruua("Journal","Журнал","Журнал"),"icon" => icons_dir()."/menu-webpage.svg","master"=>FALSE), array("url" => $_journal['adminpage']."/logout.php", "name" => enruua("Quit","Выход","Вихід"), "icon" => icons_dir()."/menu-logout.svg","master" => FALSE) ); } function userlevel_color($level) { switch ($level) { case 9: return "#FF0000"; case 8: return "#FFA500"; case 7: return "#1FAE1F"; default: return "#0000FF"; } }//userlevel_color function user_level_draw($i) { global $lang; $v= "<span style=\" background-color: ".userlevel_color($i)."; color: #FFFFFF; font-weight: bolder; border-width: 1px; border-style: solid; border-color: #7F7F7F; \">".$i."</span>"; return $v; }//user_level_draw function user_level_text($txt,$i=8) { return "<span style=\" background-color: ".userlevel_color($i)."; color: #FFFFFF; font-weight: bolder; border-width: 1px; border-style: solid; border-color: #7F7F7F; \">".$txt."</span>"; } function current_user_level_draw() { global $session,$lang; $v=user_level_draw(current_user_level()); if($session->isAdmin()) $v=$v."<img style=\"vertical-align: middle;\" src=\"../pixmaps/Admin.png\" height=18px>"; return $v; }//current_user_level_draw function current_user_level() { global $session; return $session->userlevel; } //current_user_level function number_of_emails($person) { if ($person) { $res = mysql_query("select * from Emails where person_id='".$person['id']."'"); $num = mysql_num_rows($res); } else { $num=0; } return $num; } function preferred_language($person) { global $_languages; return (in_array($person['preferred_language'],$_languages)) ? $person['preferred_language'] : guess_client_language(); }//preferred_language function button($id, $title,$url=NULL,$descr="") {global $lang; if (!$title) $title=enruua("Proceed","Продолжить","Продовжити"); $v= "<input"; if($descr) $v = $v." "._title_BoxOver(enruua("Explanation","Объяснение","Пояснення"),$descr)." "; switch($id) { case "proceed": case "accept": $v=$v." class=\"".$id."\""; $v=$v." type=\"submit\" value=\"".$title."\"></p>\n"; break; case "leave": $v = $v . " class=\"" . $id."\""; if(!$url) $url=".."; $v = $v . " type=\"button\" value=\"".$title."\" onclick=\"gotosite('".$url."?lang=$lang');\">\n"; // $v=$v." type=\"button\" value=\"".$title."\" onclick=\"document.$fid.submit();\")>\n"; break; } // return $v; }//button function institution($id) { $res = mysql_query("SELECT * FROM Institutions WHERE id='$id'"); if ($res) return mysql_fetch_array($res); else return NULL; }//institution function article($id) { $res = mysql_query("SELECT * FROM Articles WHERE id='$id'"); if ($res) return mysql_fetch_array($res); else return NULL; }//article function referee($id) { $res = mysql_query("SELECT * FROM Referees WHERE id='$id'"); if ($res) return mysql_fetch_array($res); else return NULL; }//referee function email($id) { $res = mysql_query("SELECT * FROM Emails WHERE id='$id'"); if ($res) return mysql_fetch_array($res); else return NULL; }//email function revision($revision_id) { $res_revs= mysql_query("SELECT * FROM Revisions WHERE id='".$revision_id."'"); if (mysql_num_rows($res_revs)) return mysql_fetch_array($res_revs); else return NULL; }//revision function show_revision_number($rev) { if ($rev['id']) return $rev['article_id']. "-". revision_display_number($rev)."-".$rev['id']; else return 0; }//show_revision_number function revision_info($rev) { $res_r= mysql_query("SELECT * FROM Revisions WHERE article_id='".$rev['article_id']."' ORDER BY created,id,revision_received"); $is_sole_revision = (mysql_num_rows($res_r) > 1) ? FALSE : TRUE; // //$num=0; $is_last_revision = TRUE; if (!$is_sole_revision) { while ($r= mysql_fetch_array($res_r)) { //$num++; //tell($r['created']." <> ".$rev['created']); if (strtotime($r['created']) >= strtotime($rev['created'])) { if (strtotime($r['created']) > strtotime($rev['created'])) { $is_last_revision = FALSE; break; } elseif ($r['id'] > $rev['id']) { $is_last_revision = FALSE; break; } } //if ($r["id"]==$rev["id"]) {}; //break; } } $a= array('article_id'=> $rev['article_id'], 'revision_received' => $rev['received'], 'revision_created' => $rev['created'], 'is_sole_revision' => $is_sole_revision, 'is_last_revision' => $is_last_revision); return $a; }//revision_info function revision_display_number($rev) { //$rev_article_id = $rev["article_id"]; $res_r= mysql_query("SELECT * FROM Revisions WHERE article_id='".$rev["article_id"]."' ORDER BY created,id,revision_received"); $num=0; while ($r= mysql_fetch_array($res_r)) { $num++; if ($r["id"]==$rev["id"]) break; } return $num; }//revision_display_number function is_last_revision($rev) { $rev_article_id = $rev["article_id"]; $res= mysql_query("SELECT * FROM Revisions WHERE article_id='".$rev_article_id."' ORDER BY created,id,revision_received"); $num=0; while ($r= mysql_fetch_array($res)) { $num++; if ($r["id"]==$rev["id"]) break; } }// is_last_revision function decision_taken($rev) { if ($rev['id']) { return $rev['decision']; } else return 0; } function is_finalised_referees($rev) /// obsolete!!!! { if ($rev['id']) { $res_total = mysql_query("SELECT * FROM Referees WHERE revision_id='".$rev['id']."'"); $res= mysql_query("SELECT * FROM Referees WHERE revision_id='".$rev['id']."' AND recommends IS NULL ORDER BY requested,replied,report_received"); if (mysql_num_rows($res_total)) { if (mysql_num_rows($res)) return 0; else return 1; } else return 0; } else return 0; } function is_finalised($rev) //compatibility!!! { return article_is_completely_finalised(article($rev['article_id'])); } function is_closed($rev) { if ($rev['id']) { //return (is_finalised($rev) && $rev['decision']); return $rev['decision']; } else return NULL; } function is_acceptable($art) { //$res = mysql_query("SELECT MAX(id) FROM Revisions WHERE article_id='".$art['id']."'"); // $lr = mysql_fetch_row($res); $lastrev = last_revision($art); $refs = referees($lastrev); $answer = TRUE; foreach ($refs as $ref) { if (($ref['recommends']) && (is_valid_date($ref['report_received']))) { switch (recommendation_meaning($ref['recommends'])) { case "accept": case "minor_changes_no_refereeing": break; case "minor_changes_me": case "minor_changes_somebody_else": case "major_changes": case "decline": default: $answer=false; } } } return $answer; } function is_in_referees($person,$revision) { $res = FALSE; $refs = referees($revision); if (count($refs)) { foreach ($refs as $r) { if ($r['referee_id'] == $person['id']) { $res = TRUE; break; } } } return $res; } function notify_person($person,$message_text,$subject="") { return notify_person_full($person,array('TEXT' => $message_text,'HTML' => nl2br($message_text)),$subject,TRUE); } function notify_person_full($person,$message,$subject,$send_to_all=TRUE,$files=NULL,$tell=FALSE) { global $_journal,$sendmail,$swift; $l = preferred_language($person); $person_name = plain_short_name($person['id'],FALSE,$l,'TEXT'); //right now create username if it does not exist yet $username = get_username($person['id'],$person['id'],2); $p = primary_email($person); $e = email($p); $email = $e['email_field']; if ($email) { $mail = new Swift_Message($subject); foreach (array('TEXT','HTML') as $j) { $body[$j] = letter_opening ($person,FALSE,$l,$j) . $message[$j] . letter_closing ($person,FALSE,$l,$j); } $mail->attach(new Swift_Message_Part($body['TEXT'])); $mail->attach(new Swift_Message_Part($body['HTML'], "text/html")); if (!$send_to_all) { $e = the_email(primary_email($person)); $result = $swift->send($mail, new Swift_Address($e, $person_name), new Swift_Address($_journal['email'], $_journal['name'][$l])); } else { $emails = emails($person); foreach ($emails as $eentry) { $result = $swift->send($mail, new Swift_Address($eentry['email_field'], $person_name), new Swift_Address($_journal['email'], //enruua_var($l, "The Journal","Журнал","Журнал"). " " ."". $_journal['name'][$l]."" )); if ($txt) $txt = $txt.", "; $txt = $txt . $eentry['email_field']; } if ($tell) tell(enruua("Message sent to","Сообщение отправлено на","Повідомлення відправлено на")." ".$txt. ". ". enruua("The addressee is","Получатель -","Отримувач -")." ". plain_short_name($person['id'],$FALSE,$lang,'TEXT')."."); } //notify notify_editors_message_sent($person,$body['TEXT'],$subject,$txt); } else $result = NULL; return $result; } function notify_editors_full($message,$subject="") { global $_journal,$sendmail,$swift; $l = editorial_language(); $mail = new Swift_Message($subject); foreach (array('TEXT','HTML') as $j) { $body[$j] = //letter_opening ($person,FALSE,$l,$j) $message[$j] . letter_closing_robot (corresponding_editor(),TRUE); } $mail->attach(new Swift_Message_Part($body['TEXT'])); $mail->attach(new Swift_Message_Part($body['HTML'], "text/html")); return $swift->send($mail, new Swift_Address($_journal['email'], $_journal['name'][$l]), new Swift_Address($_journal['email'], enruua_var($l, "The Journal administration system","Система управления журналом", "Система керування журналом")) ); } function notify_editors($message_text,$subject="") { global $_journal; $l = editorial_language(); return notify_editors_full(array('TEXT' => $message_text,'HTML' => nl2br($message_text)),$subject); } function notify_authors($art,$msgs,$subj,$except=NULL) { global $_journal,$session,$sendmail,$swift; $authors = article_authors_entries($art); while ($person = mysql_fetch_array($authors)) { if (in_array($person['id'],$except)) { $l = preferred_language($person); notify_person_full($person,$msgs[$l],$subj); } } }//notify_authors function revision_receipt_acknowledge($id) { global $_journal,$session,$sendmail,$swift; $rev = revision($id); $revno = show_revision_number($rev); if ($rev['id']) { $art = article($rev['article_id']); $authors = article_authors_entries($art); while ($person = mysql_fetch_array($authors)) { $l = preferred_language($person); foreach (array('TEXT','HTML') as $j) { $t[$j] = andify(article_authors($art,$l,$j),$l).": ".quote(article_title($art,$l),$l,$j); $msg[$j] = par(enruua_var($l,"Let us inform you that a manuscript of the paper","Позвольте Вам сообщить, что рукопись статьи","Дозвольте Вам повідомити, що рукопис статті"), $j) .par($t[$j],$j) .par(enruua_var($l,"has been received by the editors. The control number of this your manuscript is","была получена редакцией. Рукописи присвоен контрольный номер","було отримано редакцією. Рукописові призначено контрольний номер") .space($j). $revno .".", $j); $msga[$j] = par(enruua_var($l,"Let us inform you that a manuscript of the paper","Позвольте Вам сообщить, что в редакцию поступила рукопись статьи","Дозвольте Вам повідомити, що до редакції надійшов рукопис статті"), $j) .par($t[$j],$j) .par(somebody_did_something(person($rev['created_by']),"registered it in the system","зарегистрировал рукопись в системе","зареєстрував рукопис в системі","registered it in the system","зарегистрировала рукопись в системе","зареєструвала рукопис в системі",$l,'TEXT').".", $j)." " .enruua_var($l,"has been submitted to the journal. The control number of this your manuscript is","Рукописи присвоен контрольный номер","Рукописові призначено контрольний номер") .space($j). $revno ."."; //$get_u = get_username($person['id'],$person['id']); $sycf = say_you_can_follow($person,$l); $msg[$j] = $msg[$j] . $sycf[$j]; $msg[$j] = $msg[$j] . par(enruua_var($l,"Thank you very much for your interest in our journal","Благодарим Вас за внимание к нашему журналу","Дякуємо Вам за увагу до нашого часопису").".",$j); $msga[$j] = $msga[$j] . par(enruua_var($l,"Please check the corresponding entry on the journal ","Обратите, пожалуйста, внимание на соответствующую запись на служебной странице журнала","Будь-ласка, зверніть увагу на відповідний запис на службовій сторінці часопису").".",$j); } $subj = $_journal['name'][$l].": ". enruua_var($l,"Manuscript","рукопись","рукопис")." ".$revno." " . enruua_var($l,"received","получена","отримано"); $subja = enruua_var($l,"New submission","Новое поступление","Нове подання").": " . enruua_var($l,"received","получена","отримано") ." " .enruua_var($l,"Manuscript","рукопись","рукопис"). " ".$revno; //notify_person_full(person(8),$msga,$subja); notify_person_full($person,$msg,$subj); revision_submission_notify_staff($rev['id']); } }//revision }//revision_receipt_acknowledge function revision_submission_notification_list($id=0) { global $_journal,$session,$sendmail,$swift; $flist = mysql_query("SELECT id FROM Authors WHERE editor IN (3,4) AND deseased IS NULL"); while ($f = mysql_fetch_array($flist)) { $a[] = $f['id']; } // exceptions $a[] = '354'; //Natasha $a[] = '368'; //Tolya return $a; }//revision_submission_notification_list function revision_submission_notify_staff($id) { $rev = revision($id); $revno = show_revision_number($rev); if ($rev['id']) { $art = article($rev['article_id']); $list = revision_submission_notification_list($id); //$authors = article_authors_entries($art); foreach ($list as $person_id) { $person = person($person_id); $l = preferred_language($person); //while ($p = mysql_fetch_array($authors)) //{ foreach (array('TEXT','HTML') as $j) { $t[$j] = andify(article_authors($art,$l,$j),$l).": ".quote(article_title($art,$l),$l,$j); $msga[$j] = par(enruua_var($l,"Let us inform you that a manuscript of the paper","Позвольте Вам сообщить, что в редакцию поступила рукопись статьи","Дозвольте Вам повідомити, що до редакції надійшов рукопис статті"), $j) .par($t[$j],$j) .par(enruua_var($l,"has been submitted to the journal. The control number of this your manuscript is","Рукописи присвоен контрольный номер","Рукописові призначено контрольний номер") .space($j). $revno .". " . somebody_did_something(person($rev['created_by']),"registered it in the system","зарегистрировал рукопись в системе","зареєстрував рукопис в системі","registered it in the system","зарегистрировала рукопись в системе","зареєструвала рукопис в системі",$l).".", $j); $msga[$j] = $msga[$j] . par(enruua_var($l,"Please check the corresponding entry on the journal","Обратите, пожалуйста, внимание на соответствующую запись на служебной странице журнала","Будь-ласка, зверніть увагу на відповідний запис на службовій сторінці часопису").".",$j); } $subja = enruua_var($l,"New submission","Новое поступление","Нове подання").": ". enruua_var($l,"received","получена","отримано") ." " .enruua_var($l,"Manuscript","рукопись","рукопис"). " ".$revno; //} notify_person_full($person,$msga,$subja); // $sent[] = $person['id']; }//list //tell ("Sent to ".andify($sent)); } else return NULL; }//revision_submission_notify function send_refereeing_request($referee,$files=NULL,$formal=FALSE) { global $_journal,$session,$sendmail,$swift; $person = person($referee['referee_id']); $rev = revision($referee['revision_id']); if ($rev['id']) { $revno = show_revision_number($rev); $art = article($rev['article_id']); $authors = article_authors_entries($art); $pr_rev = previous_revision($rev); $pr_referees = referees($pre_rev); $is_in = is_in_referees($person,$pr_rev); $l = preferred_language($person);//the potential referee $subj = enruua_var($l,"Refereeing request for manuscript","Просьба прорецензировать рукопись","Прохання прорецензувати рукопис") . " ". $revno; foreach (array('TEXT','HTML') as $j) { $t[$j] = //andify(article_authors($art,$l,$j),$l).": ". quote(article_title($art,$l),$l,$j); $authors = article_authors($art,$l,$j); if (count($authors)>1) $au = enruua_var($l," by",", авторами которой являются",", авторами якої є"); else $au = enruua_var($l," by",", автором которой является",", автором якої є"); $au = $au . " ".andify($authors,$l).". "; if ($is_in) { $ver = enruua_var($l,"This is a revised version of manuscript", "Это - переработанная версия рукописи", "Це - перероблена версія рукопису") ." ".number_symbol($l)." ". show_revision_number($pr_rev) .enruua_var($l," that you managed before", ", которую рецензировали Вы", ", яку рецензували Ви")."."; } else $ver = ""; $msg[$j] = par(enruua_var($l,"The Editorial Board of the journal","Редакция журнала","Редакція журналу")." " .quote($_journal['name'][$l],$l,$j)." " .enruua_var($l,"would like to ask you to referee manuscript","просит Вас выступить в качестве рецензента рукописи","просить Вас виступити в якості рецензента рукопису")." " .number_symbol($l). space($j). $revno. " ".enruua_var($l,"of the paper","статьи","статті")." " .$t[$j] .$au . $ver, $j); $c= count($files); if ($c) { /* $msg[$j] = $msg[$j] . " (" .say_ordinal($c,enruua_var($l,"file","файл","файл"), enruua_var($l,"files","файла","файли"), enruua_var($l,"files","файлов","файлів")) . ")"; */ } if (!$is_in) { $msg[$j] = $msg[$j]. par(enruua_var($l,"In order to inform us of your ability or inability to review the paper, please log in to our online system at the address","О Вашем согласии или несогласии рецензировать данную работу, пожалуйста, сообщите в редакцию посредством нашей электронной системы, расположенной по адресу","Про Вашу згоду або незгоду рецензувати дану роботу, будь ласка, повідомте редакції через нашу електронну систему, розташовану за адресою"), $j) .par(href($_journal['loginpage'],$j).".",$j); $msg[$j] = $msg[$j]. par(enruua_var($l,"The files of the manuscript are available for download in the refereeing section","Файлы рукописи доступны для загрузки в секции рецензий","Файли рукопису доступні для завантаження у секції рецензування").".", $j); /*if ($c) $msg[$j] = $msg[$j] . " ". enruua_var($l,"Thе electronic version of the manuscript is also attached to this message","Электронный вариант рукописи также прилагается к этому сообщению","Електронна версія рукопису також додається до цього повідомлення")."."; */ //$msg[$j] = $msg[$j] . epar($j); } else { $msg[$j] = $msg[$j]. par(enruua_var($l,"The files of the manuscript are available for download in the refereeing section","Файлы рукописи доступны для загрузки в секции рецензий","Файли рукопису доступні для завантаження у секції рецензування") ." ".enruua_var($l,"of your page in the manuscript tracking system located at the address","на Вашей странице системы управления рукописями, расположенной по адресу","на Вашій сторінці системи керування рукописами, розташованої за адресою"), $j) .par(href($_journal['loginpage'],$j).".",$j); /*if ($c) $msg[$j] = $msg[$j] . " ". enruua_var($l,"Thе electronic version of the manuscript is also attached to this message","Электронный вариант рукописи также прилагается к этому сообщению","Електронна версія рукопису також додається до цього повідомлення").".";*/ //$msg[$j] = $msg[$j] . epar($j); } if (!$is_in) { $msg_after[$j] = par(enruua_var($l,"In case you agree to review this manuscript, we shall appreciate if you would be able to submit your conclusion on this paper within two months","В случае Вашего согласия просим предоставить Ваше заключение об этой работе в течение двух месяцев","У випадку Вашої згоди просимо надати Ваш висновок щодо цієї роботи протягом двох місяців").". ".enruua_var($l,"Thank you in advance","Заранее Вас благодарим","Наперед Вам дякуємо").".", $j); } else { $msg_after[$j] = par(enruua_var($l,"We shall appreciate if you would be able to submit your conclusion on this manuscript within two months","Будем Вам признательны, если Вы предоставите свое заключение об этой рукописи в течение двух месяцев","Будемо Вам вдячні, якщо ви надішлете свій висновок щодо цього рукопису протягом двох місяців").". " .enruua_var($l,"Thank you in advance","Заранее Вас благодарим","Наперед Вам дякуємо").".", $j); } } notify_person_full($person,say_authentication_data($person,$l,$msg,$msg_after),$subj); if (is_array($files)) $files_attached = 1; else $files_attached = 0; mysql_query("update Referees set requested=now(), requested_by=".$session->author_id.", files_attached='".$files_attached."', requested_electronically=1 where id='". $referee['id'] . "'"); mysql_query("update Referees set revision_sent_to_referee=now() where id='". $referee['id'] . "'"); }//revision }//send_refereeing_request function send_refereeing_reminder($referee,$files=NULL,$formal=FALSE) { global $_journal,$session,$sendmail,$swift; $person = person($referee['referee_id']); $rev = revision($referee['revision_id']); if ($rev['id']) { $rems = sent_reminders($referee['id']); $nrems = count($rems); //before we send mysql_query("insert into Reminders (referee_entry_id,sent,sent_by) values ('".$referee['id']."', now(), '".$session->author_id."')"); $revno = show_revision_number($rev); $art = article($rev['article_id']); $authors = article_authors_entries($art); $pr_rev = previous_revision($rev); $pr_referees = referees($pre_rev); $is_in = is_in_referees($person,$pr_rev); $l = preferred_language($person);//the potential referee if (!$nrems) $subj = enruua_var($l,"Repeated refereeing request for manuscript", "Копия просьбы прорецензировать рукопись", "Копія прохання прорецензувати рукопис") . " ". $revno; else $subj = enruua_var($l,which_ordinal($nrems+1,"N",$l,TRUE) ." "."refereeing request for manuscript", which_ordinal($nrems+1,"F",$l,TRUE) ." "."просьба прорецензировать рукопись", which_ordinal($nrems+1,"N",$l,TRUE) ." "."прохання прорецензувати рукопис") . " ". $revno; foreach (array('TEXT','HTML') as $j) { $t[$j] = //andify(article_authors($art,$l,$j),$l).": ". quote(article_title($art,$l),$l,$j); $authors = article_authors($art,$l,$j); if (count($authors)>1) $au = enruua_var($l," by",", авторами которой являются",", авторами якої є"); else $au = enruua_var($l," by",", автором которой является",", автором якої є"); $au = $au . " ".andify($authors,$l).". "; if ($is_in) { $ver = par(enruua_var($l,"This is a revised version of manuscript", "Это - переработанная версия рукописи", "Це - перероблена версія рукопису") ." ".number_symbol($l)." ". show_revision_number($pr_rev) .enruua_var($l," that you managed before", ", которую рецензировали Вы", ", яку рецензували Ви").".", $j); } else $ver = ""; $msg[$j] = par(enruua_var($l,"The Editorial Board of the journal","Редакция журнала","Редакція журналу")." " .quote($_journal['name'][$l],$l,$j)." " .enruua_var($l,"would like to ask you to referee manuscript","просит Вас выступить в качестве рецензента рукописи", "просить Вас виступити в якості рецензента рукопису")." " .number_symbol($l). space($j). $revno. " ".enruua_var($l,"of the paper","статьи","статті")." " .$t[$j] .$au . $ver, $j); $c= count($files); if ($c) { /* $msg[$j] = $msg[$j] . " (" .say_ordinal($c,enruua_var($l,"file","файл","файл"), enruua_var($l,"files","файла","файли"), enruua_var($l,"files","файлов","файлів")) . ")"; */ } $get_u = get_username($person['id'],$person['id']); if ($get_u['raw_password']) { $x = enruua_var($l,"and the password","и пароль","та пароль")." " . quote($get_u['raw_password'],$l,$j); } else { $x = enruua_var($l, "and the password sent to you by email at the time of registration of your user name", "и пароль, отправленный Вам электронным письмом при регистрации Вашего кода пользователя", "та пароль, надісланий Вам електронним листом підчас реєстрації Вашого коду користувача"); } if (!$is_in) { $msg[$j] = $msg[$j]. par(enruua_var($l,"In order to inform us of your ability or inability to review the paper, please log in to our online system at the address","О Вашем согласии или несогласии рецензировать данную работу, пожалуйста, сообщите в редакцию посредством нашей электронной системы, расположенной по адресу","Про Вашу згоду або незгоду рецензувати дану роботу, будь ласка, повідомте редакції через нашу електронну систему, розташовану за адресою"), $j) .par(href($_journal['loginpage'],$j).".",$j); $msg[$j] = $msg[$j] . bpar($j). enruua_var($l,"To access the manuscript, please log in to the online system by entering","Для доступа к рукописи, пожалуйста, войдите в электронную систему, введя","Для отримання рукопису, будь ласка, увійдіть до електронної системи, ввівши")." " .enruua_var($l,"your user name","Ваш код пользователя","Ваш код користувача")." " .quote($get_u['username'],$l,$j)." ".$x . "."; /*if ($c) $msg[$j] = $msg[$j] . " ". enruua_var($l,"Thе electronic version of the manuscript is also attached to this message","Электронный вариант рукописи также прилагается к этому сообщению","Електронна версія рукопису також додається до цього повідомлення")."."; */ $msg[$j] = $msg[$j] . epar($j); } else { $msg[$j] = $msg[$j]. par(enruua_var($l,"In order to access the manuscript, please log in to our online system at the address","Для доступа к рукописи нужно войти в нашу электронную систему, расположенную по адресу","Для отримання рукопису слід увійти до нашої електронної системи, розташованої за адресою"), $j) .par(href($_journal['loginpage'],$j).".",$j); $msg[$j] = $msg[$j] . bpar($j). enruua_var($l,"To log in, you will have to enter","Для входа в систему потребуется ввести","Для входу до системи буде потрібно ввести")." " .enruua_var($l,"your user name","Ваш код пользователя","Ваш код користувача")." " .quote($get_u['username'],$l,$j)." ".$x . "."; /*if ($c) $msg[$j] = $msg[$j] . " ". enruua_var($l,"Thе electronic version of the manuscript is also attached to this message","Электронный вариант рукописи также прилагается к этому сообщению","Електронна версія рукопису також додається до цього повідомлення").".";*/ $msg[$j] = $msg[$j] . epar($j); } $msg[$j] = $msg[$j] . par(enruua_var($l,"Let us recall that, on the page indicated, there is a possibility to regenerate your password in case you forgot it (the new password will be sent you by email)","Напомним, что на случай, если Вы забыли свой пароль, на указанной выше интернет-странице имеется возможность сгенерировать для Вас новый пароль, который сразу же будет Вам отправлен электронной почтой","Нагадуємо, що у випадку, якщо Ви забули свій пароль, на вказаній інтернет-сторінці є можливість сгенерувати для Вас новий пароль, який Вам буде надіслано електронною поштою").".", $j); if ($nrems) { if ($nrems==1) { $r = enruua_var($l,"This is the repeated request sent to you by the Editors in relation to the matter indicated","Это - повторное напоминание, посланное Вам редакцией касательно указанного вопроса.","Це - повторне нагадування, надіслане Вам редакцією стосовно згаданого питання"); } else { $r = enruua_var($l,"This is the","Это - уже","Це - вже") ." ".which_ordinal($nrems+1,"N",$l)." " .enruua_var($l,"reminder sent to you in relation to this subject","напоминание, посланное Вам редакцией касательно указанного вопроса","нагадування, надіслане Вам редакцією стосовно згаданого питання"); } } else //1st reminder { $r = enruua_var($l,"Let us recall that this request had already been sent to you","Позвольте напомнить, что письмо аналогичного содержания уже было Вам отправлено","Дозвольте нагадати, що лист аналогічного змісту вже було Вам надіслано")." " .say_days_ago(days_between_dates($referee['requested'],today() ),$l); } $msg[$j] = $msg[$j] . par($r.".", $j); $msg[$j] = $msg[$j]. par(enruua_var($l,"We shall appreciate very much if you kindly let us know of your decision as soon as possible in order that the manuscript processing not be delayed any more","Мы будем Вам весьма признательны, если Вы как можно скорее сообщите нам о своем решении, что поможет избежать задержек в рассмотрении упомянутой рукописи","Будемо Вам вельми вдячні, якщо Ви якнайшвидше повідомите нам про Ваше рішення і, таким чином, у розгляді згаданого рукопису не буде затримки").". " .enruua_var($l,"Thank you in advance","Заранее Вас благодарим","Наперед Вам дякуємо").".", $j); } notify_person_full($person,$msg,$subj); if (is_array($files)) $files_attached = 1; else $files_attached = 0; /*mysql_query("update Referees set requested=now(), requested_by=".$session->author_id.", files_attached='".$files_attached."', requested_electronically=1 where id='". $referee['id'] . "'"); mysql_query("update Referees set revision_sent_to_referee=now() where id='". $referee['id'] . "'");*/ }//revision }//send_refereeing_reminder function send_refereeing_reminder2($referee,$files=NULL,$formal=FALSE) { global $_journal,$session,$sendmail,$swift; $person = person($referee['referee_id']); $rev = revision($referee['revision_id']); if ($rev['id']) { $rems2 = sent_reminders2($referee['id']); $nrems2 = count($rems2); //before we send mysql_query("insert into Reminders2 (referee_entry_id,sent,sent_by) values ('".$referee['id']."', now(), '".$session->author_id."')"); $revno = show_revision_number($rev); $art = article($rev['article_id']); $authors = article_authors_entries($art); $pr_rev = previous_revision($rev); $pr_referees = referees($pre_rev); $is_in = is_in_referees($person,$pr_rev); $l = preferred_language($person);//the potential referee if (!$nrems2) $subj = enruua_var($l,"Repeated reminder for the report on manuscript", "Копия напоминания подать рецензию на рукопись", "Копія нагадування надати рецензію на рукопис") . " ". $revno; else $subj = enruua_var($l,which_ordinal($nrems2+1,"N",$l,TRUE) ." "."report reminder on manuscript", which_ordinal($nrems2+1,"F",$l,TRUE) ." "."напоминание о рецензии на рукопись", which_ordinal($nrems2+1,"N",$l,TRUE) ." "."нагадування про рецензію на рукопис") . " ". $revno; foreach (array('TEXT','HTML') as $j) { $t[$j] = //andify(article_authors($art,$l,$j),$l).": ". quote(article_title($art,$l),$l,$j); $authors = article_authors($art,$l,$j); if (count($authors)>1) $au = enruua_var($l," by",", авторами которой являются",", авторами якої є"); else $au = enruua_var($l," by",", автором которой является",", автором якої є"); $au = $au . " ".andify($authors,$l).". "; if ($is_in) { $ver = enruua_var($l,"This is a revised version of manuscript", "Это - переработанная версия рукописи", "Це - перероблена версія рукопису") ." ".number_symbol($l)." ". show_revision_number($pr_rev) .enruua_var($l," that you had refereed before", ", которую рецензировали Вы", ", яку рецензували Ви")."."; } else $ver = ""; $msg[$j] = par(enruua_var($l,"The Editorial Board of the journal","Редакция журнала","Редакція журналу")." " .quote($_journal['name'][$l],$l,$j)." ".enruua_var($l,"would like to ask you to speed up refereeing of manuscript","просит Вас по возможности ускорить подготовку рецензении на рукопись","просить Вас, наскільки можливо, прискорити підготовку рецензії на рукопис")." " .number_symbol($l). space($j). $revno. " ".enruua_var($l,"of the paper","статьи","статті")." " .$t[$j] .$au. $ver, $j); $c= count($files); if ($c) { /* $msg[$j] = $msg[$j] . " (" .say_ordinal($c,enruua_var($l,"file","файл","файл"), enruua_var($l,"files","файла","файли"), enruua_var($l,"files","файлов","файлів")) . ")"; */ } /*if ($c) $msg[$j] = $msg[$j] . " ". enruua_var($l,"Thе electronic version of the manuscript is also attached to this message","Электронный вариант рукописи также прилагается к этому сообщению","Електронна версія рукопису також додається до цього повідомлення").".";*/ //$msg[$j] = $msg[$j] . epar($j); if ($nrems2) { if ($nrems2==1) { $r = enruua_var($l,"This is the repeated request sent to you by the Editors in relation to the matter indicated","Это - повторное напоминание, посланное Вам редакцией касательно указанного вопроса.","Це - повторне нагадування, надіслане Вам редакцією стосовно згаданого питання"); } else { $r = enruua_var($l,"This is the","Данное письмо - это уже","Даний лист - це вже") ." " . which_ordinal($nrems2+1,"N",$l)." ".enruua_var($l,"reminder sent to you in relation to this subject","напоминание, посланное Вам редакцией касательно указанного вопроса","нагадування, надіслане Вам редакцією стосовно згаданого питання"); } } else //1st reminder { $r = enruua_var($l,"Let us recall that this request had already been sent to you","Позвольте напомнить, что письмо аналогичного содержания уже было Вам отправлено","Дозвольте нагадати, що лист аналогічного змісту вже було Вам надіслано")." ".say_days_ago(days_between_dates($referee['requested'],today() ),$l); } $msg[$j] = $msg[$j] . par($r.".", $j); $msg_after[$j] = par(enruua_var($l,"We shall appreciate very much if you kindly let us know of your progress on the report as soon as possible, so that the manuscript processing is not delayed any more","Мы будем Вам весьма признательны, если Вы как можно скорее сообщите нам о ходе работы над рецензией, чтобы избежать нежелательной задержки в рассмотрении упомянутой рукописи","Будемо Вам вельми вдячні, якщо Ви якнайшвидше повідомите нам про поступ роботи над рецензією рішення, щоб уникнути затримки у розгляді згаданого рукопису").". ".enruua_var($l,"Thank you in advance","Заранее Вас благодарим","Наперед Вам дякуємо").".", $j); } //notify_person_full($person,$msg,$subj); notify_person_full($person,say_authentication_data($person,$l,$msg,$msg_after),$subj); if (is_array($files)) $files_attached = 1; else $files_attached = 0; /*mysql_query("update Referees set requested=now(), requested_by=".$session->author_id.", files_attached='".$files_attached."', requested_electronically=1 where id='". $referee['id'] . "'"); mysql_query("update Referees set revision_sent_to_referee=now() where id='". $referee['id'] . "'");*/ }//revision }//send_refereeing_reminder2 function sent_reminders($referee_entry_id) { $res = mysql_query("SELECT * FROM Reminders WHERE referee_entry_id='".$referee_entry_id."' ORDER BY sent,sent_by"); while ($r = mysql_fetch_array($res)) { $rems[] = $r; } return $rems; }//sent_reminders function sent_reminders2($referee_entry_id) { $res = mysql_query("SELECT * FROM Reminders2 WHERE referee_entry_id='".$referee_entry_id."' ORDER BY sent,sent_by"); while ($r = mysql_fetch_array($res)) { $rems[] = $r; } return $rems; }//sent_reminders2 function previous_revisions($rev) { if ($rev['id']) { $res= mysql_query("SELECT * FROM Revisions WHERE article_id=".$rev['article_id']." AND id != ".$rev['id']." AND created<= '".$rev['created']."' AND revision_received <= '".$rev['revision_received'] ."' ORDER BY created,id,revision_received"); //tell(mysql_num_rows($res)); while ($rr = mysql_fetch_array($res)) { $r[] = $rr; //$i++; } } else { $r = array(); } return $r; } function previous_revision($rev) { if ($rev['id']) { $res= mysql_query("SELECT * FROM Revisions WHERE article_id=".$rev['article_id']." AND id != " .$rev['id']." AND created<= '".$rev['created']."' AND revision_received <= '".$rev['revision_received'] ."' ORDER BY created,id,revision_received"); $num = mysql_num_rows($res); $i =0; while ($i < $num) { $r = mysql_fetch_array($res); $i++; } } else { $r = array(); } // echo "<<<".$i." vs ".$num.">>>>"; return $r; } function previous_revision2($rev) { $res = previous_revision_entries($rev); $n =mysql_num_rows($res); if ($n) { while ($pr = mysql_fetch_array($res)) { // } } else $pr = NULL; return $pr; } function revision_report_dir_name($rev_id) { global $_root_path; //$r = revision_dir_name($rev_id); //return ($r) ? $r."/report" : ""; return $rev_id? $_root_path."/admin/private/reports/".$rev_id : NULL; } function revision_report_dir_name_web($rev_id) { global $_root; return $rev_id? $_root."/admin/private/reports/".$rev_id : NULL; }// function revision_dir_name($rev_id) { global $_root_path; return $_root_path."/admin/private/manuscripts/".$rev_id; } function revision_dir_name_web($rev_id) { global $_root; return $rev_id? $_root."/admin/private/manuscripts/".$rev_id : NULL; }// function report_pretend_unsumbitted($referee) { if (is_valid_date($referee['pretend_unsubmitted'])) return TRUE; else return FALSE; } function report_done($referee) { // if ((is_valid_date($referee['report_received'])) && ($referee['recommends'])) //04.09.2011: for emergency open! if (is_valid_date($referee['report_received'])) return TRUE; else return FALSE; } function possible_recommendations() { return array ("accept" => 1, "minor_changes_no_refereeing" =>2, "minor_changes_me" =>3, "minor_changes_somebody_else"=>4, "major_changes"=> 5, "decline" => 6); } function possible_decisions() { return array ("undecided" => 0, "accept" => 1, "minor_changes_no_refereeing" =>2, "minor_changes_refereeing" =>3, "major_changes"=>4, "reject"=> 5, "withdraw" =>6, "forward" =>7 ); } function eligible_decisions($rev) { $pr = previous_revision($rev); if ($pr['id']) { switch (decision_meaning($pr['decision'])) { case "minor_changes_no_refereeing": $a = array ("undecided" => 0, "accept" => 1); break; default: $a = array ("undecided" => 0, "accept" => 1, "minor_changes_no_refereeing" =>2, "minor_changes_refereeing" =>3, "major_changes"=>4, "reject"=> 5); break; } } else $a = array ("undecided" => 0, "accept" => 1, "minor_changes_no_refereeing" =>2, "minor_changes_refereeing" =>3, "major_changes"=>4, "reject"=> 5); asort($a); return $a; } function decision_meaning($dec) { $r = array_flip(possible_decisions()); return $r[$dec]; } function decision_meaning_display($dec_meaning,$l="",$author_side=FALSE) { global $lang; if (!is_valid_language($l)) $l = languify($lang); switch ($dec_meaning) { case "accept": return enruua_var($l,"accept for publication in the present state", "принять к печати в настоящем виде", "прийняти до друку у цьому вигляді"); break; case "minor_changes_no_refereeing": return enruua_var($l,"minor changes, no further review", "внести незначительные исправления, без повторного рецензирования", "внести незначні виправлення, без повторного рецензування"); break; case "minor_changes_refereeing": return enruua_var($l,"minor changes, with further review", "внести исправления, нужно повторное рецензирование", "внести виправлення, потрібно повторне рецензування"); break; case "major_changes": return enruua_var($l,"major changes are necessary", "работа требует значительной переработки", "робота потребує значного доопрацювання"); break; case "reject": if ($author_side) return enruua_var($l,"the paper cannot be published", "статья не может быть опубликована", "статтю не можна опублікувати"); else return enruua_var($l,"the work is not suitable for publication and should be rejected", "работа непригодна к публикации, отклонить", "робота непридатна до публікації, відхилити"); break; case "withdraw": return enruua_var($l,"stop processing according to the request of the authors", "прекратить рассмотрение по желанию авторов", "припинити розгляд за бажанням авторів"); break; case "forward": $other = other_journal($l); return enruua_var($l,"forward the manuscript to", "передать статью в", "передати статью до")." ".$other['shortname']; break; default: return enruua_var($l,"do not make any decision at this moment", "пока что не принимать никакого решения", "поки що не приймати ніякого рішення"); break; } } function recommendation_meaning($rec) { $r = array_flip(possible_recommendations()); return $r[$rec]; } function recommendation_meaning_display($rec_meaning,$l="") { global $lang; if (!is_valid_language($l)) $l = languify($lang); switch ($rec_meaning) { case "accept": return enruua_var($l,"accept for publication in the present state", "принять к печати в настоящем виде", "прийняти до друку у цьому вигляді"); break; case "minor_changes_no_refereeing": return enruua_var($l,"accept for publication (after minor changes, with no further review)", "принять к печати (после незначительных исправлений, без повторного рассмотрения)", "прийняти до друку (після незначних виправлень, без повторного розгляду)"); break; case "minor_changes_me": return enruua_var($l,"some revisions are needed (I will check the revised manuscript)", "нужны некоторые исправления (я ознакомлюсь с переработанной рукописью)", "потрібні певні виправлення (я ознайомлюся із виправленим рукописом)"); break; case "minor_changes_somebody_else": return enruua_var($l,"some revisions are needed (I will not check the revised manuscript)", "нужны некоторые исправления (я не смогу ознакомиться с переработанной рукописью)", "потрібні певні виправлення (я не зможу ознайомитися із виправленим рукописом)"); break; case "major_changes": return enruua_var($l,"major changes are necessary", "работа требует значительной переработки", "робота потребує значного доопрацювання"); break; case "decline": return enruua_var($l,"the work is not worth publication, I suggest to decline it", "работа непригодна к публикации, рекомендую отклонить", "робота непридатна до публікації, рекомендую відхилити"); break; default: return "-- ".enruua_var($l,"unspecified", "не указано ", "не вказано")." --"; break; } } function referees_remark_entries($referee) { $res = mysql_query("SELECT * from Referees_remarks WHERE referee_entry_id=".$referee['id']." ORDER BY id"); return $res; } function referees_confidential_remark_entries($referee) { $res = mysql_query("SELECT * from Referees_confidential_remarks WHERE referee_entry_id=".$referee['id']." ORDER BY id"); return $res; } function days_between_dates($from,$to="") //YYYY-MM-DD { if (!trim($to)) $to = today(); $froma = explode_date($from); $toa = explode_date($to); return GregorianToJD($toa["month"], $toa["day"], $toa["year"]) -GregorianToJD($froma["month"], $froma["day"], $froma["year"]) ; }//days_between_dates function today() { return date("Y-m-d"); }//today function input_date($nday,$nmonth,$nyear,$day,$month,$year,$fill_today="") { global $lang; // $nd=$day; $nm=$month; $ny=$year; if ($fill_today) { if ($nd==0) $nd=date("j"); if ($nm==0) $nm=date("n"); if ($ny==0) $ny=date("Y"); } // echo "<select name=\"".$nday."\" onchange=\"this.form.submit();\">\n"; echo "<option"; //if (!$fill_today) echo " selected"; echo " value=\"0\">"."--"."</option>\n"; for ($i = 1; $i <= 31; $i++) { echo "<option"; if (($nd==$i) && ($nd!==0)) echo " selected"; echo " value=".$i.">".$i."</option>\n"; } echo "</select>"; echo " "; echo "<select name=\"".$nmonth."\" onchange=\"this.form.submit();\">\n"; echo "<option"; //if (!$fill_today) echo " selected"; echo " value=\"0\">"."--"."</option>\n"; for ($i = 1; $i <= 12; $i++) { echo "<option"; if (($nm==$i) && ($nm!==0)) echo " selected"; echo " value=".$i.">".of_month($i)."</option>\n"; } echo "</select>"; echo " "; echo "<input type=text size=4 maxlength=4 name=\"".$nyear."\" value=\"".$ny."\" >\n"; //echo "$ny"; }//input_date function draw_revision_type($rev,$image_height=0) {global $lang; if (is_array($rev)) $code= revision_files_available($rev); //$rev["revision_is_electronic"]; else $code=$rev; if($code) {$img= "../pixmaps/Electronic.png"; $alt=enruua("Electronic","","электронная","електронна");} else {$img="../pixmaps/Hardcopy.png"; $alt=enruua("hardcopy","","бумажная","паперова");} if (!$image_height) $image_height="20px"; return "<img src=$img height=".$image_height.">"; }//draw_revision_type function big_message($text,$class="success") { global $lang; return "<div class=".$class.">"."<p>".$text."</p></div>"; }//update_message function ref_symbol() { //return "➧"; return //"➭"; "☞"; }//ref_symbol function address_symbol() { return //"➭"; "☎"; }//ref_symbol function info_box_admin($contents,$title="")//uses js in header.php { if(!$title) $title="?";//enruua("Help","Помощь","Допомога"); $v = "<a class=info_box href=info_box.php?contents=".urlencode($contents)." onclick=\"return show_hide_box(this, 200, 240, '2px solid')\">"; $v = $v.$title."</a>"; return $v; }//info_box_admin function admin_note($text,$title="") { global$lang; if (!trim($title)) $title = enruua("Note","Примечание","Примітка"); echo "<div class=\"smaller\">\n"; echo "<fieldset class=\"admin_note\"><legend>".$title."</legend>\n"; echo "<p>".trim($text)."</p></fieldset>\n"; echo "</div>\n"; }//admin_note function admin_alert($text,$title="") { global$lang; if (!trim($title)) $title = enruua("Warning","Внимание","Увага")."!"; echo "<DIV CLASS=\"admin_alert\">\n"; echo "<FIELDSET>\n"; echo "<LEGEND>".$title."</LEGEND>\n"; echo "<P>".trim($text)."</P>\n"; echo "</FIELDSET>\n"; echo "</DIV>\n"; }//admin_alert function revision_option_name($rev) { global $lang; if (is_valid_date($rev["revision_received"])) $t= enruua("Version of ","Версия от","Версія від")." ".print_date($rev["revision_received"]); else $t= enruua("Unsubmitted version", "Непосланная в редакцию версия","Ненадіслана до редакції версія"); $resr = mysql_query("SELECT * FROM Referees WHERE revision_id='".$rev['id']."' AND replied>0 AND agrees>0 AND (cancelled IS NULL) ORDER BY requested,replied,id"); $num = mysql_num_rows($resr); if ($num) { $t = $t . " "; if ($num>1) $t = $t . "(".enruua("referees","рецензенты","рецензенти"); else $t = $t . "(".enruua("referee","рецензент","рецензент"); $t = $t.": "; $n =0; while ($ref = mysql_fetch_array($resr)) { $n++; if ($n>1) if ($n!=2) $t = $t . ", "; else $t = $t." ".enruua("and","и","та")." "; if ($ref["referee_id"]) $t=$t.author_edit_link($ref["referee_id"]); else $t = $t .enruua("unknown","непонятно кто","незрозуміло хто"); } } else $t=$t . " (".enruua("referee not assigned","рецензент не назначен","рецензента не призначено"); /*$t = $t. ", ".enruua("status","состояние","стан").": ".article_status($rev['status']); */ $t=$t.")."; $t = $t . " ". something_done_by(person($rev['created_by']), "To the Editorial Board communicated by", "В редакцию рукопись версии представил", "До редакції рукопис версії подав", "To the Editorial Board communicated by", "В редакцию рукопись версии представила", "До редакції редакції рукопис версії подала")."."; return $t; }//revision_option_name function utf8_truncate_or_fill($string,$max_chars) { if ($max_chars < 3) $s = utf8_substr($string,0,$max_chars); else { $len= utf8_strlen($string); if ($len > $max_chars) $s = utf8_substr($string,0,$max_chars-3)."..."; else $s= $string.str_repeat(" ",$max_chars-$len); } return $s; }//mb_truncate_or_fill function institution_option_name($row,$max_chars=0) {global $lang, $_max_institution_title_chars; if (!$max_chars) $max_chars = $_max_institution_title_chars; $t = utf8_truncate_or_fill(institution_compact_name($row),$max_chars) . " ("//.address_symbol() ."".country_meaning($row["country"])."); " //.ref_symbol()." ".enruua("record","запись","запис")." " .number()." ".$row['id']; return $t; }//institution_option_name function institution_compact_name($entry,$max_chars=0) {// string truncationto be realized! global $lang,$_max_institution_title_chars; if (!$max_chars) $max_chars = $_max_institution_title_chars; $name = ""; // if ($entry["name_gen_$lang"]) $name=$name.$entry["name_gen_$lang"]; // if ($entry["name_$lang"]) { if ($entry["name_gen_$lang"]) $name=$name."; "; $name=$name.$entry["name_$lang"]; } //if (mb_strlen($name)>$_max_institution_title_chars) // $name=utf8_substr($name,0,$max_chars)."..."; return $name; } //institution_option_name function article_option_name($row,$language="") { global $_database,$lang,$_max_article_title_chars; if (!is_valid_language($language)) $language = $lang; $v = number()." ".$row["id"].", \""; // $short_title=utf8_substr($row["title_".$language],0,$_max_article_title_chars); $v = $v.$short_title; if ($short_title!=$row["title_".$language]) $v=$v."..."; $v=$v."\""; // $f_au = mysql_db_query($_database, "select id,author_id from AA where article_id=".$row["id"]." order by author_ambition"); // $howmany=0; $au= mysql_fetch_array($f_au); $by = plain_short_name($au["author_id"],FALSE,$language); while ($au) { //$by = plain_short_name($au[author_id]); $howmany++; $au= mysql_fetch_array($f_au); }//au // if (!$howmany) $by="???"; elseif ($howmany>1) $by=$by." ".enruua("et al", "и др", "та ін")."."; $v=$v.": ".$by." "; /* $v=$v." (".$s; $v = $v.article_status_brief($row["status"]); if (article_status_meaning($row["status"])=="published") $v=$v."; ".enruua("vol","т","т").". ".$row["published_volume"].", ".number()." ".$row["published_number"]; else { } $v=$v.")"; */ // return $v; }//article_option_name function author_option_name($entry) { global $lang; $name = $entry["last_name_$lang"]; if ($entry["first_name_$lang"]) $name=$name.", ".$entry["first_name_$lang"]; if ($entry["middle_name_$lang"]) $name=$name." ".$entry["middle_name_$lang"]; return trim($name); } //author_option_name function authors_sort_criteria () { global $lang; return array ("id" => enruua("Record number","Номер записи","Номер запису"), "last_name_".$lang => enruua("Last name","Фамилия","Прізвище"), "first_name_".$lang => enruua("First name","Имя","Ім'я"), ); }//authors_sort_criteria function articles_sort_criteria () { global $lang; return array ("id" => enruua("Record number","Номер записи","Номер запису"), "title_".$lang => enruua("Article title","Название","Назва"), "status" => enruua("Status","Состояние рукописи","Стан рукопису"), "received" => enruua("Reception date","Дата поступления рукописи в редакцию","Дата надходження рукопису до редакції"), "accepted" => enruua("Acception date","Дата приема к публікации","Дата прийому до публікації"), ); }//articles_sort_criteria function institutions_sort_criteria () { global $lang; return array ("id" => enruua("Record number","Номер записи","Номер запису"), "name_".$lang => enruua("Main organization name","Название подразделения организации","Назва підрозділу організації"), "name_gen_".$lang => enruua("Main organization name","Название головной организации","Назва головної організації"), "city_".$lang => enruua("City","Город","Місто"), "country_".$lang => enruua("Country","Страна","Країна"), ); }//institutions_sort_criteria function author_edit_link($id,$add_title=FALSE) { global $lang,$_journal; $p = person($id); $t = (($p["title"]) && ($add_title)) ? title_meaning($p["title"],$lang)." " : ""; if ($p) { $t = $t ."<A "._title_BoxOver(enruua("Explanation","Объяснение","Пояснення"),enruua("By pressing this button you will open the card","Нажатием этой кнопки Вы откроете карточку","Натиснненням цієї кнопки Ви відкриєте картку")." ".number()." ".$id ." ".enruua("in the Table of Persons","в таблице персоналий","в таблиці персоналій")."." ) ." HREF=".$_journal['adminpage']."/"."manage_authors_action.php?id_selected=" . $id ."&todo=modify&lang=".$lang."#main target=_new>"; $name= plain_short_name($id); return $t . $name."</A>"; } return "???"; } //author_edit_link function author_edit_button($id,$add_title=FALSE) { global $lang,$_journal; $p = person($id); $t = (($p["title"]) && ($add_title)) ? title_meaning($p["title"],$lang)." " : ""; $name= plain_short_name($id); if ($p['id']) { $v = "<form action=\"".author_edit_script($id)."\" method=\"post\" target=\"_blank\" style=\"display: inline\">" . "<input type=\"hidden\" name=\"lang\" value=\"".$lang."\">" . "<input type=\"hidden\" name=\"id_selected\" value=\"".$id."\">" . "<input type=\"hidden\" name=\"todo\" value=\"modify\">" . "<input type=\"submit\" value=\"".$name."\" class=\"author_edit\" >"; /*$t = $t ."<A "._title_BoxOver(enruua("Explanation","Объяснение","Пояснення"),enruua("By pressing this button you will open the card","Нажатием этой кнопки Вы откроете карточку","Натиснненням цієї кнопки Ви відкриєте картку")." ".number()." ".$id ." ".enruua("in the Table of Persons","в таблице персоналий","в таблиці персоналій")."." ) ." HREF=".$_journal['adminpage']."/"."manage_authors_action.php?id_selected=" . $id ."&todo=modify&lang=".$lang."#main target=_new>";*/ } else $v = ""; return $v; } function letter_edit_page($id,$tag="") { global $lang,$_root,$_admin; $tmp= $_root."/".$_admin."/"."letter_edit.php?lang=".$lang; if ($id) $tmp = $tmp . "&letter_id=".$id; if ($tag=trim($tag)) $tmp=$tmp."#".$tag; return $tmp; } //letter_edit_page function author_edit_script($tag="") { global $lang,$_root,$_admin; $tmp= $_root."/".$_admin."/"."manage_authors_action.php"; if ($tag=trim($tag)) $tmp=$tmp."#".$tag; return $tmp; } function author_edit_page($id,$tag="") {global $lang,$_root,$_admin; $tmp= $_root."/".$_admin."/"."manage_authors_action.php?id_selected=".$id."&todo=modify&lang=".$lang; if ($tag=trim($tag)) $tmp=$tmp."#".$tag; return $tmp; } //author_edit_page function institution_edit_link($id,$title="") {global $lang,$_root,$_admin; if (!trim($title)) $title=number()." ".$id; return "<a "._title_BoxOver(enruua("Explanation","Объяснение","Пояснення"), enruua("By pressing this button you will open the card", "Нажатием этой кнопки Вы откроете карточку", "Натисненням цієї кнопки Ви відкриєте картку")." ".number()." ".$id ." " .enruua("in the Table of Institutions","в таблице организаций","в таблиці організацій")."." )." href=manage_institutions_action.php?id_selected=".$id."&todo=modify&lang=".$lang."#main target=_new>".$title."</a>"; } //institution_edit_link function institution_edit_page($id,$tag="") {global $lang,$_root,$_admin; $tmp= $_root."/".$_admin."/"."manage_institutions_action.php?id_selected=".$id."&todo=modify&lang=".$lang; if ($tag=trim($tag)) $tmp=$tmp."#".$tag; return $tmp; } //institution_edit_page function article_edit_link($id,$title="") {global $lang,$_root,$_admin; if (!trim($title)) $title="<b>".$id."</b>"; return "<a "._title_BoxOver(enruua("Explanation","Объяснение","Пояснення"), enruua("By pressing this button you will open the card", "Нажатием этой кнопки Вы откроете карточку", "Натисненням цієї кнопки Ви відкриєте картку")." ".number()." ".$id ." " .enruua("in the Table of Articles","в таблице статей","в таблиці статей")."." )." href=manage_articles_action.php?id_selected=".$id."&todo=modify&lang=".$lang."#main target=_new>".$title."</a>"; } //author_edit_link // function article_edit_page($id,$tag="") {global $lang,$_root,$_admin; $tmp= $_root."/".$_admin."/"."manage_articles_action.php?id_selected=".$id."&todo=modify&lang=".$lang; if ($tag=trim($tag)) $tmp=$tmp."#".$tag; return $tmp; } //author_edit_page // function revision_edit_link($rev,$title="") { global $lang; if (!$title) $title = show_revision_number($rev); $r = "<FORM ACTION=\"edit_revision.php\" METHOD=\"POST\">\n" //. pass("id_selected",$rev["article_id"]) . pass("revision_id",$rev["id"]) . pass("lang",$lang) . "<INPUT class=\"revision_edit\" TYPE=\"submit\" VALUE=\"" .$title."\">" . "</FORM>\n"; return $r; } /* function revision_edit_link($id,$title="") {global $lang,$_root,$_admin; if (!trim($title)) $title="<b>".$id."</b>"; return "<a "._title_BoxOver(enruua("Explanation","Объяснение","Пояснення"), enruua("This link leads one to the view and edit page of the indicated version", "Переходом по этой ссылке Вы попадете на страницу просмотра и редактирования указанной версии", "Переходом за цим посиланнням Ви дістаненесь на сторінку перегляду та редагування вказаної версії")." " .enruua("of Article","статьи","статті")." ".number()." ".article_of_revision($id).".\n<p>" . enruua("In this colum, an expression of the form", "В этой колонке выражение вида","В цій колонці вираз вигляду")." "".number()." 291-2-512" " . enruua("should be understood as follows: "291" is the number of the article, "2" is the logical number of a revision, whereas "512" is its unique identifier in the database. The latter is shown in order to prevent occasional deletion of important revisions", "нужно понимать так: "291" - это номер статьи, "2" - порядковый номер версии, а "512" - ее уникальный идентификатор в базе данных. Последний идентификатор приводится для того, чтоб избежать случайного удаления нужной версии", "слід розуміти так: "291" - це номер статті, "2" - порядковий номер версії, а "512" - її унікальний ідентифікатор у базі даних. Останній ідентифікатор наводиться для того, щоб запобігти випадковому знищенню потрібної версії").".")."href=\"".revision_edit_page($id)."\">".$title."</a>"; }//revision_edit_link */ function revision_edit_page($id,$tag="") {global $lang,$_root,$_admin; $tmp= $_root."/".$_admin."/" . "edit_revision.php?revision_id=".$id."&id_selected=".article_of_revision($id)."&todo=none"; if (is_valid_language($lang)) $tmp = $tmp."&lang=".$lang; if ($tag=trim($tag)) $tmp=$tmp."#".$tag; return $tmp; } //author_edit_page function article_of_revision($rev_id) { $q=mysql_query("select article_id from Revisions where id='".$rev_id."' "); if ($a = mysql_fetch_array($q)) return $a['article_id']; else return 0; }//article_of_revision function fill_var_enruua($varprefix,$trim="1",$lang_var="") { global $lang,$_charset,${$varprefix."_en"},${$varprefix."_ru"},${$varprefix."_ua"}; if (!is_valid_language($lang_var)) $lang_var = $lang; $l["en"] = array(0 => "ru", 1=> "ua"); $l["ru"] = array(0 => "en", 1=> "ua"); $l["ua"] = array(0 => "en", 1=> "ru"); if ($trim) { ${$varprefix."_en"} = trim(${$varprefix."_en"}); ${$varprefix."_ru"} = trim(${$varprefix."_ru"}); ${$varprefix."_ua"} = trim(${$varprefix."_ua"}); } $vl = ${$varprefix."_".$lang_var}; if ($vl) { while (list($litem,$val)=each($l[$lang_var])) { if (!${$varprefix."_".$val}) { if (!${$varprefix."_".$val}) ${$varprefix."_".$val} = (($val=="en") && ($lang_var!="en")) ? $vl /*iconv($_charset,"ASCII//TRANSLIT",$vl)*/ : $vl; } }//while } //iflang } //fill_var_enruua function person_field($f) { global $lang; $f = trim($f); switch ($f) { case "id": return enruua("Number of the record in the database","Номер записи в базе","Номер запису в базі"); break; case "last_name_en": return enruua("Last name in English","Фамилия по-английски","Прізвище англійською"); break; case "last_name_ru": return enruua("Last name in Russian","Фамилия по-русски", "Прізвище російською"); break; case "last_name_ua": return enruua("Last name in Ukrainian","Фамилия по-украински","Прізвище українською"); break; case "first_name_en": return enruua("First name in English","Имя по-английски","Ім'я англійською"); break; case "first_name_ru": return enruua("First name in Russian","Имя по-русски","Ім'я російською"); break; case "first_name_ua": return enruua("First name in Ukrainian","Имя по-украински","Ім'я українською"); break; case "middle_name_en": return enruua("Middle name in English","Отчество по-английски","По-батькові англійською"); break; case "middle_name_ru": return enruua("Middle name in Russian","Отчество по-русски","По-батькові російською"); break; case "middle_name_ua": return enruua("Middle name in Ukrainian","Отчество по-украински","По-батькові українською"); break; case "short_name_en": return enruua("Short name in English","Сокращенное имя по-английски","Скорочене ім'я англійською"); break; break; case "short_name_ru": return enruua("Short name in Russian","Сокращенное имя по-русски","Скорочене ім'я російською"); break; case "short_name_ua": return enruua("Short name in Ukrainian","Сокращенное имя по-украински","Скорочене ім'я українською"); break; case "title_en": return enruua("Salutation in English","Обращение по-английски","Звернення англійською"); break; case "title_ru": return enruua("Salutation in Russian","Обращение по-русски","Звернення російською"); break; case "title_ua": return enruua("Salutation in Ukrainian","Обращение по-украински","Звернення українською"); break; case "sex": return enruua("Sex","Пол","Стать"); break; case "phone": return enruua("Office phone number","Рабочий номер телефона","Робочий номер телефону"); break; case "fax": return enruua("Fax number","Номер факса","Номер факсу"); break; case "email": return enruua("Email addresses","Адреса электронной почты","Адреси електронної пошти"); break; case "homepage": return enruua("Personal homepage","Адрес личного интернет-сайта","Адреса особистого інтернет-сайту"); break; case "editor": return enruua("Relation to the editorial board of the journal", "Отношение к редколлегии журнала","Відношення до редколегії журналу"); break; case "title": return enruua("Salutation in mail","Обращение в корреспонденции","Звернення в кореспонденції"); break; case "preferred_language": return enruua("Preferred language of communication","Язык, на котором предпочитает общаться","Мова, якою спілкується"); break; default: return enruua("The field","Поле","Поле")."\"".$f."\""; break; } } //person_field // function remaining_languages($var="") { global $lang; if (!trim($var)) $var = $lang; switch ($var){ case "en": return array("ru"=>"ru","ua"=>"ua"); break; // case "ru": return array("en"=>"en","ua"=>"ua"); break; // case "ua": return array("en"=>"en","ru"=>"ru"); break; } }//remaining_languages // // to convert cyrillic text (windows-1251) to english // letters (e.g. for sending to a cell phone) function koi2transl( $text_koi ) { $text = convert_cyr_string ($text_koi, "k", "w"); $cyrlet = 'юабцде╗фгхийклмнопярстужвьызшэщчъ'. 'ЮАБЦДЕ╦ФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ'; $englet = 'ABVGD ZIJKLMNOPRSTUFHC `Y`E '. 'abvgd zijklmnoprstufhc `y`e '; $result = ''; for ( $i=0; $i<strlen($text); $i++ ) { $c1 = $text[ $i ]; $p1 = strpos( $cyrlet, $c1 ); if ( $p1 === FALSE ) { $result .= $c1; continue; } // $ct = $englet[ $p1 ]; if ( $ct != ' ' ) { $result .= $ct; continue; } switch ( $c1 ) { case 'е': $ct = 'Je'; break; // case 'Е': $ct = 'e'; break; // case '╗': $ct = 'Jo'; break; // case '╦': $ct = 'jo'; break; case 'ф': $ct = 'Zh'; break; case 'Ф': $ct = 'zh'; break; // case 'в': $ct = 'Ch'; break; // case 'В': $ct = 'ch'; break; case 'ь': $ct = 'Sh'; break; // case 'Ь': $ct = 'sh'; break; // case 'ы': $ct = 'Sch'; break; // case 'Ы': $ct = 'sch'; break; // case 'ч': $ct = 'Ju'; break; // case 'Ч': $ct = 'ju'; break; // case 'ъ': $ct = 'Ja'; break; // case 'Ъ': $ct = 'ja'; break; // default: $ct = '?'; } $result .= $ct; } return $result; } // function tell($msg) { echo "<SCRIPT TYPE=\"text/javascript\"> alert('".$msg."'); </SCRIPT>"; }//tell function go_old($msg) { echo "<SCRIPT TYPE=\"text/javascript\"> window.location=('".$msg."'); </SCRIPT>"; }//go function go($link,$args=NULL,$vals=NULL) { global $lang; $name = gen_alpha_string(16); echo "<form name=\"".$name."\" method=\"post\" action=\"".$link."\">\n"; echo "<input type=\"hidden\" name=\"lang\" value=\"".$lang."\">\n"; $c = count($args); for($i=0; $i<$c; $i++) { echo "<input type=\"hidden\" name=\"".$args[$i]."\" value=\"".$vals[$i]."\">\n"; } echo "</form>\n"; echo "<script language=\"javascript\" type=\"text/javascript\">\n"; echo "document.".$name.".submit();\n"; echo "</script>\n"; } function gen_index_redirect($page="") { global $lang,$_journal; if (trim($page) == "") $page = $_journal['webpage']; return "<HTML>\n<?php\n" . "header('Location: ". $page ."');\n ?>\n</HTML>"; } function form_submit($form_name) { if (!empty($form_name)) echo "<SCRIPT TYPE=\"text/javascript\"> document.".$form_name.".submit(); </SCRIPT>"; }//form_submit function nosc_admin($title="") { global $lang; if (!trim($title)) $title=enruua("Nonlinear Oscillations", "Нелінійні коливання", "Нелінійні коливання"); return "\"".$title."\""; }//nosc_admin // function iconed_menu_item ($text,$target,$pixmap="") { global $lang; // if ($pixmap) { $w = "<table style=\"width: 100%;\">\n<tr><td style=\"text-align: center;\">"; $w = $w."<a href=\"".$target."?lang=".$lang."\"><img src=\"".$pixmap."\" border=0></a></td></tr><tr> <td style=\"text-align: center;\">"; } $w= $w."<a href=\"".$target."?lang=".$lang."\">".$text."</a>"; if ($pixmap) $w = $w."</td></tr></table>\n"; return $w; }//iconed_menu_item function final_question($action_var_name,$actions,$default_action,$leave_url,$args="",$menu_title=NULL,$submit_title="",$leave_title="")// array("erase"=> enruua(...)) { global $lang; // echo "[".$action_var_name."]"; if (!isset($menu_title)) $menu_title=enruua("What you would like to do","Что делать","Що робити")."?"; if(!$submit_title) $submit_title=enruua("Do","Выполнить","Виконати"); if(!$cancel_title) $leave_title = enruua("Leave","Выйти","Вийти"); // $v="<div class=control> <FIELDSET> <LEGEND>".$menu_title."</LEGEND> <TABLE> <TR><TD STYLE=\"WIDTH: 100%*;\"> <SELECT name=\"".$action_var_name."\" STYLE=\"WIDTH: 100%*;\">\n "; // foreach ($actions as $i => $value) { $v=$v."<option"; if ($i==$default_action) $v=$v." selected"; $v=$v." value=\"".$i."\">".$value."</option>\n"; } // $v=$v."</SELECT></TD>\n"; // $v=$v."<td>".button("proceed", $submit_title, NULL,enruua("By pressing this button you will execute the selected action","Нажатие этой кнопки приводит к выполнению выбранного Вами действия","Натиснення цієї кнопки призводить до виконання обраної Вами дії").".")."</td>"; $v=$v."</table> </FIELDSET>" ."<P>".button("leave", $leave_title,$leave_url.$args,enruua("Press this button to leave this form", "Нажмите этой кнопку, чтобы выйти из настоящей формы","Натисніть цю кнопку, щоб вийти з форми, де тепер знаходитесь").".")."</P>" ."</DIV>\n"; // return $v; }// function whois_username($username,$editable="") { global $lang; $q = mysql_query("select author_id from ".TBL_USERS." where username='".$username."'"); $who= mysql_fetch_array($q); if ($who) { if($editable) return author_edit_link($who["author_id"]); else return plain_short_name($who["author_id"]) ; } else return enruua("unknowm","незнакомец","незнайомий"); } //whois_username function active_users() { global $session,$database; if(!defined('TBL_ACTIVE_USERS')) { die("Error processing page"); } $q = "SELECT username,timestamp FROM ".TBL_ACTIVE_USERS." ORDER BY timestamp DESC,username"; $result = $database->query($q); /* Error occurred, return given name by default */ $num_rows = mysql_numrows($result); if(!$result || ($num_rows < 0)) { //echo "Error displaying info"; } else if($num_rows > 0) { // echo "<table align=\"left\" border=\"1\" cellspacing=\"0\" cellpadding=\"3\">\n"; // echo "<tr><td><font size=\"2\">\n"; //for($i=0; $i<$num_rows; $i++){ while ($u=mysql_fetch_array($result)) { $res_lev = mysql_query("SELECT author_id,userlevel FROM ".TBL_USERS." where username='".$u["username"]."' order by username"); //should be unique $w=mysql_fetch_array($res_lev); // echo "<a href=\"userinfo.php?user=$uname\">$uname</a> / "; $a[] = array("username" => $u["username"], "userlevel" => $w["userlevel"], "author_id" => $w["author_id"], "timestamp" => $u["timestamp"]); } // echo "</font></td></tr></table><br>\n"; } return $a; }//active_users function electronic_logo() { global $_root; return "<img src=\"".$_root."/pixmaps/electro.png\" border=0 width=\"22px\">"; } function potential_addressees($l=NULL) { global $lang; $l = languify($l); $res = mysql_query("SELECT * FROM Authors WHERE primary_email AND deseased IS NULL ORDER BY last_name_" .$l.",first_name_".$l.",middle_name_".$l); return $res; } function potential_letters($l=NULL) { global $lang; $l = languify($l); $res = mysql_query("SELECT * FROM Letters ORDER BY date_composed,id"); return $res; } function cancel_referee($ref,$dec=0) { global $lang,$_journal; $p = person($ref['referee_id']); if (is_requested($ref)) { if ((!in_array(referee_status($ref),array("cancelled","declined"))) && (!report_done($ref))) { mysql_query("update Referees set cancelled=now(),cancelled_by='".user_person_id()."' WHERE id='".$ref['id']."'"); $rev = revision($ref['revision_id']); $revno = show_revision_number($rev); $art = article($rev['article_id']); $l = preferred_language($p); foreach (array('TEXT','HTML') as $j) { $aa = article_authors($art,$l,$j); if ($l == "en") $t[$j] = quote(article_title($art,$l),$l,$j). " by ". andify($aa,$l); else { if (count($aa) >1) $an = enruua_var($l,"authors","авторы","автори"); else $an = enruua_var($l,"author","автор","автор"); $t[$j] = quote(article_title($art,$l),$l,$j). " (". $an. " - ". andify($aa,$l).")"; } switch ($dec) { case 6: $msg[$j] = par("Vyrazeno".enruua_var($l,"Let us inform you that the refereeing request for manuscript","Позвольте Вам сообщить, что направленный Вам запрос о рецензировании рукописи","Дозвольте Вам повідомити, що надісланий Вам запит щодо рецензування рукопису")." ".$revno." ".enruua_var($l,"of the paper","статьи","статті")." ". $t[$j] . enruua_var($l,", which was sent to you, has just been cancelled by the editors. We apologise for the inconveniences"," был аннулирован редакцией. Просим прощения за беспокойство"," було анульовано редакцією. Вибачте, будь-ласка, за незручності"). ".", $j); $subj = $_journal['name'][$l].": ". enruua_var($l,"Refereeing request for manuscript","запрос о рецензировании рукописи","запит на рецензування рукопису")." ".$revno." ". enruua_var($l,"cancelled","отменен","відмінено"); break; case 7: $msg[$j] = par("Preposlano".enruua_var($l,"Let us inform you that the refereeing request for manuscript","Позвольте Вам сообщить, что направленный Вам запрос о рецензировании рукописи","Дозвольте Вам повідомити, що надісланий Вам запит щодо рецензування рукопису")." ".$revno." ".enruua_var($l,"of the paper","статьи","статті")." ". $t[$j] . enruua_var($l,", which was sent to you, has just been cancelled by the editors. We apologise for the inconveniences"," был аннулирован редакцией. Просим прощения за беспокойство"," було анульовано редакцією. Вибачте, будь-ласка, за незручності"). ".", $j); $subj = $_journal['name'][$l].": ". enruua_var($l,"Refereeing request for manuscript","запрос о рецензировании рукописи","запит на рецензування рукопису")." ".$revno." ". enruua_var($l,"cancelled","отменен","відмінено"); break; case 0: default: $msg[$j] = par(enruua_var($l,"Let us inform you that the refereeing request for manuscript","Позвольте Вам сообщить, что направленный Вам запрос о рецензировании рукописи","Дозвольте Вам повідомити, що надісланий Вам запит щодо рецензування рукопису")." ".$revno." ".enruua_var($l,"of the paper","статьи","статті")." ". $t[$j] . enruua_var($l,", which was sent to you, has just been cancelled by the editors. We apologise for the inconveniences"," был аннулирован редакцией. Просим прощения за беспокойство"," було анульовано редакцією. Вибачте, будь-ласка, за незручності"). ".", $j); $subj = $_journal['name'][$l].": ". enruua_var($l,"Refereeing request for manuscript","запрос о рецензировании рукописи","запит на рецензування рукопису")." ".$revno." ". enruua_var($l,"cancelled","отменен","відмінено"); break; }//switch } notify_person_full(p,$msg,$subj,TRUE,NULL); } } else //person unset, safe to delete { purge_referee($ref); } } function is_requested($ref) { return is_valid_date($ref['requested']); } function close_revision($rev,$dec,$tell=TRUE,$notify_authors=TRUE,$notify_editors=FALSE) { global $lang,$_journal,$session,$sendmail,$swift; if ($rev['id']) { $dm = decision_meaning($dec); $is_closed = is_closed($rev); $success = TRUE; switch ($dm) { case "accept": if (!$is_closed) { mysql_query("UPDATE Articles SET status=1 WHERE id=".$rev['article_id']); mysql_query("UPDATE Revisions SET decision='".$dec."', closed=now(), closed_by=".$session->author_id ." WHERE id=".$rev['id']); } else $success = FALSE; break; case "minor_changes_no_refereeing": if (!$is_closed) { mysql_query("UPDATE Revisions SET decision='".$dec."', closed=now(), closed_by=".$session->author_id ." WHERE id=".$rev['id']); } else $success = FALSE; break; case "minor_changes_refereeing": if (!$is_closed) { mysql_query("UPDATE Revisions SET decision='".$dec."', closed=now(), closed_by=".$session->author_id ." WHERE id=".$rev['id']); } else $success = FALSE; break; case "major_changes": if (!$is_closed) { mysql_query("UPDATE Revisions SET decision='".$dec."', closed=now(), closed_by=".$session->author_id ." WHERE id=".$rev['id']); } else $success = FALSE; break; case "reject": mysql_query("UPDATE Articles SET status=3, finalised=now(), finalised_by=".$session->author_id ." WHERE id=".$rev['article_id']); if (!$is_closed) { mysql_query("UPDATE Revisions SET decision='".$dec."', closed=now(), closed_by=".$session->author_id ." WHERE id=".$rev['id']); } else $success = FALSE; break; case "withdraw": mysql_query("UPDATE Articles SET status=4, finalised=now(), finalised_by=".$session->author_id ." WHERE id=".$rev['article_id']); if (!$is_closed) { mysql_query("UPDATE Revisions SET decision='".$dec."', closed=now(), closed_by=".$session->author_id ." WHERE id=".$rev['id']); } break; case "forward": mysql_query("UPDATE Articles SET status=5, finalised=now(), finalised_by=".$session->author_id ." WHERE id=".$rev['article_id']); if (!$is_closed) { mysql_query("UPDATE Revisions SET decision='".$dec."', closed=now(), closed_by=".$session->author_id ." WHERE id=".$rev['id']); } break; }//switch unassign_pending_referees($rev,$dec); if ($tell) { if ($success) tell (enruua("Concerning the manuscript","По рукописи","Щодо рукопису"). " ". show_revision_number($rev)." " .enruua("the following decision have been taken","было принято решение","було прийнято рішення") .": ".decision_meaning_display($dm)); else tell (enruua("No decision taken concerning the manuscript","По рукописи","Щодо рукопису"). " ". show_revision_number($rev)." ".enruua("","не было принято никакого решение","не було прийнято ніякого рішення").": ".decision_meaning_display($dm)); } // sending emails $notify = ($notify_authors || $notify_editors); if (($notify) && ($success)) { $art = article($rev['article_id']); $authors = article_authors_entries($art); while ($person = mysql_fetch_array($authors)) { $l = languify(preferred_language($person)); $n = enruua_var($l,"No.","номер","номер"); $smd = say_more_details($person,$l); foreach (array('TEXT','HTML') as $j) { $t = name_revision($rev,$j,$l); switch ($dm) { case "accept": $msg[$j] = par(enruua_var($l,"We are pleased to inform you that the paper","Рады Вам сообщить, что статья","Раді Вам повідомити, що статтю") ." ".$t." ".enruua_var($l,"has been accepted for publication. More details can be found on the page", "была принята к печати. Более подробную информацию Вы можете найти на странице", "було прийнято до друку. Більш детальну інформацію Ви можете знайти на сторінці")." ". $_journal['loginpage'].".", $j); $subj = $_journal['name'][$l].": ". enruua_var($l, "paper","статья","сттатю") ." " .$art['id']." ". enruua_var($l,"accepted","принята к печати","прийнято до друку"); break; case "minor_changes_no_refereeing": $msg[$j] = par(enruua_var($l,"After reviewing the manuscript","После рассмотрения рукописи","Після розгляду рукопису") ." ".$t ." ".enruua_var($l,"the Editors suggest that you make some minor revisions in it","редакция пришла к выводу, что в ней следует сделать некоторые незначительные исправления","редакція дійшла висновку, що в ньому потрібно виконати деякі незначні виправлення").".",$j) .par(enruua_var($l,"Please revise your manuscript accoridingly and upload a new version by using the journal online system","Пожалуйста, внесите требуемые правки и загрузите новую версию рукописи в электронную систему журнала","Будь ласка, зробіть відповідні виправлення та внесіть нову версію рукопису до електронної системи журналу").". " .enruua_var($l,"The next version of the manuscript will not be sent for refereeing any more","Исправленный вариант рукописи уже не будет повторно отправляться на рецензию","Виправлена версія рукопису вже не буде повторно надіслатися на рецензію").".",$j) .$smd[$j]; $subj = $_journal['name'][$l].": ". enruua_var($l, "manuscript","рукопись","рукопис") ." " .show_revision_number($rev).", ". enruua_var($l,"minor changes","незначительные исправления","незначні виправлення"); break; case "minor_changes_refereeing": $msg[$j] = par(enruua_var($l,"After reviewing the manuscript","После рассмотрения рукописи","Після розгляду рукопису") ." ".$t ." ".enruua_var($l,"the Editors suggest some revisions in it","редакция пришла к выводу, что рукопись требует переработки","редакція дійшла висновку, що рукопис потребує доопрацювання").".",$j) .par(enruua_var($l,"Please revise your manuscript accoridingly and upload a new version by using the journal online system","Пожалуйста, учтите все замечания и загрузите новую версию рукописи в электронную систему журнала","Будь ласка, врахуйте всі зауваження та внесіть нову версію рукопису до електронної системи журналу").". " .enruua_var($l,"The next version of the manuscript will be subject of a repated refereeing","Исправленный вариант рукописи будет повторно отправлен на рецензию","Виправлену версію рукопису буде повторно надіслано на рецензію").".",$j) .$smd[$j]; $subj = $_journal['name'][$l].": ". enruua_var($l, "manuscript","рукопись","рукопис") ." " .show_revision_number($rev).", ". enruua_var($l,"major changes","значительная переработка","суттєве доопрацювання"); break; case "major_changes": $msg[$j] = par(enruua_var($l,"After reviewing the manuscript","После рассмотрения рукописи","Після розгляду рукопису") ." ".$t ." ".enruua_var($l,"the Editors suggest that major changes are necessary","редакция пришла к выводу, что рукопись требует значительной переработки","редакція дійшла висновку, що рукопис потребує значного доопрацювання").".",$j) .par(enruua_var($l,"Please revise your manuscript accoridingly and upload a new version by using the journal online system","Пожалуйста, учтите все замечания и загрузите новую версию рукописи в электронную систему журнала","Будь ласка, врахуйте всі зауваження та внесіть нову версію рукопису до електронної системи журналу").".",$j) .$smd[$j]; $subj = $_journal['name'][$l].": ". enruua_var($l, "manuscript","рукопись","рукопис") ." " .show_revision_number($rev).", ". enruua_var($l,"major changes","значительная переработка","суттєве доопрацювання"); break; case "reject": $msg[$j] = par(enruua_var($l,"We are sorry to inform you that the paper","К сожалению, вынуждены Вам сообщить, что статья","На жаль, мусимо Вам повідомити, що статтю") ." ".$t." ".enruua_var($l,"has been rejected","було відхилено").".",$j) .$smd[$j]; $subj = $_journal['name'][$l].": ". enruua_var($l, "paper","статья","сттатю") ." " .$art['id']." ". enruua_var($l,"rejected","отклонена","відхилено"); break; case "withdraw": $msg[$j] = par(enruua_var($l,"This is to inform you that processing of the paper","Сообщaeм Вам, что рассмотрение статьи","Повідомляємо Вам, що розгляд статті") ." ".$t." " .enruua_var($l,"has been stopped according to the wish of the authors", "было прекращено по желанию авторов", "було припинено за бажанням авторів").".",$j) .$smd[$j]; $subj = $_journal['name'][$l].": ". enruua_var($l, "paper","статья","сттатю") ." " .$art['id']." ". enruua_var($l,"withdrawn by the authors","отозвана авторами","відкликано авторами"); break; case "forward": $oj = other_journal($l); $msg[$j] = par(enruua_var($l,"Let us inform you that the paper","Позвольте Вам сообщить, что статья","Дозвольте Вам повідомити Вам, що статтю") ." ".$t.", ".enruua_var($l,"according to the decision of the Editor-in-Chief, has been forwarded for publication to the","согласно решению главного редактора, была передана для публикации в","згідно з рішенням головного редактора, було передано для публікації до") . " ". enruua_var($l,$oj['name_nominative'],$oj['name_nominative'],$oj['name_accusative']) . ".", $j); $msg[$j] = $msg[$j]. par(enruua_var($l,"For further information, please contact the","Для получения более подробной информации, пожалуйста, обращайтесь в редакцию","Для отримання більш детальної інформації, будь ласка, звертайтеся до редакції") . " ". enruua_var($l,$oj['name_nominative'],$oj['name_accusative'],$oj['name_accusative']) . " ". enruua_var($l,"by email","по электронной почте","за електронною поштою"). ": ". $oj['email'].".",$j); $msg[$j] = $msg[$j]. par(enruua_var($l,"Thank you for your interest in our journal","Благодарим Вас за внимание к нашему журналу","Дякуємо Вам за увагу до нашого часопису").".", $j); $subj = $_journal['name'][$l].": ". enruua_var($l, "paper","статья","сттатю") ." " .$art['id']." ". enruua_var($l,"forwarded to","передана в","передано до"). " ". $oj['shortname']; break; default: $msg[$j]= $subj = NULL; }//switch msg } if ($notify_authors) { if ($msg) notify_person_full($person,$msg,$subj,TRUE,NULL,TRUE); } if ($notify_editors) { //placeholder } }//while }//if notify return $success; }//end processing else return FALSE; } function unassign_pending_referees($rev,$dec=0) { $refs = referees($rev); foreach ($refs as $ref) { cancel_referee($ref,$dec); } } function paper_short_reference($pid,$l=NULL,$type='HTML',$with_links=TRUE) { global $lang,$_journal; $l = languify($l); $a = article($pid); if ($a['id']) { $r = andify(article_authors($a,$l,$type,$with_links)).". ".article_title($a); return $r; } else return "???"; } ?>
Simpan