Объявление

forum27 Валерий
Друзья, приветствую и приглашаю Вас на свой форум-блог! Пишем о DX-связях, конструкциях, идеях, увлечениях, труде и просто рассуждаем по жизни. Ограничений почти нет (см. правила!). При желании участника, заведу (бесплатно конечно!) персональную страницу и обучу администрированию, от Вас только материалы - фотки, рисунки, тексты..
Сайт несёт образовательную, просветительскую и мотивационную к денежному труду миссию.
Всем - успехов в радио, в ваших хобби, интересно и денежно трудиться, чистого эфира и не болеть!
Почта - admin@forum27.ru
С уважением Валерий - Радио27, 50ET01, 50SD147, 50RC007, ex. RA4PAO. 74 года исполнилось незаметно.. 73!

#71 05-12-2017 07:28:39

sergdx27
Участник
Windows 7Firefox 52.0

Re: Создание ресурсов в Интернете и обучение

Валерий, вопрос по работе с клиентами, заказчиками. Варианты проектов высылоть в виде архива им на почту? Сумеют ли на том конце посмотреть их?

Отредактировано sergdx27 (05-12-2017 07:29:36)

Вне форума

#72 05-12-2017 08:05:37

ahead
Администратор
LinuxOpera 49.0

Re: Создание ресурсов в Интернете и обучение

Серёжа приветствую,
ну.. ответ очевиден, конечно не смогут посмотреть. Надо разархивировать в папку, надо знать иерархию, знать про index.html.. Заказчики как правило далеки от этого всего.

Проекты выкладываются на реальный хостинг (тестовый), а клиентам-заказчикам дается адрес на конкретный проект (как правило на субдомене). Это очень удобно, т.к. клиент видит реал и может в пожеланиях дать свои "хотелки" по дизайну и т.д.

Очень удобно иметь свой выделенный арендованный сервер (dedicated server) или вообще свой (лучший вариант). Конечно это значительно дороже обычного хостинга, но через пару лет все разработчики приходят к этому решению. Можно использовать свой домашний сервер (со статическим адресом), правильно его сконфигурировав для доступа извне, и тоже давать заказчику адрес для реального просмотра. Это называется "домашний хостинг", и мы об этом будем говорить на ближайшем занятии.
До встречи в офисе.


Слишком умных жизнь сама чешет с двух боков: горе им и от ума, и от мудаков

Вне форума

#73 05-12-2017 11:07:08

ahead
Администратор
LinuxOpera 49.0

Re: Создание ресурсов в Интернете и обучение

Помните, что базовые принципы хорошего кода (написания) едины для программистов, пишущих на любом языке.
Соблюдайте единый Code style. Если программист приходит работать в организацию, особенно крупную, то чаще всего его знакомят с правилами оформления кода в конкретном проекте (соглашение по code style). Это не случайный каприз работодателя, а свидетельство серьёзного подхода.

Пример - соблюдайте переносы фигурных скобок и отступы - это значительно улучшает восприятие отдельных блоков кода, соблюдайте правило вертикали - части одного запроса или условия должны находиться на одном отступе -

if (typeof a ! == "undefined" &&
    typeof b ! == "undefined" &&
    typeof c === "string") { 
//your stuff
}

Используйте осмысленные имена для переменных, функций, классов. Это обеспечит возможность поддержки проекта другими разработчиками.
Активно используйте комментарии, так будет легче разбираться в коде и самому и другим.

Плохой код -

<html>
<h1>Привет, мир!</h1>
<p>Это веб-страница.</p>
</html>

Хороший код -

<!DOCTYPE html>
<html>
                /* Основной заголовок */
   <head>
     <title>Привет, мир</title>
   </head>
   <body>
     <h1>Привет, мир!</h1>
     <p>Это веб-страница.</p>
   </body>
</html>

Посмотрите вебинар (Евгений Картавец) - https://geekbrains.ru/events/124 Много полезного!


Слишком умных жизнь сама чешет с двух боков: горе им и от ума, и от мудаков

Вне форума

#74 05-12-2017 14:48:31

ahead
Администратор
LinuxOpera 49.0

Re: Создание ресурсов в Интернете и обучение

Ещё пример хорошего тона в написании кода, всё ясно и понятно (т. н. "лесенка") -

mini_lestniza.jpg

Для повторения материала, небольшое домашнее задание - тестовый проект "Турбюро" перетащить в BootStrap и сделать его адаптивно-мобильным. Результат в архив и мне на почту.


Слишком умных жизнь сама чешет с двух боков: горе им и от ума, и от мудаков

Вне форума

#75 07-12-2017 11:56:10

ahead
Администратор
LinuxOpera 49.0

Re: Создание ресурсов в Интернете и обучение

Всем привет,
ну что-же.. С заданием все справились, на вопросы ответил индивидуально. Переходим к серъёзным вещам, а именно к языку PHP.
Сейчас вы плескаетесь в ванной, образно - в "джакузи".. Можете-умеете создавать коммерческие проекты реально за деньги.
Предлагаю окунуться дальше.., в озеро и реку, а через месяц - и в море.  smile
Горизонты открываются, как и новые возможности, в том числе и денежные! Пройдем и этот интересный путь.
До встречи в офисе!


Слишком умных жизнь сама чешет с двух боков: горе им и от ума, и от мудаков

Вне форума

#76 09-12-2017 10:38:05

ahead
Администратор
LinuxOpera 49.0

Re: Создание ресурсов в Интернете и обучение

Друзья,
посмотрите пред-проект моей курсантки из Нижнекамска, мобильное исполнение -
http://faridaweb.ru
Она уже к марту откроет свою WEB студию. Потребуются верстальщик и художник-дизайнер (всё удаленно).


Слишком умных жизнь сама чешет с двух боков: горе им и от ума, и от мудаков

Вне форума

#77 11-12-2017 11:54:28

V50ET01
Администратор
LinuxOpera 49.0

Re: Создание ресурсов в Интернете и обучение

Всем привет,
прошу со всей внимательностью отнестись к первым четырем-пяти урокам с диска "Уроки PHP". От того, как вы внедритесь в новые понятия и логику языка, будет зависеть успех в освоении. Выполняйте примеры и на их основе пробуйте создать свои.

PHP это язык программирования, специально разработанный для написания web-приложений (сценариев), исполняющихся на веб-сервере.
Аббревиатура PHP означает “Hypertext Preprocessor (Препроцессор Гипертекста)". Синтаксис языка берет начало от C, Java и Perl. Преимуществом PHP является предоставление веб-разработчикам возможности быстрого создания динамически генерируемых web-страниц.
Создаем на локальном сервере "полигон" для изучения языка PHP (обычный каркас). Напоминаю путь -
файловая система-папка var/www/html/poligon. Не забываем дать этой папке права 777 (типичная ошибка начинающих!).
В папке создаем файл-заготовку (HTML), но !! Сохраняем его уже под именем index.php .

Завтра - внеплановые занятия в офисе, будет небольшой сюрприз.., до встречи!


Время утекает сквозь пальцы опущенных рук. В жизни всё воздается по заслугам. Хорошие получают хорошую работу, плохие получают спонсора, умные имеют своё дело, а самые разумные обладают всем.

Вне форума

#78 13-12-2017 08:06:30

ahead
Администратор
LinuxChrome 19.0

Re: Создание ресурсов в Интернете и обучение

Первый скрипт на PHP: hello.php

<html>
 <head>
  <title>Тестируем PHP</title>
 </head>
 <body>

 <?
php echo '<p>Привет, мир!</p>'; 
?>

 </body>
</html>

Обратите внимание на "экраны" PHP , для вставки кода в HTML.


Слишком умных жизнь сама чешет с двух боков: горе им и от ума, и от мудаков

Вне форума

#79 16-12-2017 09:34:38

ahead
Администратор
LinuxOpera 49.0

Re: Создание ресурсов в Интернете и обучение

Пример кода PHP+HTML . Предлагается разобрать блоками и построчно, что  где вызывается, что где выводится и т.д. В понедельник (выходных вам будет достаточно) послушаю ваши комментарии.

<?php

if (!defined("IN_FUSION")) { die("Access Denied"); }
define("THEME_BULLET", "<img src='".THEME."images/cyber-bullet.png' class='no-border valignfix' alt='' />");
define("THEME_WIDTH", "90%");
define("CONTENT_WIDTH", "75%");

require_once INCLUDES."theme_functions_include.php";
require_once THEME."functions.php";

if (file_exists(THEME."locale/".$settings['locale'].".php")) { include THEME."locale/".$settings['locale'].".php";
} else { include THEME."locale/Russian.php"; }

if (function_exists("add_handler")) { add_handler("theme_output"); }

function render_page($license = false) {
	global $settings, $main_style, $locale, $mysql_queries_time, $userdata;
	
	//Header
	echo "<div class='header-dots'>\n<div class='header-light'>\n";
	echo "<div class='header-navigation'>".showsublinks(null)."</div>\n";
	if (!preg_match("#administration/#si", START_PAGE)) {
		echo "<div class='header-share'>\n<div class='addthis_toolbox addthis_floating_style addthis_32x32_style'>\n";
		echo "<a class='addthis_button_preferred_1'></a>\n";
		echo "<a class='addthis_button_preferred_2'></a>\n";
		echo "<a class='addthis_button_preferred_3'></a>\n";
		echo "<a class='addthis_button_preferred_4'></a>\n";
		echo "<a class='addthis_button_compact'></a>\n";
		echo "</div>\n";
		echo "<script type='text/javascript' src='http://s7.addthis.com/js/250/addthis_widget.js#pubid=xa-501677ba436338d2'></script>\n";
		echo "</div>\n";
	}
	echo "<table cellpadding='0' cellspacing='0' width='".THEME_WIDTH."' class='center'>\n<tr>\n";
	echo "<td class='header-quick-search'>\n<form name='searchform' method='get' action='".BASEDIR."search.php'>\n";
	echo "<input type='hidden' name='stype' value='all' />\n";
	echo "<input type='text' name='stext' value='".$locale['ce_000']."' class='search-field' onclick=\"this.value='';\" />\n";
	echo "<input type='submit' name='search' value='".$locale['ce_001']."' class='search-start' />\n";
	echo "</form>\n</td>";
	echo "<td class='header-login-bar'>\n";
	if (iMEMBER) { echo "<a href='".BASEDIR."profile.php?lookup=".$userdata['user_id']."' class='register'>".$locale['ce_002']."</a>|<a href='".BASEDIR."edit_profile.php' class='register'>".$locale['ce_003']."</a>|<a href='".BASEDIR."index.php?logout=yes' class='login'>".$locale['ce_004']."</a>\n";
	} else { echo "<a href='".BASEDIR."register.php' class='register'>".$locale['ce_005']."</a>|<a href='".BASEDIR."login.php' class='login'>".$locale['ce_006']."</a>\n"; }
	echo "</td>";
	echo "</tr>\n<tr>\n";	
	echo "<td class='full-header'>\n".showbanners()."</td>\n";
	echo "<td class='header-weekly-news'></td>\n";
	echo "</tr>\n</table>\n";
?>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Slider</title>
     <script type="text/javascript">
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script type="text/javascript" src="themes/Acb-pro/slider/js/jquery.waterwheelCarousel.js"></script>
    <script type="text/javascript">
      $(document).ready(function () {
        var carousel = $("#carousel").waterwheelCarousel({
          flankingItems: 3,
          movingToCenter: function ($item) {
            $('#callback-output').prepend('movingToCenter: ' + $item.attr('id') + '<br/>');
          },
          movedToCenter: function ($item) {
            $('#callback-output').prepend('movedToCenter: ' + $item.attr('id') + '<br/>');
          },
          movingFromCenter: function ($item) {
            $('#callback-output').prepend('movingFromCenter: ' + $item.attr('id') + '<br/>');
          },
          movedFromCenter: function ($item) {
            $('#callback-output').prepend('movedFromCenter: ' + $item.attr('id') + '<br/>');
          },
          clickedCenter: function ($item) {
            $('#callback-output').prepend('clickedCenter: ' + $item.attr('id') + '<br/>');
          }
        });

        $('#prev').bind('click', function () {
          carousel.prev();
          return false
        });

        $('#next').bind('click', function () {
          carousel.next();
          return false;
        });

        $('#reload').bind('click', function () {
          newOptions = eval("(" + $('#newoptions').val() + ")");
          carousel.reload(newOptions);
          return false;
        });

      });
    </script>

    <style type="text/css">
      body {
        font-family:Arial;
        font-size:12px;
        background:#ededed;
      }
      .example-desc {
        margin:3px 0;
        padding:5px;
      }

      #carousel {
        width:860px;
        margin: 10px auto;
        border:0px solid #222;
        height:300px;
        position:relative;
        clear:both;
        overflow:hidden;
        background:transparent;
      }
      #carousel img {
        visibility:hidden; /* hide images until carousel can handle them */
        cursor:pointer; /* otherwise it's not as obvious items can be clicked */
      }

      .split-left {
        width:450px;
        float:left;
      }
      .split-right {
        width:400px;
        float:left;
        margin-left:10px;
      }
      #callback-output {
        height:300px;
        overflow:scroll;
      }
      textarea#newoptions {
        width:430px;
      }
      .nav {
	    width: 80px; margin: 20px auto
      }
    </style>
  </head>
  <body>
    <div id="carousel">
      <a href="https://vk.com/club114907214" target='_blank'><img src="themes/Acb-pro/slider/images/1.jpg" id="item-1" /></a>
      <a href="https://vk.com/club114907214" target='_blank'><img src="themes/Acb-pro/slider/images/2.jpg" id="item-2" /></a>
      <a href="https://vk.com/club114907214" target='_blank'><img src="themes/Acb-pro/slider/images/3.jpg" id="item-3" /></a>
      <a href="https://vk.com/club114907214" target='_blank' ><img src="themes/Acb-pro/slider/images/4.jpg" id="item-4" /></a>
      <a href="https://vk.com/club114907214" target='_blank'><img src="themes/Acb-pro/slider/images/5.jpg" id="item-5" /></a>
      <a href="https://vk.com/club114907214" target='_blank'><img src="themes/Acb-pro/slider/images/6.jpg" id="item-6" /></a>
      <a href="https://vk.com/club114907214" target='_blank'><img src="themes/Acb-pro/slider/images/7.jpg" id="item-7" /></a>
      <a href="https://vk.com/club114907214" target='_blank'><img src="themes/Acb-pro/slider/images/8.jpg" id="item-8" /></a>
      <a href="https://vk.com/club114907214" target='_blank'><img src="themes/Acb-pro/slider/images/9.jpg" id="item-9" /></a>
    </div>
   <p><center><a href="https://vk.com/club114907214" target='_blank'><b>Мы ВКонтакте</b></a></center></p> 
  </body>
</html>	
	
<?php	

	//Content
	echo "<table cellpadding='0' cellspacing='0' width='".CONTENT_WIDTH."' class='content-table'>\n<tr>\n";
	echo "<td class='content-corner top-left'></td>\n";
	echo "<td class='content-horiontal top' colspan='2'></td>\n";
	echo "<td class='content-corner top-right'></td>\n";
	echo "</tr>\n<tr>\n";
	echo "<td class='content-vertical left'></td>\n";
	if (preg_match("#administration/#si", START_PAGE)) { echo "<td class='content-mid admin-panels'>".(LEFT ? LEFT : "").(RIGHT ? RIGHT : "")."</td>\n"; }
	echo "<td class='content-mid'>".U_CENTER.CONTENT.L_CENTER."</td>\n";
	if (preg_match("#forum/#si", START_PAGE)) { echo "<td class='content-mid no-panels'></td>\n";
	} elseif (!preg_match("#administration/#si", START_PAGE)) { echo "<td class='content-mid panels'>".(LEFT ? LEFT : "").(RIGHT ? RIGHT : "")."</td>\n"; }
	echo "<td class='content-vertical right'></td>\n";
	echo "</tr>\n<tr>\n";
	echo "<td class='content-corner bottom-left'></td>\n";
	echo "<td class='content-horiontal bottom' colspan='2'></td>\n";
	echo "<td class='content-corner bottom-right'></td>\n";
	echo "</tr>\n</table>\n";

	//Footer
	echo "<table cellpadding='0' cellspacing='0' width='100%' class='footer-table'>\n<tr>\n";
	echo "<td class='footer-designer'><div class='ghost'>CyberEye theme by FDTD Designer</div></td>\n";
	echo "<td class='footer-info'>\n<div class='float-right'>\n";
	echo (!empty($settings['footer']) ? stripslashes($settings['footer'])."" : "").(!$license ? showcopyright() : "");
	echo "</div>\n</td>";
	echo "</tr>\n</table>\n";
	echo "<table cellpadding='0' cellspacing='0' width='100%' class='footer-subtable'>\n<tr>\n";
	echo "<td class='footer-hotline' colspan='2'>\n";
	
		echo "<div class='float-right'>".showcounter()."</div>\n";
		echo showrendertime();
	
	echo "</td>";
	echo "</tr>\n</table>\n";
	echo "</div>\n</div>\n";
}

function render_comments($c_data, $c_info){
	global $locale, $settings;
	
	opentable($locale['c100']);
	if (!empty($c_data)){
		$c_makepagenav = "";
		if ($c_info['c_makepagenav'] !== false) { echo $c_makepagenav = "<div style='text-align:center;margin-bottom:5px;'>".$c_info['c_makepagenav']."</div>\n";  }
		foreach($c_data as $data) {
			$profile_link = preg_replace("#<a href='(.*?)'.*?>.*?</a>#si", "\\1", $data['comment_name']);
			echo "<div class='comment-box wrapper'>\n";
			if ($settings['comments_avatar'] == "1") { echo "<div class='float-left comment-avatar-box'><div class='comment-avatar'>".$data['user_avatar']."</div></div>\n"; }
			echo "<div class='float-left comment-arrow'></div>\n";
			echo "<div class='floatfix'>\n<div class='comment-info'>\n";
			echo "<div class='float-right'><a href='".FUSION_REQUEST."#c".$data['comment_id']."' id='c".$data['comment_id']."' name='c".$data['comment_id']."'>#".$data['i']."</a></div>\n";
			echo "Написал(а) ".$data['comment_name']." ".$data['comment_datestamp']."</div>\n<div class='comment-message'>\n";
			if ($data['edit_dell'] !== false) {
				$manage_links = str_replace(" |", "", $data['edit_dell']);
				$manage_links = preg_replace("#<a href='(.*?)'>(.*?)</a>#si", "<span rel='comment-option edit' name='\\2'>\\1</span>", $manage_links, 1);
				$manage_links = preg_replace("#<a href='(.*?)'>(.*?)</a>#si", "<span rel='comment-option delete' name='\\2'>\\1</span>", $manage_links, 1);
				$manage_links = preg_replace("#<span rel='(.*?)' name='(.*?)'>(.*?)</span>#si", "<a href='\\3' class='\\1' title='\\2'><img src='".THEME."images/spacer.png' class='no-border comment-spacer' alt='' /></a>", $manage_links);
				echo "<div class='float-right'>".$manage_links."\n</div>\n";
			}
			echo $data['comment_message'];
			echo "</div>\n</div>\n</div>\n";
		}
		echo $c_makepagenav;
		if ($c_info['admin_link'] !== false) { echo "<div class='comment-break float-right'>".$c_info['admin_link']."</div>\n"; }
	} else {
		echo $locale['c101']."\n";
	}
	closetable();   
}

function render_news($subject, $news, $info) {
	global $locale, $settings, $aidlink;
	
	echo "<table cellpadding='0' cellspacing='0' class='material-table'>\n<tr>\n";
	echo "<td class='material-icon'>".$info['cat_image']."</td>\n";
	echo "<td class='material-subject'>\n<div class='float-right'>\n";
	if (iADMIN && checkrights("N")) { echo "<a href='".ADMIN."news.php".$aidlink."&amp;action=edit&amp;news_id=".$info['news_id']."'><img src='".get_image("edit")."' alt='".$locale['global_076']."' title='".$locale['global_076']."' /></a>\n"; }
	echo "<a href='".BASEDIR."print.php?type=N&amp;item_id=".$info['news_id']."'><img src='".get_image("printer")."' alt='".$locale['global_075']."' title='".$locale['global_075']."' /></a>";
	echo "</div>\n";
	if ($info['news_sticky'] == "1") { echo "<img src='".THEME."images/material-sticky.png' class='no-border valignfix sticky' alt='' />"; }
	echo "<a id='news_".$info['news_id']."' name='news_".$info['news_id']."' href='".BASEDIR."news.php?readmore=".$info['news_id']."'>".strip_tags($subject)."</a>\n";
	echo "</td>\n";
	echo "</tr>\n<tr>\n";
	echo "<td class='material-icon date' rowspan='2'>\n";
	echo "<div class='material-date'><span>".showdate("%d", $info['news_date'])."</span><br />".showdate("%m.%y", $info['news_date'])."</div>\n";
	echo "</td>\n";
	echo "<td class='material-info'>\n<ul>\n";
	echo "<li class='user'>".profile_link($info['user_id'], $info['user_name'], $info['user_status'])."</li>\n";
	echo "<li class='category'><a href='".BASEDIR."news_cats.php?cat_id=".$info['cat_id']."'>".$info['cat_name']."</a></li>\n";
	echo "<li class='views'>".$info['news_reads'].$locale['global_074']."</li>\n";
	if ($info['news_allow_comments'] && $settings['comments_enabled'] == "1") {
		echo "<li class='comments'><a href='".BASEDIR."news.php?readmore=".$info['news_id']."#comments'>".$info['news_comments'].($info['news_comments'] == 1 ? $locale['global_073b'] : $locale['global_073'])."</a></li>\n";
	}
	echo "</ul>\n</td>\n";
	echo "</tr>\n<tr>\n";
	echo "<td class='material-body'>".$news."<br />\n";
	if (!isset($_GET['readmore']) && $info['news_ext'] == "y") {
		echo "<br />\n<div class='float-right'><a href='".BASEDIR."news.php?readmore=".$info['news_id']."' class='button'><span class='rightarrow icon'></span>".$locale['global_072']."</a></div>\n";
	}
	echo "</td>\n";
	echo "</tr>\n</table>\n";
}

function render_article($subject, $article, $info) {
	global $locale, $settings, $aidlink;
	
	echo "<table cellpadding='0' cellspacing='0' class='material-table'>\n<tr>\n";
	echo "<td class='material-icon'><img src='".THEME."images/article-head.png' class='no-border valignfix' alt='' /></td>\n";
	echo "<td class='material-subject'>\n<div class='float-right'>\n";
	if (iADMIN && checkrights("A")) { echo "<a href='".ADMIN."articles.php".$aidlink."&amp;action=edit&amp;article_id=".$info['article_id']."'><img src='".get_image("edit")."' alt='".$locale['global_076']."' title='".$locale['global_076']."' /></a>\n"; }
	echo "<a href='".BASEDIR."print.php?type=A&amp;item_id=".$info['article_id']."'><img src='".get_image("printer")."' alt='".$locale['global_075']."' title='".$locale['global_075']."' /></a>";
	echo "</div>\n";
	echo "<a id='article_".$info['article_id']."' name='article_".$info['article_id']."' href='".BASEDIR."articles.php?article_id=".$info['article_id']."'>".strip_tags($subject)."</a>\n";
	echo "</td>\n";
	echo "</tr>\n<tr>\n";
	echo "<td class='material-icon date' rowspan='2'>\n";
	echo "<div class='material-date'><span>".showdate("%d", $info['article_date'])."</span><br />".showdate("%m.%y", $info['article_date'])."</td>\n";
	echo "</td>\n";
	echo "<td class='material-info'>\n<ul>\n";
	echo "<li class='user'>".profile_link($info['user_id'], $info['user_name'], $info['user_status'])."</li>\n";
	echo "<li class='category'>".($info['cat_id'] ? "<a href='".BASEDIR."articles.php?cat_id=".$info['cat_id']."'>".$info['cat_name']."</a>" : "<a href='".BASEDIR."articles.php?cat_id=0'>".$locale['global_080']."</a>")."</li>\n";
	echo "<li class='views'>".$info['article_reads'].$locale['global_074']."</li>\n";
	if ($info['article_allow_comments'] && $settings['comments_enabled'] == "1") {
		echo "<li class='comments'><a href='".BASEDIR."articles.php?article_id=".$info['article_id']."#comments'>".$info['article_comments'].($info['article_comments'] == 1 ? $locale['global_073b'] : $locale['global_073'])."</a></li>\n";
	}
	echo "</ul>\n</td>\n";
	echo "</tr>\n<tr>\n";
	echo "<td class='material-body'>".($info['article_breaks'] == "y" ? nl2br($article) : $article)."</td>\n";
	echo "</tr>\n</table>\n";
}

function opentable($title) {
	echo "<table cellpadding='0' cellspacing='0' class='material-table'>\n<tr>\n";
	echo "<td class='material-icon'><img src='".THEME."images/block-head.png' class='no-border valignfix' alt='' /></td>\n";
	echo "<td class='material-subject'>".$title."</td>\n";
	echo "</tr>\n<tr>\n";
	echo "<td class='material-body' colspan='2'>\n";
}

function closetable() {
	echo "</td>\n";
	echo "</tr>\n</table>\n";
}

function openside($title, $collapse = true, $state = "on") {
	global $panel_collapse, $panel_switcher; $panel_collapse = $collapse;
	
	if ($panel_collapse == true) {
		$boxname = str_replace(" ", "", $title);
		$panel_switcher = panelbutton($state, $boxname);
	}
	echo "<table cellpadding='0' cellspacing='0' class='panel-table'>\n<tr>\n";
	echo "<td class='panel-corner top-left'></td>\n";
	echo "<td class='panel-horiontal top' colspan='2'></td>\n";
	echo "<td class='panel-corner top-right'></td>\n";
	echo "</tr>\n<tr>\n";
	echo "<td class='panel-vertical left'></td>\n";
	echo "<td class='panel-mid'>\n";
	echo "<div class='title'>".$title."</div>\n";
	if ($collapse == true) { echo panelstate($state, $boxname); }
}

function closeside() {
	global $panel_collapse, $panel_switcher;

	if ($panel_collapse == true) { echo "</div>\n"; }
	echo "</td>\n";
	echo "<td class='panel-mid collapse'>".($panel_collapse == true ? $panel_switcher : "")."</td>\n";
	echo "<td class='panel-vertical right'></td>\n";
	echo "</tr>\n<tr>\n";
	echo "<td class='panel-corner bottom-left'></td>\n";
	echo "<td class='panel-horiontal bottom' colspan='2'></td>\n";
	echo "<td class='panel-corner bottom-right'></td>\n";
	echo "</tr>\n</table>\n";
}
?>

До встречи в офисе!


Слишком умных жизнь сама чешет с двух боков: горе им и от ума, и от мудаков

Вне форума

#80 17-12-2017 16:22:19

ahead
Администратор
UbuntuChromium 63.0

Re: Создание ресурсов в Интернете и обучение

Отвечу на письма по Новогодним каникулам. Как вы знаете, некоторые ребята-курсанты приехали на курсы с других городов и уже купили билеты для встречи Новогоднего праздника дома, с родными. Поэтому каникулы объявляются с 28 декабря (у Влада чуть раньше) по 5 января. Попрошу выполнить все дом. задания и не опаздывать к продолжению  очных занятий.
С наступающим!


Слишком умных жизнь сама чешет с двух боков: горе им и от ума, и от мудаков

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Все материалы свободны

[ Сгенерировано за 0.049 сек, 8 запросов выполнено - Использовано памяти: 709.7 Кбайт (Пик: 1.02 Мбайт) ]