Друпал

$pr = commerce_product_load($pr3[$v1[3]]);

//$cena = commerce_product_calculate_sell_price($pr);

//print_r($cena);

isset($pr->commerce_price['und'][0]['amount'])? $price = $pr->commerce_price['und'][0]['amount'] : $price = 0;
print " --- $price";

drush

composer require drush/drush - ставит за секунды

vendor/bin/drush generate theme - Генерирует тему оформления

Компьютер:

Как сразу вывести результат? до окончания работы скрипта. php

ob_flush(); flush();

<?php
if (ob_get_level() == 0) ob_start();

for ($i = 0; $i<3; $i++){

echo " Line to show.";
//echo str_pad('',4096)."\n";

ob_flush();flush();

sleep(2);
}

echo "Done.";

//ob_end_flush();
?>

Удаление папки вместе со всем содержимым

<?php

delDir('.');// удалил даже сам себя

function delDir($dir) {
$files = array_diff(scandir($dir), ['.','..']);
foreach ($files as $file) {
(is_dir($dir.'/'.$file)) ? delDir($dir.'/'.$file) : unlink($dir.'/'.$file);
}
return rmdir($dir);
}

Drupal 8. Друпал 8

Код из генератора:

/**
* @file
* miltorg behaviors.
*/

(function ($, Drupal) {

'use strict';

/**
* Behavior description.
*/
Drupal.behaviors.miltorg = {
attach: function (context, settings) {

console.log('It works!');

}
};

} (jQuery, Drupal));
---------------------------------

Drupal.behaviors.helloword = {
attach: function (context, settings) {

// мой код без jq

}}

А ещё можно так:

Друпал 8 - Запрос к Базе данных

$zapr = "SELECT tid, `name` FROM `taxonomy_term_field_data`";

$rr = \Drupal::database()->query($zapr)->fetchAllKeyed();

============================

$tel = \Drupal::database()->query($zapr)->fetchAllKeyed();

======

$query = \Drupal::database()->select('users_field_data', 'u');
$query->addField('u', 'name');
$query->condition('u.name', 'miltorg');
$r = $query->execute()->fetchObject();

print $r->name;

Создание модуля в Друпал 8

1. Все свои модули нужно класть в папку /modules/custom/
2. Придумайте название модуля. Это важно. Оно, скорее всего будет отражаться практически везде. Для примера - summ
3. В папке /modules/custom/summ создаём файл summ.info.yml
4. Содержание файла:

name: Summ
description: Custom module for learning Drupal 8
type: module
core: 8.x
package: DrupalSumm

5. Зайдите в Модули, найдите и включите наш модуль. Всё должно быть без ошибок.
6. В результате - у нас есть наш подключённый модуль.

7. В той же папке нужно создать файл: summ.routing.yml

8. Содержание файла:

summ.first_page:
  path: '/first-page1'
  defaults:
    _controller: '\Drupal\summ\Controller\FirstPageController::content'
    _title: 'Hello World!'
  requirements:

mySQL

ALTER USER 'miltorg'@'localhost'
IDENTIFIED WITH mysql_native_password
BY 'uuuuuuuuuuuu';

GRANT CREATE, ALTER, SELECT, INSERT, UPDATE, DELETE, DROP ON * . * TO 'miltorg'@'localhost';

GRANT * ON * . * TO 'miltorg'@'localhost';

INSERT, UPDATE, DELETE, DROP

------------

CREATE TABLE new3 SELECT * FROM new1 where sovpalo=10;

select v.* from ( SELECT new8.* , count(1) over(partition by d1) as cnt FROM new8 ) as v where cnt > 4;

SELECT id, MAX(d1), COUNT(*) FROM new8 GROUP BY d1 HAVING COUNT(*) > 2;

SELECT MAX(d1),MAX(st), MIN(st), COUNT(*) FROM new8 GROUP BY d1 HAVING COUNT(*) > 2;

----------------
CREATE TABLE iz209bez12
(
,
Model VARCHAR(20)
);

ALTER TABLE iz209bez12 DROP COLUMN Id; - удаление

Компьютер:

Время работы скрипта.

$t = time();
...
...
...
$t = (time()-$t)/60;
print "Прошло ";
printf('%0.2f', $t);
print " min";

Если нужны милисекунды:

use Time::HiRes;

$t = Time::HiRes::time;
...
...
...
$t2 = Time::HiRes::time;
$t3 = $t2-$t;
print "Прошло ";
printf('%0.8f', $t3);
print " сек ";

Компьютер:

CSS

@keyframes slide {
0% {
transform: translatex(var(--max, -170%))
}

100% {
transform: translatex(100%)
}
}

let newMax = '-100%';
document.querySelector(".news").style.setProperty('--max', newMax);

===========

dd

Диск /dev/sda: 931,53 GiB, 1000204886016 байт, 1953525168 секторов
Disk model: TOSHIBA MQ04ABF1
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 4096 байт
Размер I/O (минимальный/оптимальный): 4096 байт / 4096 байт

Диск /dev/sdb: 14,52 GiB, 15581839360 байт, 30433280 секторов
Disk model: OnlyDisk
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x08d87a4c

sudo dd if=/dev/sda of=mbr2.img bs=1G skip=10 count=10 status=progress
10737418240 байт (11 GB, 10 GiB) скопирован, 435 s, 24,7 MB/s
10+0 записей получено
10+0 записей отправлено

Python

sudo ln -s /usr/bin/python3.12 /usr/bin/python
- Это чтоб не писать python3.12

==================

python3 -m http.server --cgi
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
127.0.0.1 - - [10/Dec/2020 23:30:22] "GET / HTTP/1.1" 200 -

#!/usr/bin/env python3

print("Content-type: text/html\n\n")

print("""

Обработка данных форм

""")

print("Hello world!")

print("""
""")

Java

String bigString = "Текст,\n" +
"расположенный\n" +
"на нескольких строках\n";

---------

Другого решения я пока не нашёл

perl2cpp-prokhorov

Perl -> C++, Perl to C++

Скрипт в разработке!

Скачать последнею версию: Скачать

Программа преобразует файл in.pl в out.cpp

1. В in.pl - исходный Perl скрипт. В out.cpp - сгенерированный программой скрипт на языке C++

Есть ещё 2 программы:
2. В in.pl - исходный Perl скрипт. В out.php - сгенерированный программой скрипт на языке PHP
3. В in.pl - исходный Perl скрипт. В out.java - сгенерированный программой скрипт на языке Java

==============

Аналоги функций

==============
s/ря.*?ой/сержант/g;
----------------
#include
#include

int main()
{
//std::string s = "Вася был рядовой хороший - ряженной";

JavaS

Поле - только цифры:

<script>
function tolkocislo(){
if (event.keyCode < 48 || event.keyCode > 57)
event.returnValue= false;
}
</script>

<input onKeyPress="tolkocislo()">

---------------

Удалить рекламу со страницы. Например видео:

ec2f441e2.innerHTML = '';

Обнуляется id ec2f441e2 , но видео может востанавливатся. То есть нужно стараться уничтожить Узел как можно большего размера.

window.document.querySelector(".google-adv2").innerHTML = ''; // это по классу

--------------------------
Вы можете получать список всех элементов, подходящих под заданное правила, используйте для этого querySelectorAll() — он всегда возвращает коллекцию элементов либо null.

Давайте выведем все ссылки в консоль.

Компьютер:

Сумма цифр в строке

Сумма целых цифр в строке:

Есть какая то строка а в ней есть цифры. Например:

"Прогр 56 за 2 евро в час только на странице: http://prohorov-andrej.ru/rabota на 42 стр."

В сумме должно получиться 100.

Код:

$str = 'Прогр 56 за 2 евро в час только на странице: http://prohorov-andrej.ru/rabota на 42 стр.';

//$fl_array = preg_grep("/^(\d+)?\.\d+$/", $array); это для плавающей точки
preg_match_all("/\d+/", $str, $fl);
print array_sum($fl[0]);

У меня получилось 100. А у вас?

Компьютер:

Расчет 40 дней

Программа рассчитывает 40 дней от введённой даты. Включая эту дату.

40 дней с 12.10.2024 это 20.11.2024

9 дней с 12.10.2024 это 20.10.2024

3 дня с 12.10.2024 это 14.10.2024

Компьютер:

C++


Глобальная Замена по регулярному выражению. Эквивалент:
s/ря.*?ой/сержант/g;

#include <regex>
#include <iostream>

int main()
{
//std::string s = "Вася был рядовой хороший - ряженной";
s = std::regex_replace("Вася был рядовой хороший - ряженной", std::regex("ря.*?ой"), "сержант");

std::cout << s << std::endl;
}



---------------------------

Многострочный текст

u =
" be\n"
"tring.\n";

u =
" be\
tring.";

u = R"HTML(
11
22
33
)HTML";


------ -----------
Достаём цифры с строки и получаем среднее:

#include <iostream>
#include <regex>
using namespace std;

int main(){
const string s = "pro hor ov,5,1,3,1,5";
regex space_re(R"(\d+)");
float $os; int $i=0;

for(auto t= sregex_token_iterator(s.begin(),s.end(),space_re); t!= sregex_token_iterator(); ++t){
$os += stoi(*t);
++$i;
}

float $f=$os/$i;
std::cout<<$f<<"\n";
}


----------- ----------
Закрытие программы как только нажат Ввод:

#include <cstdio>

int main() {getchar();}

Или так:

#include <iostream>

int main()
{

std::cout << "Нажмите Enter для завершения";
std::cin.get();
return 0;
}

----------
Из строки получить число:

#include <iostream>
//#include <cstdlib>

int main()
{

std::cout << (atoi("222") * 2);
return 0;
}
---------

Переменная типа int может занимать до 4-х байт
chart - это целое число из таблицы ансс11

------ --------

//пример использования функции puts

#include <cstdio>

int main(){
puts("10");
return 0;
}
---------- ------------

#include <cstdio>

int main(void){
printf("Привет мир");
return 0;
}

говорят что printf более тормознутая чем cout >>

printf(25); - даст ошибку - так-как перед выводом числа нужно форматировать.

Например вот так:
printf("%d", 25);

Для чисел - там просто куча методов форматирования.
Для строк - есть возможность выбора количества выводимых символов, центровка
https://ru.wikipedia.org/wiki/Printf

#include <cstdio>

int main(void){
printf("Привет %d мир %d", 55, 23);
return 0;
}

----------- ----------

Создаёт и записывает строку в файл.

#include <iostream>
#include <cstdio>

int main ()
{
FILE * D = fopen("file1.txt", "w");

if (D != NULL)
{
fputs("Пример использования функции fopen ", D); // записать строку в файл
fclose (D);
}
return 0;
}

---------- -------

//пример использования функции fgets

#include <cstdio>

int main()
{
FILE * D = fopen("file.txt" , "r");
char mystring [100];

if ( fgets(mystring, 100, D) != NULL ) // считать символы из файла
puts(mystring); // вывод на экран
fclose (D);

return 0;
}

JS-Кнопка выгрузки из Базы Данных.

(async () => {

let response = await fetch('json.php', {
method: 'POST',
headers: {"Content-type": "application/x-www-form-urlencoded; charset=UTF-8"},
body: 'id='+u.id+'&zag='+zag+'&tel='+u.tel+'&city='+u.city+'&categories='+u.categories+'&podkat='+u.sub_category
});

//let result = await response.text();
//alert(result);
})();

----------

hhhhh

'use strict';

kn1.onclick = async () => {

Компьютер:

Страницы

Subscribe to Чайник RSS