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

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

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

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

Файлы: 1 файл

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

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

 

    if (isset($_GET['aid'])) $aid=(int) $_GET['aid'];

    else $aid=0;

    if (isset($_GET['sid'])) $sid=(int) $_GET['sid'];

    else $sid=0;

    if (isset($_GET['mid'])) $mid=(int) $_GET['mid'];

    else $mid=0;

    if (isset($_GET['p'])) $p=(int) $_GET['p'];

    else $p=0;

    if (isset($_GET['tid'])) $tid=(int) $_GET['tid'];

    else $tid=0;

 

    switch ($a) {

    case "add":

$body.=$article->AddArticle($sid);

break;

    case "edit":

$body.=$article->EditArticle($aid);

break;

    case "delete":

$body.=$article->DeleteArticle($aid);

break;

    case "insert":

$body.=$article->InsertArticle($sid);

break;

    case "update":

$body.=$article->UpdateArticle($aid);

break;

    case "addsec":

$body.=$article->AddSection($mid);

break;

    case "editsec":

$body.=$article->EditSection($sid);

break;

    case "delsec":

$body.=$article->DeleteSection($sid, $csid);

break;

    case "inssec":

$body.=$article->InsertSection($mid);

break;

    case "updsec":

$body.=$article->UpdateSection($sid, $mid);

break;

    case "upsec":

$body.=$article->UpSection($sid);

break;

    case "downsec":

$body.=$article->DownSection($sid);

break;

    case "topic":

$body.=$article->ArticleTopic($aid, $tid);

break;

    case "colors":

$body.=$article->GetColors();

break;

    case "table":

$body.=$article->GetTable();

break;

    case "download":

$body.=$article->GetFile($aid);

break;

    default: // show

if ($aid) $body.=$article->ShowArticle($aid);

elseif ($sid && ($article->SectionExists($sid))) $body.=$article->ShowArticles($sid, $p?$p:1);

else {

    $body.=$article->ShowArticles(0, $p?$p:1);

}

break;

    }

?>

 

module/class/article.php

 

<?

    class Article {

//--------//

// Статьи //

//--------//

function GetRules() {

    $rules['show']=array('title'=>"Просмотр статей", 'space'=>array('deny'=>"Запрещен", 'allow'=>"Разрешен"));

    $rules['add']=array('title'=>"Добавление  статьи", 'space'=>array('deny'=>"Запрещено", 'allow'=>"Разрешено"));

    $rules['edit']=array('title'=>"Редактировние статьи", 'space'=>array('deny'=>"Запрещено", 'my'=>"Только свою", 'allow'=>"Разрешено"));

    $rules['delete']=array('title'=>"Удаление  статьи", 'space'=>array('deny'=>"Запрещено", 'my'=>"Только свою", 'allow'=>"Разрешено"));

    $rules['addsec']=array('title'=>"Добавление раздела", 'space'=>array('deny'=>"Запрещено", 'allow'=>"Разрешено"));

    $rules['editsec']=array('title'=>"Редактирование  раздела", 'space'=>array('deny'=>"Запрещено", 'allow'=>"Разрешено"));

    $rules['delsec']=array('title'=>"Удаление раздела", 'space'=>array('deny'=>"Запрещено", 'allow'=>"Разрешено"));

    return $rules;

}

 

function GetCreateTable() {

    return array(

'article'=>array(

    'create'=>"

CREATE TABLE article (

aid int(10) unsigned NOT NULL auto_increment,

sid int(10) unsigned default NULL,

uid int(10) unsigned default NULL,

name varchar(255) default NULL,

onmain enum('', '1') default '',

date date default NULL,

time time default NULL,

date_update date default NULL,

time_update time default NULL,

PRIMARY KEY  (aid)

) TYPE=MyISAM

    ",

    'insert'=>array(

"INSERT INTO setup VALUES ('article_onpage', 20)",

"INSERT INTO setup VALUES ('article_short', 400)",

"INSERT INTO setup VALUES ('article_onmain', 10)"

    )

),

'article_section'=>array(

    'create'=>"

CREATE TABLE article_section (

sid int(10) unsigned NOT NULL auto_increment,

mid int(10) unsigned default NULL,

name varchar(255) default NULL,

title text default '',

pos int(10) unsigned default NULL,

PRIMARY KEY  (sid)

) TYPE=MyISAM

    ",

    'insert'=>array()

)

    );

}

 

function getParent($sid) {

    $done=false;

    while(!$done) {

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

if ($row['mid']==0) $done=true;

else $sid=$row['mid'];

    }

    return $sid;

}

 

function ShowArticles($sid=0, $p=1) {

    global $logged_gid, $setup, $user;

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

    $deny=false;

    switch ($perm_show) {

    case "deny":

$deny=true;

break;

    }

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

    // Список разделов

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

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

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

    $result=mquery("SELECT * FROM article_section WHERE mid='$sid' ORDER BY pos");

    $sections=NULL; $sections['sections']="";

    if (mysql_num_rows($result)) {

while($row=mysql_fetch_assoc($result)) {

    if ($sid==0) {

if ($setup->AccessAllow($setup->GetSectionSID("article"), $logged_gid, "show", $row['sid'])=="deny")

    continue;

    }

    $hrefs=NULL;

    switch ($perm_editsec) {

    case "allow":

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

if ($row['pos']>$cur['min_pos']) $hrefs[]=parse_file("theme/article/section/href/up.htm", array('action'=>".?t=article&a=upsec&sid=$row[sid]"));

if ($row['pos']<$cur['max_pos']) $hrefs[]=parse_file("theme/article/section/href/down.htm", array('action'=>".?t=article&a=downsec&sid=$row[sid]"));

$hrefs[]=parse_file("theme/article/section/href/editsec.htm", array('action'=>".?t=article&a=editsec&sid=$row[sid]"));

break;

    }

    switch ($perm_delsec) {

    case "allow":

if (!mysql_num_rows(mquery("SELECT sid FROM article_section WHERE mid='$row[sid]'")))

    if (!mysql_num_rows(mquery("SELECT aid FROM article WHERE sid='$row[sid]'")))

$hrefs[]=parse_file("theme/article/section/href/delsec.htm", array('action'=>".?t=article&a=delsec&sid=$row[sid]"));

break;

    }

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

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

    $GLOBALS['section_list']=NULL;

    $this->GetSectionsList($row['sid']);

    $row['count']=count($GLOBALS['section_list']);

    $GLOBALS['section_list']=NULL;

    $sections['sections'].=parse_file("theme/article/section/section.htm", $row);

    $mid=$row['mid'];

}

switch ($perm_addsec) {

case "allow":

    $sections['sections'].=parse_file("theme/article/formadd.htm", array('action'=>".?t=article&a=addsec&mid=$mid"));

    break;

}

$main['sections']=parse_file("theme/article/section/sections.htm", $sections);

    } else {

$mid=$sid;

switch ($perm_addsec) {

case "allow":

    $sections['sections'].=parse_file("theme/article/formadd.htm", array('action'=>".?t=article&a=addsec&mid=$mid"));

    $main['sections']=parse_file("theme/article/section/sections.htm", $sections);

    break;

}

    }

    // Список статей

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

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

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

    $result=mquery("SELECT * FROM article WHERE sid='$sid' ORDER BY date_update DESC, time_update DESC LIMIT ".($p-1)*$GLOBALS['settings']['article_onpage'].", ".$GLOBALS['settings']['article_onpage']);

    $articles=NULL; $articles['articles']="";

    if (mysql_num_rows($result)) {

while($row=mysql_fetch_assoc($result)) {

    $filename="article/article".$row['aid']."/article".$row['aid'].".htm";

    $zipfile="article/article".$row['aid']."/article".$row['aid'].".zip";

    if (file_exists($filename)) $row['short']=get_short(file_get_contents($filename));

    else $row['short']="Файл не  найден.";

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

    format_date($row['date_update'], $row['time_update']);

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

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

    $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;

    }

    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']="";

    $filesize=filesize($zipfile);

    $size=round($filesize/1024, 1); $unit="Кб";

    if ($size>=1000) {

$size=round($size/1024, 1);

$unit="Мб";

    }

    $row['filesize']=$size."&nbsp;".$unit;

    $articles['articles'].=parse_file("theme/article/article/article.htm", $row);

}

switch ($perm_add) {

case "allow":

    $articles['articles'].=parse_file("theme/article/formadd.htm", array('action'=>".?t=article&a=add&sid=$sid"));

    break;

case "deny":

    if (!$articles['articles']) $articles['articles']=parse_file("theme/article/nothing.htm", array('nothing'=>"В данном разделе  статей нет."));

    break;

}

mysql_free_result($result);

$articles['section']=$this->GetSectionName($sid);

$main['articles']=parse_file("theme/article/article/articles.htm", $articles);

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

$main['pages']=get_pages_link($GLOBALS['settings']['article_onpage'], $article_count, ".?t=article&sid=$sid", $p);

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

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

    } else {

mysql_free_result($result);

switch ($perm_add) {

case "allow":

    if ($mid==0) $articles['articles']=parse_file("theme/article/nothing.htm", array('nothing'=>"Выберите подраздел, чтобы добавить статью."));

    else $articles['articles'].=parse_file("theme/article/formadd.htm", array('action'=>".?t=article&a=add&sid=$sid"));

    $articles['pages']="";

    $articles['section']=$this->GetSectionName($sid);

    $main['articles']=parse_file("theme/article/article/articles.htm", $articles);

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

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

    break;

case "deny":

    $articles['articles']=parse_file("theme/article/nothing.htm", array('nothing'=>"В данном разделе статей нет."));

    $articles['pages']="";

    $articles['section']=$this->GetSectionName($sid);

    $main['articles']=parse_file("theme/article/article/articles.htm", $articles);

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

    if ($mid==0) return parse_file("theme/article/main.htm", $main);;

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

    break;

}

    }

}

 

function ArticlesSearch($text, $highlight, $onpage, $p, &$count_found) {

    global $logged_gid, $setup;

    $result=mquery("SELECT * FROM article_section WHERE mid='0' ORDER BY pos");

    if (mysql_num_rows($result)) {

$i=0;

while($row=mysql_fetch_assoc($result)) {

    if ($setup->AccessAllow($setup->GetSectionSID("article"), $logged_gid, "show", $row['sid'])=="deny") continue;

    if (!mysql_num_rows($result_article=mquery("SELECT * FROM article WHERE sid='".$row['sid']."'"))) continue;

    while($article=mysql_fetch_assoc($result_article)) {

$filename="article/article".$article['aid']."/article".$article['aid'].".htm";

$zipfile="article/article".$article['aid']."/article".$article['aid'].".zip";

if (file_exists($filename)) $article['short']=preg_replace("/\s+/s", " ", get_short($str=file_get_contents($filename)));

else continue;

preg_match_all($text, strip_tags($str), $match);

if (($count=count($match[0]))==0) continue;

$article['action']=".?t=article&aid=".$article['aid'].(count($highlight)?"&highlight=".urlencode(implode(" ", $highlight)):"");

format_date($article['date_update'], $article['time_update']);

$article['download']=".?t=article&a=download&aid=".$article['aid'];

$article['href']="";

$filesize=filesize($zipfile);

$size=round($filesize/1024, 1); $unit="Кб";

if ($size>=1000) {

    $size=round($size/1024, 1);

    $unit="Мб";

}

$article['filesize']=$size."&nbsp;".$unit;

$article['links']=$this->GetSectionNameHREF($article['sid']);

$articles[$i]['count']=$count;

$articles[$i]['info']=$article;

$articles[$i]['info']['count']=$count;

$i++;

    }

    mysql_free_result($result_article);

}

    }

    mysql_free_result($result);

    $body="";

    if ($count_found=count($articles)) {

arsort($articles);

$i=-1;

foreach($articles as $key=>$article) {

    $i++;

    if (($i<$onpage*($p-1)) || ($i>=$onpage*$p)) continue;

    $body.=parse_file("theme/article/search.htm", $articles[$key]['info']);

}

    }

    return $body;

}

 

function ShowArticlesLast() {

    global $logged_gid, $setup, $user;

    $result=mquery("SELECT * FROM article ORDER BY date_update DESC, time_update DESC LIMIT ".$GLOBALS['settings']['article_onmain']);

    $articles=NULL; $articles['articles']=""; $body="";

    if (mysql_num_rows($result)) {

while($row=mysql_fetch_assoc($result)) {

    if ($setup->AccessAllow($setup->GetSectionSID("article"), $logged_gid, "show", $this->getParent($row['sid']))=="deny") continue;

    $filename="article/article".$row['aid']."/article".$row['aid'].".htm";

    $zipfile="article/article".$row['aid']."/article".$row['aid'].".zip";

    if (file_exists($filename)) $row['short']=get_short(file_get_contents($filename));

    else $row['short']="Файл не  найден.";

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

    format_date($row['date_update'], $row['time_update']);

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

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

    $row['href']="";

    $filesize=filesize($zipfile);

    $size=round($filesize/1024, 1); $unit="Кб";

    if ($size>=1000) {

$size=round($size/1024, 1);

$unit="Мб";

    }

    $row['filesize']=$size."&nbsp;".$unit;

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

    $body.=parse_file("theme/article/search.htm", $row);

}

    } else {

$body="<TR><TD>Новых статей  нет.</TD></TR>";

    }

    mysql_free_result($result);

    return $body;

}

 

function ShowArticle($aid) {

    global $logged_gid, $setup, $user;

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

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

    $deny=false;

    switch ($perm_show) {

    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'=>"К сожалению, указанной  статьи не найдено."));

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