• Добро пожаловать, Гость
news Новости: Регистрация на форуме вновь открыта news
Страниц: [1] 2 3 4
 1 
 : Август 19, 2009, 02:29:12  
Автор InFerNo - Последний ответ от InFerNo
Русская поддержка будет осуществляться только на сайте Etomite CMS (Разработчика)

 2 
 : Июль 09, 2009, 12:09:35  
Автор InFerNo - Последний ответ от InFerNo
Цитировать
Чтобы воспользоваться советами вы должны иметь доступ к конфигурационным файлам сервера Apache (httpd.conf) и базы данных MySQL (my.cnf). Убедитесь, что у вас имеются необходимые привилегии для доступа и редактирования этих файлов (эту информацию вы можете узнать у своего хостера).
 
  • Компилируйте Apache с как можно меньшим количеством модулей. Перед компилированием, отредактируйте файл /apache_1.x.x/src/Configuration, добавьте комментарий »#» перед каждой строкой начинающейся с «AddModule», которые вам не нужны. Ставьте комментарий в начале каждой строки перед «LoadModule» в httpd.conf, если вы не собираетесь использовать указанные модули.
  • Отключите ExtendedStatus, кроме тех случаев, когда вы на самом деле занимаетесь отладкой. То же самое надо сделать и с mod_info. Apache потребуется время, чтобы вычислить и записать всю отладочную информацию, если они включены, что не отражается благополучно на остальных процессах.
  • Для директивы “Hostnamelookups” укажите значение «Off» (для сервера Apache версий 2.x.x это значение указано по умолчанию). Если директива включена (т.е. ей присвоено значение «On»), то при каждом запросе к серверу вызывается поиск его DNS адресов - такая функция не является необходимой для большинства серверов.
  • Для достижения максимальной производительности без использования защиты символьных ссылок (symlink) добавьте директиву FollowSymLinks и удалите директиву SymLinksIfOwnerMatch, если она имеется. Если последняя директива включена, при каждом запросе сервер Apache запускает функцию lstat() (результаты выполнения которой не кэшируются). Представьте, что при 1000 запросах в минуту, сервер должен за это же время выполнить дополнительно 1000 команд!
  • Поставьте «MaxClients 128» или выше для более загруженных веб сайтов. Это позволяет большему количеству процессов запускаться по отдельности и предотвращает разбивание цепочки процессов. Чтобы выяснить лучшее значение, не ставьте его выше, чем ваш доступный RAM, основываясь на следующей формуле: 8М*(настройка).Если у вас 1Гб оперативной памяти, 8Мб*128=1024. Вы можете выбирать между 2 и 8ГБ памяти на каждый запрос клиента.
  • Для максимальной производительности поставьте AllowOverride None в httpd.conf. Есть побочный эффект - она отключает .htaccess файлы. Иначе - Apache пытается сделать просмотр .htaccess в каждой директории и родительской директории рекурсивно, независимо от того, есть ли он там.
  • Настройка MaxRequestPerChild контролирует создание процесса, и по умолчанию она стоит на 30. Если вы не используете скрипты, которые сильно загружают память, вы можете спокойно ставить значительно большее значение, к примеру 1000 или 10000. Если в основном вы обслуживаете статичные страницы, вы можете спокойно повышать это значение без возникновения каких-либо проблем.
  • Значение в 15 секунд по умолчанию для KeepAliveTimeout - это попытка не обрывать соединение с компьютером, посылающим запрос серверу раз в 15 секунд, в случае, если другой запрос достигнет сервера с этого компьютера для другого файла (например, картинки с ссылками). Если вы используете пути вместо ссылок или картинок, только один запрос будет сделан к серверу на страницу. Таким образом, процесс не будет ничего делать перед тем, как завершиться, через 15 секунд. На большинстве сайтов вы можете уменьшить это значение до 2 секунд и получить улучшение в скорости. Побочное действие это опции - TCP/IP overhead, однако, он минимален в настоящее время.

 3 
 : Июль 09, 2009, 12:06:32  
Автор InFerNo - Последний ответ от InFerNo
Цитировать
Чтобы воспользоваться советами вы должны иметь доступ к конфигурационным файлам сервера Apache (httpd.conf) и базы данных MySQL (my.cnf). Убедитесь, что у вас имеются необходимые привилегии для доступа и редактирования этих файлов (эту информацию вы можете узнать у своего хостера).
 
  • Используйте в PHP только необходимые модули. Модули которые вы не используете, закомментируйте в файле конфигурации php.ini.
  • Старайтесь использовать кэширующую программу. Например, XCache, Eaccelerator, Turk MMCache (устарела), memcache, Zend, APC, просто поищите их в интернете.

 4 
 : Июль 09, 2009, 12:04:27  
Автор InFerNo - Последний ответ от InFerNo
Цитировать
Чтобы воспользоваться советами вы должны иметь доступ к конфигурационным файлам сервера Apache (httpd.conf) и базы данных MySQL (my.cnf). Убедитесь, что у вас имеются необходимые привилегии для доступа и редактирования этих файлов (эту информацию вы можете узнать у своего хостера).
 
  • Убедитесь, что “concurrent_inserts” включены в my.cnf - это позволяет INSERT значениям запускаться одновременно с SELECT значениями в таблицах MyISAM.
  • sort_buffer - каждый тред, которому нужно быть отсортированным, расположен в буфере данного размера. Увеличьте значение для ORDER BY или GROUP BY операций.
  • key_buffer_size - Увеличьте это значение для лучшего контроля над индексами на столько, насколько это возможно. Если вы сделаете его слишком большим, система станет очень медленно работать. Помните, что т.к. MySQL не кэширует данные, вам придётся оставить место под системный кэш операциооной системы.
  • table_cache относится к max_connections. К примеру, для 200 открытых соединений, вы должны иметь как минимум 200*n, где n-это максимальное количество таблиц за подключение. Скорее всего, вы должны выделить 3, так что если ваш max_connections является 200, поставьте table_cache на 600. Если вы запустите SELECT значения на большом количестве разных таблиц, будет небольшое переполнение, когда таблицы будут полны, т.к. на каждую таблицу, которая должна быть открыта, другая таблица должна быть закрыта. Вы можете избежать этого, если увеличите КЭШ таблиц.

 5 
 : Июль 07, 2009, 03:25:18  
Автор InFerNo - Последний ответ от InFerNo
/***************************************************************************
 Путь до файла:  includes/lang/russian.inc.php
 Функция:  Русский язык для Etomite CMS Prelude v1.1.
 Обновлен: 2009-05-07 [Etomite Prelude v1.1]
/***************************************************************************/


Переведена основная часть - 80%.

 6 
 : Июль 07, 2009, 03:20:22  
Автор InFerNo - Последний ответ от InFerNo
PDF - файл.
Размер - 756 кб.
Архив - 677.78 кб.
Архив проверен на вирусы.

 7 
 : Июль 06, 2009, 04:01:51  
Автор InFerNo - Последний ответ от InFerNo
00/ Качаете дистрибутив с сайта.

01/ Копируете файлы из архива на ваш сайт

02/ Переходите по адресу http://вашсайт.ru/путь/до/скрипта/



03/ Нажимаете ссылку "install utility"

04/ Нажимаете ссылку "New installation"

05/ Делаете права 777 на папки:

assets/cache
assets/images
assets/export

и права 666 на файл:
manager/includes/config.inc.php

06/ Вводите в поля данные:



а. Database name - имя базы данных
б. Table prefix - префикс таблиц для скрипта
в. Database Host - сервер баз данных
г. Database login name - имя пользователя для доступа к базе данных
д. Database password - пароль для доступа к базе данных
е. Administrator username - Имя пользователя администратора
ж. Administrator password - пароль администратора
з. Confirm password - подтверждение пароля

07/ Жмите "Setup Etomite!"

08/ Ставьте галочку напротив "I agree to the terms set out in this license."



09/ Жмите "Proceed"

10/ Если везде стоит "ОК", то жмем "Etomite manager"

11/ Теперь заходим по имени пользователя и паролю администратора и настраиваем систему

12/ Установка закончена.

На директории в которые надо что-нибудь записывать надо ставить права 777, а на файлы требующие модификации права 666.

 8 
 : Июль 06, 2009, 03:11:44  
Автор InFerNo - Последний ответ от InFerNo
1. Создать сниппет IcqStatus с кодом расположеном ниже
2. Вставить код на страницу [[IcqStatus?icq=123456789]], где 123456789 - Ваш Icq UIN.

Код сниппета IcqStatus

$path = "assets/images/";
$online = "<img src='".$path."/icq_online.png' title='Онлайн' alt='icq online' align='absmiddle' />";
$offline = "<img src='".$path."/icq_offline.png' title='Оффлайн' alt='icq offline' align='absmiddle' />";
$na = "<img src='".$path."/icq_na.png' title='N/A' alt='icq n/a' align='absmiddle' />";
$fp = fsockopen("status.icq.com", 80);
if($fp) {
fputs($fp, "GET /online.gif?icq=".$icq."&img=5 HTTP/1.0rnrn");
while ($line=FGetS($fp,128)) {
if(ERegI("^Location:.*$", $line)) {
if(ERegI("online1.gif",$line)) {
$icq_status = $online;
} else {
$icq_status = $offline;
}
}
}
} else {
$icq_status = $na;
}

$icq_status .= "&nbsp;&nbsp;<a href='http://www.icq.com/whitepages/cmd.php?uin=$icq&action=add' title='Добавить в список пользователей'>Добавить</a>";
return $icq_status;

 9 
 : Июль 06, 2009, 03:09:38  
Автор InFerNo - Последний ответ от InFerNo
1. Создать сниппет EmailForm с кодом расположеном ниже
2. Вставить код на страницу [[EmailForm]]

Код сниппета EmailForm

// emailform - used in the actual form.
// emailformMessage - messages to the user.
// Config is down a bit....
///////////////////////////////////
// DO NOT MESS WITH THESE TWO LINES
$subject_array = array();
$recipient_array = array();
///////////////////////////////////
//  <-----  BEGIN CONFIG  ----->
// Edit only what's between the quotation marks in the below lines.
// These will be the subjects that your users can choose from
// You can have as many as you want.
// Each one must be set up like so:
// $subject_array[] = "What You Want This Choice To Be";
// Make sure to remove empty ones that you aren't using. Just delete the entire line.

$subject_array[] = "";
$subject_array[] = "Коммерческое предложение";
$subject_array[] = "Предложение о сотрудничестве";
$subject_array[] = "Вопрос";
$subject_array[] = "Не работает сайт";

// Edit only what's between the quotation marks in the below lines.
// These lines contain the various people that can be contacted via your form.
// You can have as many as you want.
// Each one must be set up like so:
// $recipient_array["UNIQUE Short Name"] = "email@email.com";
// The "UNIQUE Short Name" will be shown in the select box.
// This allows the actual email address to be hidden from the user.
// Make sure to remove empty ones that you aren't using. Just delete the entire line.

$recipient_array[""] = "";
$recipient_array["Иванов Иван Иванович"] = "test@test.ru";
// $recipient_array["Recipient 2"] = "test2@test.com";

//  <-----  END CONFIG  ----->


if ($_POST['send'] == 'true') {
    $to = $_POST['to'];
    $name = $_POST['name'];
    $email = $_POST['email'];
    $the_subject = $_POST['subject'];
    $message = $_POST['message'];
    if (($name == '') OR ($email == '') OR ($message == '')) {
$SendMail .= "<div class='emailformMessage'>";
$SendMail .= "Убедительная просьба заполнять все поля.<br>";
$SendMail .= "</div>";
    }
        elseif (ereg('([ [:alnum:].-]+)(@[ [:alnum:].-]+.+)', $email)) {
    $charset = "windows-1251";
        $recipient = $to;
        $additional_headers = "MIME-Version: 1.0\rContent-Type: text/plain; Charset=\"windows-1251\"\r";
    $subject = "=?".$charset."?B?".base64_encode($the_subject)."==?=";
    $additional_headers .= "From: $email";
        $body = "Name: $name \r\nEmail: $email \r\nMessage:" . $message;
$body = "$body";
    if (mail($recipient, $subject, $body, $additional_headers)) {
$SendMail .= "<div class='emailformMessage'>";
$SendMail .= "<b>Сообщение, посланное успешно доставлено!</b>";
$SendMail .= "<br>С Вами, обязательно всяжутся наши представители.<br>";$SendMail .= "</div>";
    $name="";
    $email="";
    $message="";
    } else {
$SendMail .= "<div class='emailformMessage'>";
$SendMail .= "Ошибка! Пожалуйста попробуйте еще раз.<br>";
$SendMail .= "</div>";
        $send = "false";
    }
    } else {
$SendMail .= "<div class='emailformMessage'>";
$SendMail .= "Адрес электронной почты Вы поставляли (".$email.") является, не действительным. ";
$SendMail .= "Пожалуйста попробуйте еще раз.<br>";
$SendMail .= "</div>";
        $send = "false";
    }
    } else {
$SendMail .= "<div class='emailformMessage'>";
$SendMail .= "Выберите получателя сообщения. И заполните все поля.<br>";
$SendMail .= "</div>";
    }

$SendMail .= "<div class = 'emailform'>";
$SendMail .= "<form name = 'EmailForm' method = 'post' action=''>";
$SendMail .= "Получатель Сообщения:<br>";
$SendMail .= "<input type='hidden' name='send' value='true'>";
$SendMail .= "<select name='to'>";
    foreach ($recipient_array as $key => $value) {
$SendMail .= "<option value= " . $value . ">" . $key . "</option>";
        }
$SendMail .= "</select><br><br>";
$SendMail .= "Фамилия Имя Отчество:<br><input type='text' name='name' size='40' value=".$name."><br><br>";
$SendMail .= "Ваш адрес электронной почты:<br>";
$SendMail .= "<input type='text' name='email' size='40' value=".$email."><br><br>";
$SendMail .= "Тема сообщения:<br>";
$SendMail .= "<select name='subject'>";
    foreach ($subject_array as $value2) {
$SendMail .= "<option value=" . '"'. $value2 .'"' . ">" . $value2 . "</option>";
        }
$SendMail .= "</select><br><br>";
$SendMail .= "Текст Сообщение:<br>";
$SendMail .= "<textarea cols='50' rows='5' name='message'>".$message."</textarea><br><br>";
$SendMail .= "<input type='submit' value='Отправить'>";
$SendMail .= "&nbsp;<input type='reset' value='Очистить'>";
$SendMail .= "</form>";
$SendMail .= "</div>";

 10 
 : Июль 06, 2009, 03:07:04  
Автор InFerNo - Последний ответ от InFerNo
Сниппет - это небольшой самодостаточный кусок кода на PHP, который реализует какую-то функцию, к примеру вывод даты, отображает и обрабатывает веб-форму для внесения данных и т. д. Сниппет - это фактически шаблон наоборот: он содержит только чистый PHP-код, без всякого дизайна. Одним из атрибутов сниппета является название, которое, как уже несложно догадаться, используется для ссылки из шаблона. Фактически Etomite предоставляет среду для функционирования шаблонов и сниппетов, а при запросе конкретной страницы обрабатывает указанный шаблон, запрашивая и исполняя необходимые сниппеты, на которые он ссылается.
Например, самый простой сниппет может выглядеть так:
$test = ' <center> <h2>пример работы сниппета. Время: </h2> </center>';
$output = $test.microtime();
return $output;

Если назвать этот сниппет "testsnippets", то для вывода строки с текстом и временем в любом месте шаблона достаточно указать ссылку на него - [ [testsnippets] ]. Переменная $output содержит результат работы сниппета, который необходимо вывести на страницу.

Конечно, редко когда сниппет может работать сам по себе, поэтому естественной выглядит возможность передачи в него параметров из шаблона (например, [ [testsnippets?id=1] ]), доступ к глобальным переменным среды и к переменным POST/GET, а также возможность работы с API среды Etomite. В документации подробно описаны все базовые функции и переменные, которых не очень много, только самые необходимые, все остальные функции реализуются через сниппеты.
В системе изначально уже встроен небольшой набор сниппетов - к примеру, для вывода меню сайта или поисковой формы, а на официальном веб-сайте функционирует библиотека сниппетов, разрабатываемых сторонними участниками. Там можно найти как оригинальные коды, так и сниппеты для встраивания функциональности сторонних скриптов в сайт на основе Etomite.

Страниц: [1] 2 3 4