One Hat Cyber Team
Your IP :
216.73.216.24
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
/
View File Name :
functions_admin.php.inactive
<? 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"); //------------------------------ function language_select_admin($page="") { global $lang,$volume,$number,$id_selected,$todo,$menu_item,$session,$db_handle; if (!$page) $page = $_SERVER['PHP_SELF']; 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 "<table width=\"100%\">\n"; echo "<td>"; 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 "</td>"; if($session->logged_in) { echo "<td>".say_greetings().", ".plain_short_name($session->author_id,FALSE)."! " .current_user_level_draw()."</td>"; }//if logged in echo "</table>"; echo "</form>\n"; }//language_select_admin function delete_revision($revision_id) { if ($revision_id) { $revision = revision($revision_id); $dir = revision_dir_name($revision['id']); if (file_exists($dir)) purge_dir($dir,"yes"); $dir_rep = revision_report_dir_name($revision['id']); if (file_exists($dir_rep)) purge_dir($dir,"yes"); mysql_query("delete from Revisions where id=".$revision_id); } return mysql_affected_rows(); } 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 notify_editors_message_sent($person,$msg,$subj) { global $session; $el = editorial_language(); notify_editors(enruua_var($el, "This is to inform you that an email has been sent on behalf of the editors", "Сообщаю, что от имени редакции было отправлено электронное сообщение", "Повідомляю, що від імені редколегії було надіслано електронне повідомлення").".\n\n" .enruua_var($el,"RECIPIENT","ПОЛУЧАТЕЛЬ","АДРЕСАТ").": " . person_name($person,$el,"TEXT") . "\n" .enruua_var($el,"MESSAGE SUBJECT","ТЕМА","ТЕМА").": " . $subj . "\n" .enruua_var($el,"EXECUTED BY","ВЫПОЛНИЛ","ВИКОНАВ")." " . person_name(current_person(),$el,"TEXT") . "\n" . "\n" . "*** " . enruua_var($el,"MESSAGE BEGIN","НАЧАЛО СООБЩЕНИЯ","ПОЧАТОК ПОВІДОМЛЕННЯ") ." ***". "\n" . $msg . "\n" . "*** " . enruua_var($el,"MESSAGE END","КОНЕЦ СООБЩЕНИЯ","КІНЕЦЬ ПОВІДОМЛЕННЯ") . " ***". "\n", "MESSAGE COPY (" . person_name($person,"en","TEXT"). ")"); } 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($person,$username,$raw_password,$formal,$language="") { global $_sexes,$_journal; if (is_valid_language($language)) $l = $language; else $l = preferred_language($person); $t = "\n". 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", "Для доступа к служебной части электронной базы данных журнала", "Для доступу до службової частини електронної бази даних журнала") . " " . quote($_journal['name'][$l],$l,"TEXT") . "" . enruua_var($l,"", " Вам предоставлены следующие код пользователя и пароль", " Вам надано наступні код користувача та пароль"). ":\n "; $t = $t ."\n". enruua_var($l, "User name", "Код пользователя", "Код користувача").": " . $username ."\n"; $t = $t ."". enruua_var($l, "Password", "Пароль", "Пароль").": " . $raw_password . "\n"; $t = $t . "\n". enruua_var($l, "The login page for the system is located at the address", "Вход в систему производится со страницы, расположенной по адресу", "Вхід у систему здійснюється зі сторінки, розташованої за адресою")."\n"; $t = $t . "\n". $_journal['loginpage']."\n"; $t = $t . "\n". enruua_var($l, "Please note that the password indicated above is known to you only and", "Обращаем Ваше внимание на то, что указанный выше пароль известен только Вам", "Звертаємо Вашу увагу на те, що вказаний вище пароль відомий лише Вам"); $t = $t . ", " . enruua_var($l, "therefore, we advise you to keep this message", "и поэтому советуем сохранить текст настоящего письма", "і тому радимо зберегти текст цього листа")."."; $t = $t . " " . enruua_var($l, "The authentication data given above have unlimited validity period", "Приведенные реквизиты имеют неограниченный срок действия", "Наведені реквізити мають необмежений термін дії").".\n"; 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); $t = "\n". 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") . " " . enruua_var($l,"have been changed. Your new authentication requisits are given below", "код пользователя и пароль по техническим причинам были изменены. Ваши новые реквизиты указаны ниже", "код користувача та пароль з технічних причин було змінено. Ваші нові реквізити вказано нижче"). ".\n "; $t = $t ."\n". enruua_var($l, "New user name", "Новый код пользователя", "Новий код користувача").": " . $username ."\n"; $t = $t ."". enruua_var($l, "New password", "Новый пароль", "Новий пароль").": " . $raw_password . "\n"; $t = $t . "\n". enruua_var($l, "Let us recall that the login page for the system is located at the address", "Напоминаем, что вход в систему производится со страницы, расположенной по адресу", "Нагадуємо, що вхід у систему здійснюється зі сторінки, розташованої за адресою")."\n"; $t = $t . "\n". $_journal['loginpage']."\n"; $t = $t . "\n". enruua_var($l, "Please note that the password indicated above is known to you only and", "Обращаем Ваше внимание на то, что указанный выше пароль известен только Вам", "Звертаємо Вашу увагу на те, що вказаний вище пароль відомий лише Вам"); $t = $t . ", " . enruua_var($l, "therefore, we advise you to keep this message", "и поэтому советуем сохранить текст настоящего письма", "і тому радимо зберегти текст цього листа")."."; $t = $t . " " . enruua_var($l, "The authentication data given above have unlimited validity period", "Приведенные реквизиты имеют неограниченный срок действия", "Наведені реквізити мають необмежений термін дії").".\n\n"; $t = $t . "" . enruua_var($l, "We apologise for any inconveniences that may arise due to the password change", "Просим прощения за возможные неудобства, связанные с изменением пароля", "Перепрошуємо за можливі незручності, пов'язані зі зміною пароля").".\n"; 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."'"); if (mysql_num_rows($q)) { while ($res[] = mysql_fetch_array($q)) {} } else $res = NULL; return $res; } function reget_username($author_id,$username='',$userlevel=2) { if ($username) {$q = mysql_query("DELETE FROM users WHERE username='".$username."'"); return get_username($author_id,$username,$userlevel,"REGENERATE"); } else return NULL; } function get_username($author_id,$username='',$userlevel=2,$regenerate_flag="") { global $database; $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']; break; } } } $person = person($author_id); $em = email(primary_email($person)); if (!$r['username']) { $password = gen_password(8); $q = mysql_query("INSERT INTO users (username,password,userid,userlevel,email,timestamp,author_id) VALUES ('$username', '".md5($password)."', '0', $userlevel,'".$em['email_field']."', '".time()."','".$author_id."' )"); // $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,$l,$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=""; // 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 admin_logo() { ?> <div style="width:100%;color:#F60;background:black;padding-top:3px;font-family:Georgia,Times;font-size:54px;font-weight:bold;line-height:1em;padding-bottom:5px;" onClick="top.location.href='http://www.mandarindesign.com/';"> <span title="Link to Home" onmouseover="this.style.color='white';" onmouseout="this.style.color='#F60';">MandarinDesign</span> <span style="font-family:geneva,arial;color:#F60;font-size:12px;font-weight:bold;padding-left:5px;">BLOG</span> </div> <div style="width:100%;background:#F60;text-align:center;font-size:small;font-family:system,geneva;font-weight:bold;"> "For People Who Make Mistakes" ... </div> <? }// admin_logo -- to be implemented function menu($type="banner") { global $lang,$session,$db_handle; switch($type) { case"bottom": $oenv = "<table>\n<tr>"; $cenv = "</tr></table>\n"; $oi="<td>"; $ci="</td>\n"; $mf= "iconed_menu_item"; break; case "banner": default: $oenv = "<ul>\n"; $cenv = "</ul>\n"; $oi="<li>"; $ci="</li>\n"; $mf= "iconed_small_menu_item"; break; }//type $tmp =""; // "<p>".enruua("Control centre","Центр управления", "Центр керування")."</p>"; //$tmp = $tmp . "<td>".say_greetings().", ".plain_short_name($session->author_id).". "; $tmp = $tmp . $oenv; $tmp = $tmp . $oi.$mf(enruua("Main","Главная","Головна"),"index.php","../pixmaps/Home.png").$ci; $tmp = $tmp . $oi.$mf(enruua("Portfolio","Портфель","Портфель"),"pending.php","../pixmaps/Portfolio.png").$ci; $tmp = $tmp . $oi.$mf(enruua("Letters","Письма","Листи"),"letter_edit.php","../pixmaps/Letters.png").$ci; $tmp = $tmp . $oi.$mf(enruua("Archive","Архив","Архів"),"archive.php","../pixmaps/Archive.png").$ci; $tmp = $tmp . $oi.$mf(enruua("Institutions","Организации","Організації"),"manage_institutions.php","../pixmaps/Institutions.png").$ci; $tmp = $tmp . $oi.$mf(enruua("Persons","Персоналии","Персоналії"),"manage_authors.php","../pixmaps/Authors.png").$ci; $tmp = $tmp . $oi.$mf(enruua("Articles","Статьи","Статті"),"manage_articles.php","../pixmaps/Articles.png").$ci; if (current_user_level()==9) { $tmp = $tmp . $oi.$mf(enruua("Service","Служебная","Службова"),"service.php","../pixmaps/Service.png").$ci; } $tmp = $tmp . $oi.$mf(enruua("Quit","Выход","Вихід"),"logout.php","../pixmaps/Journal.png").$ci; $tmp = $tmp . $cenv; return $tmp; }//menu 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 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": /* $fid= gen_alpha_string(); echo "<form action=\"".$url."\" method=\"post\" name=\"".$fid."\">"; echo pass("lang",$lang); echo "</form>";*/ $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 is_finalised($rev) { 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_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 referees($rev) { if ($rev['id']) { $r = array(); $res= mysql_query("SELECT * FROM Referees WHERE revision_id='".$rev['id']."' ORDER BY requested,replied,report_received"); if (mysql_num_rows($res)) while ($r[] = mysql_fetch_array($res)) { // } return $r; } else return NULL; } function notify_person($person,$message_text,$subject="") { return notify_person_full($person,array('TEXT' => $message_text,'HTML' => nl2br($message_text)),$subject,FALSE); } function notify_person_full($person,$message,$subject,$send_to_all=TRUE,$files=NULL) { 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); //print_r($emails); tell('divej'); 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","Журнал","Журнал"). " " .quote($_journal['name'][$l],$l,'TEXT'))); //tell(enruua("Sent to","Отправлено на","Відправлено на")." ".$eentry['email_field']); } } //notify notify_editors_message_sent($person,$body['TEXT'],$subject); } else $result = NULL; return $result; } function notify_editors($message,$subject="") { global $_journal; $l = "en"; $mail = new MIMEMAIL("TEXT"); $mail->senderName = $_journal['name']['en']; $mail->senderMail = $_journal['email']; if ($subject) $mail->subject = $subject; $mail->body = $message . letter_closing_robot (corresponding_editor(),TRUE); $mail->create(); return $mail -> send($_journal['email']); } 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); $get_u = get_username($person['id'],$person['id']); $msg[$j] = $msg[$j] . par(enruua_var($l, "You may check on the progress of your paper by logging on to our online system at the address","Вы можете следить за ходом рассмотрения Вашей работы посредством нашей электронной системы, вход в которую осуществляется по адресу","Ви можете слідкувати за поступом розгляду Вашої роботи через нашу електронну систему, вхід до якої здійснюється за адресою"), $j); $msg[$j] = $msg[$j] . par(href($_journal['loginpage'],$j).".",$j); 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", "и пароль, отправленный Вам электронным письмом при регистрации Вашего кода пользователя", "та пароль, надісланий Вам електронним листом підчас реєстрації Вашого коду користувача"); } $msg[$j] = $msg[$j] . par(enruua_var($l,"For this purpose you will need your user name", "Для этого Вам понадобятся Ваш код пользователя", "Для цього Вам знадобляться Ваш код користувача")." " . quote($get_u['username'],$l,$j)." ".$x . ".",$j); $msg[$j] = $msg[$j] . par(enruua_var($l,"Thank you very much for your interest in our journal", "Благодарим Вас за внимание к нашему журналу","Дякуємо Вам за увагу до нашого часопису").".",$j); } $subj = $_journal['name'][$l].": ". enruua_var($l,"Manuscript","рукопись","рукопис")." ".$revno." " . enruua_var($l,"received","получена","отримано"); notify_person_full($person,$msg,$subj); } }//revision }//revision_receipt_acknowledge 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 = 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 (!$is_in) { $msg[$j] = $msg[$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[$j] = $msg[$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,$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_request 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_done($referee) { if ((is_valid_date($referee['report_received'])) && ($referee['recommends'])) 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 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=$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="35px"; 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 "<fieldset class=\"admin_note\"><legend>".$title."</legend>\n"; echo "<p>".trim($text)."</p></fieldset>\n"; }//admin_note function admin_alert($text,$title="") { global$lang; if (!trim($title)) $title = enruua("Warning","Внимание","Увага")."!"; echo "<fieldset id=\"admin_alert\"><legend id=\"admin_alert\">".$title."</legend>\n"; echo "<p>".trim($text)."</p></fieldset>\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("Version submitted onan unknown date", "Версия, дата получения которой не указана","Версія, дату отримання якої не вказано"); $resr = mysql_query("SELECT * FROM Referees WHERE revision_id='".$rev['id']."' AND replied>0 AND agrees>0 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; $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 buttn you will open the card", "Нажатием этой кнопки Вы откроете карточку", "Натиснненням цієї кнопки Ви відкриєте картку") ." ".number()." ".$id ." " .enruua("in the Table of Persons","в таблице персоналий", "в таблиці персоналій")."." ) ." href=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 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_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($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 form_submit($form_name) { if (!empty($form_name)) echo "<SCRIPT TYPE=\"text/javascript\"> document.".$form_name.".submit(); </SCRIPT>"; }//form_submit function go($msg) { echo "<SCRIPT TYPE=\"text/javascript\"> window.location=('".$msg."'); </SCRIPT>"; }//go 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,$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>\n<table><caption>".$menu_title."</caption> <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> <td>".button("leave", $leave_title,$leave_url,enruua("Press this button to leave this form", "Нажмите этой кнопку, чтобы выйти из настоящей формы","Натисніть цю кнопку, щоб вийти з форми, де тепер знаходитесь").".")."</td>"; $v=$v."</table></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; } ?>