Установка Drupal через drush

Установить друпал можно через командную строку в одну строку!!!! Ну если быть точнее через две.

#Первая строка скачивает drupal
drush dl drupal

#установка друпалла
drush site-install standard --account-name=LoginAdmin --account-pass=passwordAdmin --db-url=mysql://UserDB:PasswordDB@localhost/NameDB

Больше команд можно почитать здесь

Drush worck shop

1. Установка друпал

#скачать ядро
drush dl drupal-7

#перенести файлы в корень
mv drupal-7.x-dev/{.,*}* .
#удалить пустую папку
rm -r drupal-7.x-dev/

#фикс прав
find * -type d -exec chmod 755 {} \;
find * -type f -exec chmod 644 {} \;

#установка друпалла
drush site-install standard --account-name=LoginAdmin --account-pass=passwordAdmin --db-url=mysql://UserDB:PasswordDB@localhost/NameDB

#отключаем 2 лишние модули
drush dis dashboard overlay shortcut toolbar

#качаем и включаем нужные моддули (можно сначала скачать через dl)

#пример с зависимостями
drush en views webform module_filter

#установка выбраной версии
drush dl og-1.3 # shortcut for pm-download
drush -y en og # shortcut for pm-enable

# отключаем с зависимостями (можно глянуть на модуль i18n)
drush dis ctools

#устанавливаем набор модулей к примеру

drush en admin_menu admin_menu_toolbar l10n_update module_filter page_manager views_content ctools_custom_content ctools views views_ui transliteration token pathauto rules rules_admin entity devel basic wysiwyg wysiwyg_filter lightbox2 plupload libraries filefield_sources filefield_sources_plupload ocupload views_bulk_operations admin_views i18n

-- добавляем языка включения отключения и тёдё
drush language-add ru de

drush language-disable de ru

drush language-enable ru

drush language-default ru

#подкачка языка
drush l10n-update-status
drush l10n-update-refresh
drush l10n-update --languages=ru

другие команды
drush core-cron
drush up
drush ccй

drush ard — создание бэкапа сайта. Делает бэкап как самого сайта, так и базы данных, все это сохраняется в tar.gz архиве. Невероятно удобная вещь.
drush arr path — восстановление бекапа созданного командой drush ard. Заместо path нужно

#пробежаться и обновит все

for i in /home/www/grenuy/data/www/*/sites/.. ; do cd "$i"; drush updb; drush en update; yes | drush pm-update

DRUSH

drush up — обновление ядра и модулей Drupal.
drush cc all — очистка всего кеша сайта.
drush pm-list — список всех модулей и тем установленных на сайте, а также их версии и статус активности.
drush dl module — загружает модуль или тему. Несколько значений пишится через пробел.
drush en module — включает указанный модуль или тему.
drush dis module — выключает указанный модуль или тему.
drush ard — создание бэкапа сайта. Делает бэкап как самого сайта, так и базы данных, все это сохраняется в tar.gz архиве. Невероятно удобная вещь.
drush arr path — восстановление бекапа созданного командой drush ard. Заместо path нужно указать путь до архива, включая его название и расширение.

Установка drupall

drush dl drupal-7.x
drush site-install standard --account-name=admin --account-pass=admin --db-url=mysql://YourMySQLUser:RandomPassword@localhost/YourMySQLDatabase

Розпаковка архива на другой сервер
drush arr nivea.20150415_200549.tar.gz --db-url=mysql://root@localhost:3306/nivea

drush uli - получить разовую ссылку на вход для админа
drush upwd admin --password="newpassword" - сбросить пароль для пользователя

Массовое применение patch drupal 7.32

Для того что применить к всем пользователям патч нужно создать файл на сервере (к примеру в корне) с именем к примеру
pathc.patch. Текст в файле, в нашем случаи можно взять, здесь https://www.drupal.org/files/issues/SA-CORE-2014-005-D7.patch

И зайдя через SSH выполнить команду

for i in /home/www/*/data/www/* ; do cd "$i"; echo "$i"; patch -p1 < /patch.patch; done

Путь конечно же под ваш сервер, у меня первая звездочка это пользователи на сервере, вторая сайты.

Дробное количество ubercart 3

ubercard 3.5 нашел решения с некоторыми коректировками
// making the product quantities FLOAT instead INTEGER Drupal 7, Ubercart 3.1
//// DATABASE CHANGES Four ubercart tables alterations are made from sql terminal (mysql -u ADMIN_USER -p , use DATABASE_NAME )
1) The UC_CART_PRODUCTS table intersect the UC_CARTS table and the UC_PRODUCTS table. The column ц╒Б┌╛е⌠qtyц╒Б┌╛б² is the one to ajust. Here is the MySQL statement that will modify the column to a FLOAT data type:

ALTER TABLE `uc_cart_products` MODIFY COLUMN `qty` FLOAT(6,2) UNSIGNED NOT NULL DEFAULT 0;

2) The UC_ORDERS table holds all the orders created. The column to adjust is ц╒Б┌╛е⌠product_countц╒Б┌╛б².

ALTER TABLE `uc_orders` MODIFY COLUMN `product_count` FLOAT(6,2) UNSIGNED NOT NULL DEFAULT 0; 3) The UC_PRODUCTS table contains a

default_qty field. This value gets inserted into both the product edit page and the product view page (for the customer). I think it would be a good idea to show the customer how many decimal places one may use.

ALTER TABLE `uc_products` MODIFY COLUMN `default_qty` FLOAT(6,2) UNSIGNED NOT NULL DEFAULT 1.00;

4) The UC_ORDER_PRODUCTS table intersects the UC_ORDERS table and the UC_PRODUCTS table. The column to adjust is the ц╒Б┌╛е⌠qtyц╒Б┌╛б² column. Here is the MySQL statement that will modify the column to a FLOAT data type:

ALTER TABLE `uc_order_products` MODIFY COLUMN `qty` FLOAT(6,2) UNSIGNED NOT NULL DEFAULT 0;

//// CODE CHANGES // FIRST uc_order -> uc_order.install //Change array elements in function to: /** * Increase maximum order item quantity. */

function uc_order_update_7003() {
db_change_field('uc_order_products', 'qty', 'qty', array(
'description' => 'The number of the same product ordered.',
'type' => 'float',
'precision' => 6,
'scale' => 1,
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 1.0,
));
}

// SECOND


uc_order
->
uc_order.install

In $schema['uc_order_products'] change:

'qty' => array(
'description' => 'The number of the same product ordered.',
'type' => 'int',
'size' => 'small',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),

To:


'qty' => array(
'description' => 'The number of the same product ordered.',
'type' => 'float',
'precision' => 6,
'scale' => 1,
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 1.0,
),

// THIRD uc_product -> uc_product.module //For possibility of using 0.00 to 1.00 quantites in function uc_product_uc_update_cart_item change: (string 1052) p.s. С новыми версиями функция поменялась, я сменил на функцию на старую версию, пока все ок 🙂

</pre>
<pre class="php"><code><span class="php-keyword">function</span> <span class="php-function-or-constant"><a class="local active" title="Implements hook_uc_update_cart_item()." href="http://drupalcontrib.org/api/drupal/contributions%21ubercart%21uc_product%21uc_product.module/function/uc_product_uc_update_cart_item/7">uc_product_uc_update_cart_item</a></span>(<span class="php-variable">$nid</span>, <span class="php-variable">$data</span> = <span class="php-keyword">array</span>(), <span class="php-variable">$qty</span>, <span class="php-variable">$cid</span> = <span class="php-function-or-constant">NULL</span>) {
  <span class="php-keyword">if</span> (!<span class="php-variable">$nid</span>) {
    <span class="php-keyword">return</span> <span class="php-function-or-constant">NULL</span>;
  }
  <span class="php-variable">$cid</span> = !(<span class="php-function-or-constant">is_null</span>(<span class="php-variable">$cid</span>) || <span class="php-keyword">empty</span>(<span class="php-variable">$cid</span>)) ? <span class="php-variable">$cid</span> : <span class="php-function-or-constant"><a class="local" title="Returns the unique cart_id of the user." href="http://drupalcontrib.org/api/drupal/contributions%21ubercart%21uc_cart%21uc_cart.module/function/uc_cart_get_id/7">uc_cart_get_id</a></span>();
  <span class="php-keyword">if</span> (<span class="php-variable">$qty</span> < <span class="php-constant">1</span>) {
    <span class="php-function-or-constant"><a class="local" title="Removes an item from the cart." href="http://drupalcontrib.org/api/drupal/contributions%21ubercart%21uc_cart%21uc_cart.module/function/uc_cart_remove_item/7">uc_cart_remove_item</a></span>(<span class="php-variable">$nid</span>, <span class="php-variable">$cid</span>, <span class="php-variable">$data</span>);
  }
  <span class="php-keyword">else</span> {
    <span class="php-function-or-constant"><a class="local" title="Returns a new UpdateQuery object for the active database." href="http://drupalcontrib.org/api/drupal/drupal%21includes%21database%21database.inc/function/db_update/7">db_update</a></span>(<span class="php-string">'uc_cart_products'</span>)
      -><span class="php-function-or-constant"><a class="local" title="Multiple implementations exist." href="http://drupalcontrib.org/api/search/7/fields">fields</a></span>(<span class="php-keyword">array</span>(
      <span class="php-string">'qty'</span> => <span class="php-variable">$qty</span>, 
      <span class="php-string">'changed'</span> => <span class="php-function-or-constant"><a class="local" title="Time of the current request in seconds elapsed since the Unix Epoch." href="http://drupalcontrib.org/api/drupal/drupal%21includes%21bootstrap.inc/constant/REQUEST_TIME/7">REQUEST_TIME</a></span>,
    ))
      -><span class="php-function-or-constant"><a class="local" title="Multiple implementations exist." href="http://drupalcontrib.org/api/search/7/condition">condition</a></span>(<span class="php-string">'nid'</span>, <span class="php-variable">$nid</span>)
      -><span class="php-function-or-constant"><a class="local" title="Multiple implementations exist." href="http://drupalcontrib.org/api/search/7/condition">condition</a></span>(<span class="php-string">'cart_id'</span>, <span class="php-variable">$cid</span>)
      -><span class="php-function-or-constant"><a class="local" title="Multiple implementations exist." href="http://drupalcontrib.org/api/search/7/condition">condition</a></span>(<span class="php-string">'data'</span>, <span class="php-function-or-constant">serialize</span>(<span class="php-variable">$data</span>))
      -><span class="php-function-or-constant"><a class="local" title="Multiple implementations exist." href="http://drupalcontrib.org/api/search/7/execute">execute</a></span>();
  }
}


 


if ($qty < 1) {

 

CHANGE TO:


if ($qty == 0) {

// FOURTH uc_order -> uc_order.admin.inc //Not sure if it's necessary but just in case (string 1125)

if (!isset($product['remove']) && intval($product['qty']) > 0) {

CHANGE TO:


if (!isset($product['remove']) && ($product['qty']) > 0) {

//FIFTH uc_cart -> uc_cart.install //Not sure if it's necessary but just in case CHANGE TO FLOATS: (string 37)


'qty' => array(
'description' => 'The number of this product in the cart.',
'type' => 'float',
'precision' => 6,
'scale' => 1,
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 1.0,

AND (string 126)


function uc_cart_update_7001() {
db_change_field('uc_cart_products', 'qty', 'qty', array(
'description' => 'The number of this product in the cart.',
'type' => 'float',
'precision' => 6,
'scale' => 1,
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 1.0,
));
}

/*uc_store\uc_store.module*/ /*chenge */


function uc_store_validate_uc_quantity(&$element, &$form_state) {
if (!preg_match('/^\d+$/', $element['#value'])) {
form_error($element, t('The quantity must be a number.'));
}
elseif (empty($element['#allow_zero']) && !$element['#value']) {
form_error($element, t('The quantity cannot be zero.'));
}
}

/*on*/


function uc_store_validate_uc_quantity(&$element, &$form_state) {
if (!preg_match("/([0-9\.-]+)/", $element['#value'])) {
form_error($element, t('The quantity must be a number.'));
}
elseif (empty($element['#allow_zero']) && !$element['#value']) {
form_error($element, t('The quantity cannot be zero.'));
}
}

Drush update all module and drupal automatic more site

Как всегда не буду тянуть заходим в SSH и вводим такую вот строчку

for i in /home/www/grenuy/data/www/*/sites/.. ; do cd "$i"; drush updb; drush en update; yes | drush pm-update ; drush up drupal ; drush updb ; done

 

grenuy это имя пользователя путь может быть немного видоизмененным в зависимости от сервера.

Скрипт может давать сбои и error, при сбои создается папка с именем drupal-7.** перенеся от туда файлы в корень сайта восстановиться сайт.

обновляет как и 7-ку так и 6-ку в построчечный режим выполнения команд такой(в корне сайта выполняться)

drush en update
drush pm-update
drush up drupal
drush updb

Drupal BuEditor разметка php css html c++ и т.д.

Все очень просто заходим в раздел настройки bueditor-a
http://*****/admin/settings/bueditor
Возле желаймого редактора тыкаем изменить, получаем следующее

Вставив код в ячейку кода

[PHP]js: E.tagChooser([
<%%KEEPWHITESPACE%%> ['code', 'Bash', {'class': 'bash'}],
<%%KEEPWHITESPACE%%> ['code', 'C', {'class': 'c'}],
<%%KEEPWHITESPACE%%> ['code', 'C++', {'class': 'cpp'}],
<%%KEEPWHITESPACE%%> ['code', 'C#', {'class': 'csharp'}],
<%%KEEPWHITESPACE%%> ['code', 'Pascal', {'class': 'pascal'}],
<%%KEEPWHITESPACE%%> ['code', 'Php', {'class': 'php'}],
<%%KEEPWHITESPACE%%> ['code', 'Css', {'class': 'css'}],
<%%KEEPWHITESPACE%%> ['code', 'html', {'class': 'html4strict'}],
<%%KEEPWHITESPACE%%> ['code', 'Brainfuck', {'class': 'bf'}],
<%%KEEPWHITESPACE%%> ]);[/PHP]

Нажали сохранить мы получим обновленный редактор

 

views nivo slider how to do that would slide shows in order, randomly, and the first slide was also randomly

Can anyone come in handy, did a little bit perverted, but it works, sort, and finally finished the pattern

if(drupal_is_front_page()){
$sql = "SELECT nid FROM node WHERE TYPE =  'image_slider'";
$result = db_query($sql); 
while ($n = db_fetch_object($result)) {
db_query("UPDATE  `node` SET  `title` =  '".rand(1,100500)."' WHERE `nid` ='".$n->nid."';");
}}

the essence of all that the name node, which is sorted, renamed when visiting the home page. Accordingly, when sorting each time a new order will

Variables in the subject Drupal

page.tpl.php

Basic template for a page.Accessible variables:

  • $head_title is a header of page
  • $head is all information in head
  • $styles are styles
  • $scripts are scripts
  • $classes are classes for body
  • $header is a cap which we took away in a separate template
  • $REGION_NAME are variables with the names of regions
  • $messages are system reports
  • $tabs - табы
  • $content is content
  • $feed_icons are icons of RSS
  • $footer is basement which we took away in a separate template
  • $base_path is a base path of site
  • $is_front is a main page or no
  • $logged_in is whether a залогинен user
  • $is_admin - admin or no
  • $language is an object, containing data about a current language
  • $node - нода
  • $front_page is a pointer to main
  • $logo is a logotype
  • $site_name is the name of site
  • $site_slogan is a slogan of site
  • $mission is a mission of site
  • $search_box is a block of search
  • $closure - a variable is inserted before the closing tag /of body, in it some modules write scripts. Thank you хабраюзеру juliv/ Continue reading Variables in the subject Drupal

Rebuild $content $vars[‘content’] Drupal

That is needed to rebuild the $ content variable in taksomanii,
Link taksomanii was such a
taxonomy/term/1
the output was supposed to get here this html one record

<div class="news-item">
				  <div class="date"><i>04</i>апр</div>
				  <div class="news-block">
					<p class="title"><a href="node/7">программирования с помощью метода эллипсоидов. С самого начала большое внимание будет уделяться связи линейного программирования с теорией целочисленного программирования, комбинаторикой и оптимизацией.
				</p>
					<p class="more"><a "="" href="node/7">Читать далее</a></p>
				  <div class="line"></div>
				</div>
				</div>

Continue reading Rebuild $content $vars[‘content’] Drupal

Home in Drupal (home page of drupal)

In order that would make the home page you can create a unique file in the template with the name of page-front.tpl.php, but if you create a template and you simply need to determine a home page or not, you can use drupal_is_front_page. If the current home page - TRUE, otherwise - FALSE. So we can write

<?php
if(drupal_is_front_page())
echo "Это главная страница";
else "Не главная страница";
?>