Создание базы данных экспериментов с плазменным кристаллом

Автор: Пользователь скрыл имя, 16 Июня 2014 в 13:58, магистерская работа

Краткое описание

Несмотря на широкую распространенность в природе и исключительно важную роль в самых различных областях науки и техники: от источников света до термоядерного синтеза и нанотехнологий – плазма, исследования которой продолжаются уже второе столетие, остается до конца не понятым объектом. Даже для простейших случаев газового разряда в инертных газах теоретики не могут предложить четкого алгоритма расчета внутренних параметров плазмы и ее эмиссионных характеристик на основе произвольно устанавливаемых экспериментатором факторов (размер среды, напряжение питания, род и давление газа). Тем не менее, не прекращаются попытки построить модели значительно более сложных экзотических плазменных сред. Так в 70-х и начале 80-х годов прошлого века появляются работы, в которых на основе классической статистической механики с использованием численных методов решения соответствующих уравнений методом Монте-Карло исследуются свойства однокомпонентной полностью ионизованной плазмы гелия при температуре около 108 К и плотности вещества 1029 cм-3.

Файлы: 1 файл

Диплом Соколов АВ.doc

— 1,009.50 Кб (Скачать)

    $row=mysql_fetch_assoc(mquery("SELECT * FROM article WHERE aid='$aid'"));

    $perm_edit=$setup->AccessAllow($setup->GetSectionSID("article"), $logged_gid, "edit", $this->getParent($sid));

    $hf=NULL;

    switch ($perm_edit) {

    case "allow":

$hf[]=parse_file("theme/article/article/href/edit.htm", array('action'=>".?t=article&a=edit&aid=$row[aid]"));

break;

    case "my":

if ($this->GetArticleUID($aid)==$_SESSION['logged_uid']) $hf[]=parse_file("theme/article/article/href/edit.htm", array('action'=>".?t=article&a=edit&aid=$row[aid]"));

break;

    }

    $perm_delete=$setup->AccessAllow($setup->GetSectionSID("article"), $logged_gid, "delete", $this->getParent($sid));

    switch ($perm_delete) {

    case "allow":

$hf[]=parse_file("theme/article/article/href/delete.htm", array('action'=>".?t=article&a=delete&aid=$row[aid]"));

break;

    case "my":

if ($this->GetArticleUID($aid)==$_SESSION['logged_uid']) $hf[]=parse_file("theme/article/article/href/delete.htm", array('action'=>".?t=article&a=delete&aid=$row[aid]"));

break;

    }

    if (count($hf)) $row['href']=implode(" | ", $hf); else $row['href']="";

    $row['user_name']=$user->GetUserNameHREF($row['uid']);

    format_date($row['date'], $row['time']);

    $row['links']=$this->GetLinks($row['sid']);

    $file="article/article$aid/article$aid.htm";

    $row['content']=file_get_contents($file);

    if (isset($_GET['highlight']) && (count($_GET['highlight']))) {

$words=explode(" ", $_GET['highlight']);

setlocale(LC_ALL, 'ru_RU.CP1251');

foreach($words as $word) {

    $row['content']=preg_replace("/(".trim($word).")/Ui", "<FONT style=\"background-color: lightblue\">\$1</FONT>", $row['content']);

}

    }

    return parse_file("theme/article/article/show.htm", $row);

}

 

function AddArticle($sid) {

    global $logged_gid, $setup;

    // Есть право на добавление статьи?

    $perm_add=$setup->AccessAllow($setup->GetSectionSID("article"), $logged_gid, "add", $this->getParent($sid));

    $deny=false;

    switch ($perm_add) {

    case "deny":

$deny=true;

break;

    }

    if ($deny) return parse_file("theme/deny.htm");

    $links=$this->GetLinks($sid);

    return parse_file("theme/article/article/add.htm", array('action'=>".?t=article&a=insert&sid=$sid", 'article_short'=>$GLOBALS['settings']['article_short'], 'links'=>$links));

}

 

function InsertArticle($sid) {

    global $logged_gid, $setup;

    $perm_add=$setup->AccessAllow($setup->GetSectionSID("article"), $logged_gid, "add", $this->getParent($sid));

    $deny=false;

    switch ($perm_add) {

    case "deny":

$deny=true;

break;

    }

    if ($deny) return parse_file("theme/deny.htm");

    $error="";

    if (!trim($name=$_POST['name'])) $error.="Вы  не указали название статьи.";

    if ((!is_uploaded_file($tmp_name=$_FILES['filename']['tmp_name'])) || ($_FILES['filename']['error']!=0)) $error.="Не указан  файл или произошла ошибка  при загрузке файла. Повторите попытку еще раз.";

    if ($error) return parse_file("theme/error.htm", array('info'=>$error));

    $date=date("Y-m-d");

    $time=date("H:i:s");

    mquery("LOCK TABLES article WRITE");

    mquery("INSERT INTO article SET sid='$sid', uid='".$_SESSION['logged_uid']."', name='".mysql_escape_string($name)."', date='$date', time='$time', date_update='$date', time_update='$time'");

    $aid=mysql_insert_id();

    mquery("UNLOCK TABLES");

    $ext=substr($_FILES['filename']['name'], -3);

    $this->Doc2Html($tmp_name, $ext, $aid);

    $setup->SetLastUpdate();

    $location=".?t=article&sid=$sid";

    safe_header("Location: $location");

}

 

function Doc2Html($tmp_name, $ext, $id) {

    $dir="article/article$id";

    $file_doc="$dir/article$id.doc";

    $file_htm="$dir/article$id.htm";

    $file_zip="$dir/article$id.zip";

    exec("mkdir -m 755 $dir");

    switch(strtolower($ext)) {

    case "zip":

move_uploaded_file($tmp_name, $file_zip);

exec("unzip -p $file_zip > $file_doc");

break;

    default:

move_uploaded_file($tmp_name, $file_doc);

exec("zip -Dj9q $file_zip $file_doc");

break;

    }

    exec("wvWare -x theme/doc2htm.cfg -c cp1251 -d $dir -b img $file_doc", $html);

    $f=fopen($file_htm, 'w');

    foreach($html as $line) {

$line=preg_replace("/(<img[^>]*>)<br>/i", "\$1", $line);

$line=preg_replace("/<img([^>]*)src=\"([^>]*)\"([^>]*)>/i", "<img\${1}src=\"$dir/\${2}\"\${3}>", $line);

fwrite($f, $line."\n");

    }

    fclose($f);

    exec("ls $dir/*.wmf", $wmfs);

    foreach($wmfs as $wmf) unlink($wmf);

    exec("chmod 644 $dir/*");

    unlink($file_doc);

}

 

function EditArticle($aid) {

    global $logged_gid, $setup;

    // Есть право на редактирование?

    $sid=$this->GetArticleSID($aid);

    $perm_edit=$setup->AccessAllow($setup->GetSectionSID("article"), $logged_gid, "edit", $this->getParent($sid));

    $deny=false;

    switch ($perm_edit) {

    case "my":

if ($this->GetArticleUID($aid)!=$_SESSION['logged_uid']) $deny=true;

break;

    case "deny":

$deny=true;

break;

    }

    if ($deny) return parse_file("theme/deny.htm");

    if (!$this->ArticleExists($aid)) return parse_file("theme/info.htm", array('info'=>"К сожалению, запрошенной Вами статьи не существует."));

    $row=mysql_fetch_assoc(mquery("SELECT * FROM article WHERE aid='$aid'"));

    $row['action']=".?t=article&a=update&aid=$aid";

    $row['article_short']=$GLOBALS['settings']['article_short'];

    $row['links']=$this->GetLinks($row['sid']);

    $GLOBALS['section_list']=NULL;

    $this->GetSectionsList(0);

    $row['sections']="<SELECT name='sid'>";

    foreach ($GLOBALS['section_list'] as $secid=>$array) {

if ($setup->AccessAllow($setup->GetSectionSID("article"), $logged_gid, "editsec", $this->getParent($secid))=="deny") continue;

foreach($array as $level=>$name) {

    $row['sections'].="<OPTION value=\"$secid\" ".($row['sid']==$secid?"SELECTED":"").">".str_repeat("&nbsp", $level*5)."$name</OPTION>";

}

    }

    $row['sections'].="</SELECT>";

    $GLOBALS['$section_list']=NULL;

    return parse_file("theme/article/article/edit.htm", $row);

}

 

function UpdateArticle($aid) {

    global $logged_gid, $setup;

    $sid=$this->GetArticleSID($aid);

    $perm_edit=$setup->AccessAllow($setup->GetSectionSID("article"), $logged_gid, "edit", $this->getParent($sid));

    $deny=false;

    switch ($perm_edit) {

    case "my":

if ($this->GetArticleUID($aid)!=$_SESSION['logged_uid']) $deny=true;

break;

    case "deny":

$deny=true;

break;

    }

    if ($deny) return parse_file("theme/deny.htm");

    if (!trim($_POST['name'])) return parse_file("theme/info.htm", array('info'=>"Вы не указали название  статьи."));

    if (isset($_FILES['filename']['tmp_name']) && (trim($_FILES['filename']['tmp_name']))) {

if ($_FILES['filename']['error']!=0) return parse_file("theme/error.htm", array('info'=>"Не указан файл или  произошла ошибка при загрузке  файла. Повторите попытку еще  раз."));

else {

    exec("rm -R article/article$aid");

    $ext=substr($_FILES['filename']['name'], -3);

    Doc2Html($_FILES['filename']['tmp_name'], $ext, $aid);

}

    }

    $date=date("Y-m-d");

    $time=date("H:i:s");

    mquery("UPDATE article SET sid='".$_POST['sid']."', name='".trim($_POST['name'])."', date_update='$date', time_update='$time' WHERE aid='$aid'");

    $setup->SetLastUpdate();

    safe_header("Location: .?t=article&aid=$aid");

}

 

function DeleteArticle($aid) {

    global $logged_gid, $setup;

    // Есть право на удаление?

    $sid=$this->GetArticleSID($aid);

    $perm_delete=$setup->AccessAllow($setup->GetSectionSID("article"), $logged_gid, "delete", $this->getParent($sid));

    $deny=false;

    switch ($perm_delete) {

    case "my":

if ($this->GetArticleUID($aid)!=$_SESSION['logged_uid']) $deny=true;

break;

    case "deny":

$deny=true;

break;

    }

    if ($deny) return parse_file("theme/deny.htm");

    exec("rm -f article/article$aid/*");

    rmdir("article/article$aid");

    mquery("DELETE FROM article WHERE aid='$aid'");

    $setup->SetLastUpdate();

    safe_header("Location: .?t=article&sid=$sid");

}

 

function GetArticleName($aid) {

    $result=mquery("SELECT name FROM article WHERE aid='$aid'");

    if (!mysql_num_rows($result)) {

mysql_free_result($result);

return false;

    }

    $row=mysql_fetch_assoc($result);

    mysql_free_result($result);

    return $row['name'];

}

 

function GetArticleGID($aid) {

    $result=mquery("SELECT gid FROM article WHERE aid='$aid'");

    if (!mysql_num_rows($result)) {

mysql_free_result($result);

return false;

    }

    $row=mysql_fetch_assoc($result);

    mysql_free_result($result);

    return $row['gid'];

}

 

function GetArticleSID($aid) {

    $result=mquery("SELECT sid FROM article WHERE aid='$aid'");

    if (!mysql_num_rows($result)) {

mysql_free_result($result);

return false;

    }

    $row=mysql_fetch_assoc($result);

    mysql_free_result($result);

    return $row['sid'];

}

 

function GetArticleUID($aid) {

    $result=mquery("SELECT uid FROM article WHERE aid='$aid'");

    if (!mysql_num_rows($result)) {

mysql_free_result($result);

return false;

    }

    $row=mysql_fetch_assoc($result);

    mysql_free_result($result);

    return $row['uid'];

}

 

function ArticleExists($aid) {

    if (mysql_num_rows(mquery("SELECT aid FROM article WHERE aid='$aid'"))) return true;

    else return false;

}

 

function AddSection($mid) {

    global $logged_gid, $setup;

    $perm_addsec=$setup->AccessAllow($setup->GetSectionSID("article"), $logged_gid, "addsec", $this->getParent($sid));

    $deny=false;

    switch ($perm_addsec) {

    case "deny":

$deny=true;

break;

    }

    if ($deny) return parse_file("theme/deny.htm");

    return parse_file("theme/article/section/add.htm", array('action'=>".?t=article&a=inssec&mid=$mid", 'links'=>$this->GetLinks($mid)));

}

 

function InsertSection($mid) {

    global $logged_gid, $setup;

    $perm_addsec=$setup->AccessAllow($setup->GetSectionSID("article"), $logged_gid, "addsec", $this->getParent($sid));

    $deny=false;

    switch ($perm_addsec) {

    case "deny":

$deny=true;

break;

    }

    if ($deny) return parse_file("theme/deny.htm");

    if (!trim($_POST['name'])) return parse_file("theme/error.htm", array('error'=>"Вы не указали название раздела."));

    $max=mysql_fetch_assoc(mquery("SELECT max(pos) AS pos FROM article_section WHERE mid='$mid'"));

    mquery("INSERT INTO article_section SET mid='$mid', name='".trim($_POST['name'])."', pos='".($max['pos']+1)."'");

    $setup->SetLastUpdate();

    if ($mid) $a="&sid=$mid"; else $a="";

    safe_header("Location: .?t=article$a");

}

 

function EditSection($sid) {

    global $logged_gid, $setup;

    $perm_editsec=$setup->AccessAllow($setup->GetSectionSID("article"), $logged_gid, "editsec", $this->getParent($sid));

    $deny=false;

    switch ($perm_editsec) {

    case "my":

if ($this->GetArticleUID($aid)!=$_SESSION['logged_uid']) $deny=true;

break;

    case "deny":

$deny=true;

break;

    }

    if ($deny) return parse_file("theme/deny.htm");

    if (!$this->SectionExists($sid)) return parse_file("theme/info.htm", array('info'=>"К сожалению, указанного  раздела не существует."));

    $row=mysql_fetch_assoc(mquery("SELECT * FROM article_section WHERE sid='$sid'"));

    $GLOBALS['section_list']=NULL;

    $this->GetSectionsList(0);

    $row['sections']="<SELECT name='mid'><OPTION value=\"0\" ".($row['mid']==0?"SELECTED":"").">Верхний  уровень</OPTION>";

    foreach ($GLOBALS['section_list'] as $secid=>$array) {

if ($setup->AccessAllow($setup->GetSectionSID("article"), $logged_gid, "editsec", $this->getParent($secid))=="deny") continue;

foreach($array as $level=>$name) {

    if ($secid==$sid) continue;

    $row['sections'].="<OPTION value=\"$secid\" ".($row['mid']==$secid?"SELECTED":"").">".str_repeat("&nbsp", $level*5)."$name</OPTION>";

}

    }

    $row['sections'].="</SELECT>";

    $GLOBALS['$section_list']=NULL;

    $row['action']=".?t=article&a=updsec&sid=$sid";

    $row['links']=$this->GetLinks($row['mid']);

    return parse_file("theme/article/section/edit.htm", $row);

}

 

function UpdateSection($sid, $mid) {

    global $logged_gid, $setup;

    $perm_editsec=$setup->AccessAllow($setup->GetSectionSID("article"), $logged_gid, "editsec", $this->getParent($sid));

    $deny=false;

    switch ($perm_editsec) {

    case "deny":

$deny=true;

break;

    }

    if ($deny) return parse_file("theme/deny.htm");

    if (!$this->SectionExists($sid)) return parse_file("theme/info.htm", array('info'=>"К сожалению, указанного раздела не существует."));

    if (!trim($_POST['name'])) return parse_file("theme/error.htm", array('error'=>"Вы не указали название  раздела."));

    $cur=mysql_fetch_assoc(mquery("SELECT mid, pos FROM article_section WHERE sid='$sid'"));

    if ($cur['mid']==$mid) $pos=$cur['pos'];

    else {

$max=mysql_fetch_assoc(mquery("SELECT max(pos) AS pos FROM article_section WHERE mid='$mid'"));

$pos=$max['pos']+1;

mquery("UPDATE article_section SET pos=pos-1 WHERE mid='$cur[mid]' AND pos>'$cur[pos]'");

    }

    mquery("UPDATE article_section SET name='".trim($_POST[name])."', mid='$mid', pos='$pos' WHERE sid='$sid'");

    $setup->SetLastUpdate();

    $row=mysql_fetch_assoc(mquery("SELECT mid FROM article_section WHERE sid='$sid'"));

    safe_header("Location: .?t=article&sid=$row[mid]");

}

 

function DeleteSection($sid, $csid) {

    global $logged_gid, $setup;

    $perm_delsec=$setup->AccessAllow($setup->GetSectionSID("article"), $logged_gid, "delsec", $this->getParent($sid));

    $deny=false;

    switch ($perm_delsec) {

    case "my":

if ($this->GetArticleUID($aid)!=$_SESSION['logged_uid']) $deny=true;

break;

    case "deny":

$deny=true;

break;

    }

    if ($deny) return parse_file("theme/deny.htm");

    if (!$this->SectionExists($sid)) return parse_file("theme/info.htm", array('info'=>"К сожалению, указанного  раздела не существует."));

    if (mysql_num_rows(mquery("SELECT sid FROM article_section WHERE mid='$sid'"))) return parse_file("theme/info.htm", array('info'=>"У данного раздела есть подразделы. Удалите сначала их."));

    if (mysql_num_rows(mquery("SELECT aid FROM article WHERE sid='$sid'"))) return parse_file("theme/info.htm", array('info'=>"В данном разделе есть статьи. Удалите сначала их."));

    $cur=mysql_fetch_assoc(mquery("SELECT mid, pos FROM article_section WHERE sid='$sid'"));

    mquery("LOCK TABLES article_section WRITE");

    mquery("DELETE FROM article_section WHERE sid='$sid'");

    mquery("UPDATE article_section SET pos=pos-1 WHERE mid='$cur[mid]' AND pos>'$cur[pos]'");

    mquery("UNLOCK TABLES");

    $setup->SetLastUpdate();

    safe_header("Location: .?t=article".($csid?"&sid=$csid":""));

}

 

function UpSection($sid) {

    global $logged_gid, $setup;

    $perm_editsec=$setup->AccessAllow($setup->GetSectionSID("article"), $logged_gid, "editsec", $this->getParent($sid));

    $deny=false;

    switch ($perm_editsec) {

    case "deny":

$deny=true;

break;

    }

   if ($deny) return parse_file("theme/deny.htm");

    if (!$this->SectionExists($sid)) return parse_file("theme/info.htm", array('info'=>"К сожалению, указанного  раздела не существует."));

    mquery("LOCK TABLES article_section WRITE");

    $cur=mysql_fetch_assoc(mquery("SELECT pos, mid FROM article_section WHERE sid='$sid'"));

    $min=mysql_fetch_assoc(mquery("SELECT min(pos) AS pos FROM article_section WHERE mid='$cur[mid]'"));

    if ($cur['pos']>$min['pos']) {

$up=mysql_fetch_assoc(mquery("SELECT sid, pos FROM article_section WHERE pos<'".($cur['pos'])."' AND mid='$cur[mid]' ORDER BY pos DESC LIMIT 1"));

mquery("UPDATE article_section SET pos='$cur[pos]' WHERE sid='$up[sid]' AND mid='$cur[mid]'");

Информация о работе Создание базы данных экспериментов с плазменным кристаллом