четвъртък, 27 декември 2018 г.

Промяна на линк на лого за отделен стил в T3 на Joomla - Customize T3 tempalte style

  1. I cloned (Save as a copy) the "Position & Responsive Configuration" as "default-content-left-ksb
  2. Then in local/tpls/default-content-left-ksb.php I changed <?php $this->loadBlock('header') ?> to <?php $this->loadBlock('header-ksb') ?>
  3. Duplicated purity_iii/tpls/blocks/header.php to purity_iii/local/tpls/blocks/header-ksb.php
  4. In it I Changed <a href="<?php echo JURI::base(true) ?>" title="<?php echo strip_tags($sitename) ?>"> to <a href="the-link-I-want" title="<?php echo strip_tags($sitename) ?>">
However I am still confused because I am 99.9% sure that before I did this without steps 1 to 3.
There was a file where I just put the link I wanted (step 4)
Then after the last update of Purity 3 (December 2018) the logo again redirected to the Homepage but the backup from the server was not old enough to check ...

петък, 14 декември 2018 г.

Настройка на инвертор iG5A за управление на центробежна помпа с PID сензор за налягане

Инверторите предлагани от Елин Инженеринг, серия iG5A , могат изключително успешно да управляват центробежни помпи регулирайки оборотите им , в съответствие с налягането измерено от PID датчик. В случая PT3 на Alco Controls


  1. Сензорът се свързва към - към I и + към 24 (24V Output)
  2. H49=1 - активира PID контрол
  3. H51 ~50
  4. H52 ~1 или 2
  5. H56
    • =25Hz за стандартна центробежна помпа
    • =35Hz за потопяема помпа
  6. H58
  7. rEF
  8. Fbk

понеделник, 3 декември 2018 г.

Как да спрем достъпа до интернет, но компютърът да остане в локалната мрежа

Изключително елементарна и лесна задача, от няколко стъпки.

По този начин спирате достъпа на компютъра до интернет, но той остава свързан към локалната мрежа.

Ограничавайки го от интернет, вие го защитавате от външни атаки, но съдържанието му може да остане видимо за други членове на мрежата

За целта е нужно просто да изберете IP адрес, който да бъде в същата мрежа (последните 4 цифри от IP адреса. 

Ако се колебаете какъв адрес да изберете може да оставите отметката на "Obtain IP address automatically"  и през CMД (command prompt) с команда IP-config да видите текущото IP

Subnet Mask остава същата 255.255.255.0



четвъртък, 4 октомври 2018 г.

Подписване на pdf с електронен подпис StampIt

Отваря се програмата JsignPDF

 От LOAD KEYS се избира подписът, с който иска да се подпише
INPUT FILE - Файлът, който трябва да бъде подписан
OUTPUT FILE - Име на готовия подписан файл
VISIBLE SIGNATURE, отметката трябва да е избрана, за да се активира SETTINGS, от където може да се избере позицията на подписа

Чрез PAGE се показва на коя страница да бъде разположен електронния подпис
Бутонът Preview & Select дава възможност да се начертае правоъгълник, в който да бъде разположен електронния подпис.

петък, 21 септември 2018 г.

ЕС = СССР

Супер тъпа и лъжовна е опорката за ЕС=СССР (може би хваща дикиш сред младите, които не са виждали СССР, както и на Запад от Шопрон):

1. СССР беше свръхцентрализирана държава, с цялата власт в ръцете практически на един човек - 'Генсек'-а на КПСС и евентуално - най-близкото му обкръжение
- ЕС е напълно децентрализирана структура, нещо между лабава конфедерация и митнически съюз, без отделен суверенитет и без ясен ръководител. Общите решения се вземат чрез сложно съгласуване между няколко колективни органа

2. СССР беше еднопартийна диктатура, формално обединяваща марионетни федерални единици, също еднопартийни диктатури, при пълна вертикализация на вземането на решения
- ЕС е съюз на многопартийни демокрации, без вертикални взаимоотношения в различните партийни семейства, наднационалният парламент също е многопартиен и демократично избран

3. СССР беше държава без местно самоуправление под каквато и да било форма
- ЕС е съюз на държави с изключително силно местно самоуправление и фискална децентрализация (като се изключат бившите соцстрани, и то не всичките)

4. СССР беше свръхмилитаризирана държава, с най-голямата конвенционална армия в света, пряко подчинена на еднолична диктатура
- ЕС няма собствени въоръжени сили, нито общо командване на отделните армии. Членките на ЕС са в общи линии сред най-демилитаризираните държави в света, с отделни изключения

5. В СССР реалните лостове на властта се държаха от всевластна политическа полиция и подчинени на Партията секретни служби
- ЕС не разполага с общи служби за сигурност

6. В СССР централизирана съдебна система и прокуратура бяха на пряко подчинение на централната изпълнителна власт и реално - на партийната върхушка
- ЕС почти няма наднационални юрисдикции. Както на наднационално, така и на национално ниво, съдебната система и прокуратурата са деполитизирани и независими от изпълнителната власт (отново - като се изключат някои от бившите соцстрани, което поражда и огромно напрежение...)

7. СССР е продукт на Гражданска война, възстановила със сила приблизително старите граници на Руската империя, завладявайки чрез войни и преврати десетки суверенни нации и държави в периода 1918-1940г.
- ЕС е общност, в която исторически мнозина искат да влязат, а никой - да излезе. По мирен път.(Изключението с Великобритания е интересен феномен в развитие, още от влизането ...)

В заключение: Между СССР и ЕС няма абсолютно нищо общо. Нищичко. Те се намират практически на двата края на представите за власт, управление и взаимодействие между различни нации. По средата се намират множество държави и квазидържавни образувания от конфедерален или федерален тип, всичките - безкрайно по-централизирани от ЕС.

Придвижването на ЕС към по-тясна конфедерация или федерация не го доближава до СССР, а до различни демократични стандарти на обща защита на политически, стратегически и икономически интереси.

четвъртък, 7 юни 2018 г.

Команди МТЕЛ


Забрани - всички входящи обаждания 
Активация : * 35 * BARRING CODE # [ОК] 
Деактивация : # 35 * BARRING CODE # [ОК]
Проверка : *# 35 # [ОК] 
Забрани - всички входящи обаждания, когато е извън собствената страна 
Активация : * 351 * BARRING CODE # [ОК] 
Деактивация : # 351 * BARRING CODE # [ОК]
Проверка : *# 351 # [ОК] 
Забрани - всички входящи обаждания - международни и др. 
Активация : * 353 * BARRING CODE # [ОК] 
Деактивация : # 353 * BARRING CODE # [ОК]
Проверка : *# 353 # [ОК] 
Забрани - всички изходящи международни обаждания 
Активация : * 331 * BARRING CODE # [ОК] 
Деактивация : # 331 * BARRING CODE # [ОК]
Проверка : *# 331 # [ОК] 
Забрани - всички изходящи международни обаждания с изключение на собствената страна 
Активация : * 332 * BARRING CODE # [SEND] 
Деактивация : # 332 * BARRING CODE # [SEND]
Проверка : * # 332 # [SEND] 
Забрани - всички изходящи обаждания 
Активация : * 33 * BARRING CODE # [ОК] 
Деактивация : # 33 * BARRING CODE # [ОК]
Проверка : *# 33 # [ОК] 
Забрани - всички изходящи обаждания - международни и др. 
Активация : * 333 * BARRING CODE # [ОК] 
Деактивация : # 333 * BARRING CODE # [ОК]
Проверка : *# 333 # [ОК] 
Забрани - всички случаи 
Активация : * 330 * BARRING CODE # [ОК] 
Деактивация : # 330 * BARRING CODE # [ОК]
Проверка : *# 330 # [ОК] 
Забрани - за получаване на SMS 
Активация : * 35 (330) * BARRING CODE * 16 # [ОК] 
Деактивация : # 35 (330) * BARRING CODE * 16 # [ОК] 
Изчакване/Задържане 
Активация : * 43 # [SEND] 
Деактивация : # 43 # [SEND]
Проверка : * # 43 # [SEND] 
Отблокиране на PIN Code 
Активация : ** 05 * PUK Код * Нов PIN * Нов PIN # 
Пренасочване - безусловно 
Активация : ** 002 * NUMBER # [ОК]
Деактивация : ## 002 # [ОК]
Проверка : *# 002 # [ОК] 
Пренасочване - всички случаи 
Активация : ** 21 * NUMBER # [ОК]
Деактивация : ## 21 # [ОК]
Проверка : *# 21 # [ОК] 
Пренасочване - зает 
Активация : ** 67 * NUMBER # [ОК]
Деактивация : ## 67 # [ОК]
Проверка : *# 67 # [ОК] 
Пренасочване - недостъпен 
Активация : ** 62 * NUMBER # [ОК]
Деактивация : ## 62 # [ОК]
Проверка : *# 62 # [ОК] 
Пренасочване - не отговаря 
Активация : ** 61 * NUMBER # [ОК]
Деактивация : ## 61 # [ОК]
Проверка : *# 61 # [ОК] 
Пренасочване - не отговаря, недостъпен и зает 
Активация : ** 004 * NUMBER # [ОК]
Деактивация : ## 004 # [ОК]
Проверка : *# 004 # [ОК] 
Пренасочване - промяна на времето за пренасочване при не отговаря (поне 5 секунди)
Активация : ** 61 * NUMBER ** SEC # [ОК] 
Промяна на BARRING Code 
Активация : ** 03 ** Стар BARRING CODE * Нов BARRING CODE * Нов BARRING CODE # 
Скриване на номера (CLIR) - временно 
Активация : # 31 # NUMBER [SEND]
Деактивация : *31 # NUMBER [SEND] 
Скриване на номера (CLIR) - постоянно 
Активация : # 31 # [SEND]
Деактивация : * 31 # [SEND]
Проверка : *# 31 # [SEND] 
Смяна на PIN Code 
Активация : ** 04 * Стар PIN * Нов PIN * Нов PIN # 
ЗАБЕЛЕЖКИ 
Всички SIM карти се продават с първоначален BARRING CODE 0000 
Всички SIM карти се продават с първоначален PIN CODE 0000
Всички пренасочвания при ситуацията "без отговор" могат да се правят от 5 до 30 секунди, през 5 секунди

четвъртък, 8 март 2018 г.

MySQL for Excel

Чрез приставката "MySQL for Excel"  може да се свързваш директно към отдалечени MySQL бази данни и да се редактират.

За да може да стане това, трябва първо да се активира "Отдалечен достъп до бази данни" от потребителския профил на www.suprhosting.bg

След това се изпълняват следните стъпки:

1. Инсталира се софтуера openVPN

2. Изтеглят се индивидуалните конфигурационни файлове от потребителския профил на www.suprhosting.bg

superhosting.ovpn
client
dev tun
proto udp
persist-key
persist-tun
nobind
remote rvpn.superhosting.bg 1194
comp-lzo
auth-user-pass
tls-client
explicit-exit-notify
ca superhosting.ca
verb 3
mute 10
cipher BF-CBC   # Blowfish (default)
keysize 128     # default
superhosting.ca- той съдържа някакъв сертификат под формата на многознаков код
2. Архивът съдържа необходимите конфигурационни файлове, необходими за VPN софтуера (openVPN) за осъществяване на връзка до нашите сървъри. Тези файлове трябва да бъдат използвани по указания в помощната статия на Супер Хостинг, преди да се стартира VPN връзката.

3. Потребителското име и паролата за достъп може да намерите в имейла, който сме изпратили на контактния имейл адрес, веднага след активация на услугата. Ако съобщението не е получено, натиснете бутона 'Изпрати имейл' и то ще ви бъде изпратено отново.

4. Инсталира се приставката "MySQL for Excel" , след инсталацията може да се открие в Ексел в Data>MySQL for Excel

5. В cPanel има опция Remote MySQL, трябва да се провери дали Access Hosts няма някакви ограничения, т.е. под Access Hosts трябва да има знак %

5. Избира се New Connection
Hostname giga.rdb.superhosting.bg:3306
Username и Password се въвеждат за базата данни или общите за cPanel, които имат достъп до всички Бази данни

сряда, 7 февруари 2018 г.

Increase the maximum frequency of inverter iG5A

Sometimes it is confusing when you try to increase the maximum frequency.

Normally when you setup the frequency with the keypad, it is needed just to increase F21 to the desired Hz value.

But when you use a potentiometer you have to increase also the max frequency corresponding to the max voltage of the potentiometer.

This is done by parameter I10.

So, firstly you put F21 to the desired frequency
Then you put I10 to the corresponding frequency when the potentiometer gives max voltage (mostly 10V).

Резултат с изображение за ig5a

понеделник, 5 февруари 2018 г.

Сортиране на таблица в Joomla с Data Tables

 {source}
<!-- Сортиране на таблицата -->
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.10.16/js/dataTables.bootstrap.min.js"></script>
<!-- Сортиране на таблицата -->
<!-- Допълнителни настройки на таблицата -->
<script language="javascript" type="text/javascript">
$(document).ready(function() {
    $('#example').DataTable(
 {
  "pageLength": 2000,
        "language": {
            "lengthMenu": "Покажи само _MENU_ реда на всяка страница",
            "zeroRecords": "Свържете се с наш сътрудник за повече информация",
            "info": "Страница № _PAGE_ от общо _PAGES_",
            "infoEmpty": "Свържете се с наш сътрудник за повече информация",
            "infoFiltered": "(филтрирано от списък с _MAX_ ел. двигателя)",
"search": "Търси "
        }
    }
);
} );
</script>
<!-- Допълнителни настройки на таблицата -->
<?php
echo '
<table id="example" class="table table-striped table-bordered" cellspacing="0" width="100%">
        <thead>
            <tr>
              <th>Производител</th>
              <th>Мощност</th>
           
            </tr>
        </thead>
        <tfoot>
            <tr>
              <th>Производител</th>
              <th>Мощност</th>
           
            </tr>
        </tfoot>
        <tbody><tr><td></td></tr></tbody></table>';
?>
{/source}

неделя, 28 януари 2018 г.

10 правила за водене на преговори и как да вземем максимума

Без да предполагате, Разликата между успеха и провала в днешния сложен свят, се крие в способността за успешно преговаряне. Ето нашите 10 съвета за успешно преговаряне, актуални през 2018 година:

  1. НЕ СЕ СТРАХУВАЙ ДА НАЗОВЕШ ТОВА, КОЕТО ИСКАШУспешните преговарящи са самоуверени, асертивни* и биха "предизвикали" и повдигнали всяка тема - те знаят, че всичко в този свят е въпрос на договаряне. Можем да наречем този начин на мислене "преговарящо съзнание"Преговарящото съзнание е това, което прави разлика между Истински Можещите Преговарящи и всички останали хора.

    Да отстояваш позициите си означава да попиташ за това, което искаш и да не приемаш "НЕ" за отговор.
    Много важно в случая е да изразявате мислите си, без гняв, злоба или тревофа. Накарайте хората да разберат какво искате, без да се чувстват заплашени от това. Опитайте да използвате изявленията тип "Аз".
    Например, вместо да кажете: "Не трябва да правите това", опитайте да замените с "Не се чувствам комфортно, когато правите това".

    Вземете предвид, че съществува разлика между това да бъдеш агресивен и да бъдеш асертивенЧовек е асертивен, когато се грижиш за собствените си интереси, но същевременно запазваш уважението към интересите на другите хора.
    Когато виждаш само своите интереси, без да обръщаш внимание на интересите на другите хора - тогава си агресивен.

    "Да предизвикваш" означава да не приемаш всичко което чуеш за окончателно или за "чиста монета". Човек трябва да мисли за себе си и да може да изгражда собствено тълкуване на нещата, дори това тълкуване да е обратното на това, което му се казва.

    Като елементарен пример може да се даде правото да попиташ за цената на "тази нова кола" или  да не вярваш на всичко което прочетеш във вестника или чувеш по bTV.

    Не можеш да водиш преговори, ако нямаш куража да оспориш вярността на отсрещната страна!
  2. МЛЪКНИ И СЛУШАЙ
    Изумително е каква част от хората, които срещаме, просто не могат да спрат да говорят!
    Истински Успешните Преговарящи са детективи, те пускат сондиращи въпроси и млъкват. Тогава отстрещаната страна ще си каже всичко, което трябва да знаете. От Вас се иска само да слушате.

    Огромна част от конфликтите могат да бъдат лесно разрешени и избегнати, ако можехме да слушаме.

    Хитрината е в това, че сме забравили старата поговорка, че имаме 2 уши и 1 уста. ПРосто трябва да слушаме.
    Толкова сме обладани от това да накараме другите да ни чуят, че  просто забравяме да слушаме.

    Има старо правило на успешната комуникация наречено 70/30 - да слушаш през 70% от времето и да говориш през не повече от 30% от разговора.
    Ще станете ефективен слушател едва когато позволите на другия човек да води по-голяма част от разговора. Насърчете другия "преговарящ" да говори, като задавате въпроси, на които не може да се отговори с просто "да" или "не", т.нар. въпроси с отворен край.

  3. НАПИШИ СИ ДОМАШНАТА
    Това друго нещо, което детективите правят - съберете колкото се може повече полезна информация, преди да започнете преговорите.

    Какви са техните нужди?
    Какво ги напряга и притиска?
    Какви опции и варианти стоят пред тях?

    Да си "напишеш домашната" е жизнено важно за успешното договаряне. Не може да вземете правилни и точни решения, ако не знаете каква е другата страна и гледна точка.
    Колкото повече информация имате за отсрещната страна в преговорите - толкова по-силни ще бъдете.

    Хората, които не успяват да извлекат максимума от преговорите, най-вероятно "не са си написали домашната работа".

  4. ВИНАГИ БЪДИ ГОТОВ ДА СТАНЕШ И ДА СИ ТРЪГНЕШ
    С други думи - никога не преговаряйте, ако имате само 1 вариант.
    Ако зависиш твърде много от положителния резултат на преговорите, губите варианта да отговорите с "НЕ".

    Когато сте уверен в себе си и мислено си кажете "Ще си тръгна, ако не мога да сключа задоволителна сделка", другата страна ще разбере, че си има работа със сериозен преговарящ.
    Вашата решимост ще ги принуди да направят отстъпки.

    Ако може да се даде един единствен съвет за водене на преговори, без колебание това е - винаги бъди готов да се откажеш от преговорите.

    Не го разбирайте погрешно! Не ви съветваме да се отказвате лесно и да си тръгвате, но ако дори не обмисляте възможността да се оттеглите от преговорите, просто ще се подхлъзнете към целта на другата страна и ще изпълните нейните искания.

    Ако не сте отчаяни и осъзнаете, че имате и други възможности - отсрещния преговарящ ще усети вашата вътрешна сила.

  5. НЕ БЪРЗАЙ!
    Да бъдеш търпелив е много трудно за Българите и за балканския ни нрав по принцип. Този манталитет няма място в преговорите!

    Ако някога сте водили преговори в някоя държава, която не е на Балканите, ще знаете, че хората в тези държави гледат по друг начин на времето, особено в Азия или Близкия Изток. Те знаят, че ако бързате е много по-вероятно да допуснете грешки и да не извлечеш максимума.

    Страната в преговорите, която е по-гъвката и не бърза, има огромно предимство пред другата страна.
    Вашето търпение може да "побърка" другия преговарящ, ако той бърза, защото може да помисли, че не сте под натиск да сключите сделката. И какво ще направи? Ще направят отстъпки, само и само да Ви накарат да кажете "ДА".

  6. ОЧАКВАЙ НАЙ-ДОБРИЯ ИЗХОД ОТ ПРЕГОВОРИТЕ
    Успешните преговарящи са оптимисти! Ако очакваш повече - взимаш повече.  Доказана стратегия е, че за да получиш най-добрия резултат трябва да имаш "прекалени", дори екстремни очаквания.
    Продавачът трябва да поиска повече от колкото иска, а купувачът трябва да предложи по-малко, отколкото е готов да плати. Хората, които се целят нависоко, постигат по-добри резултати.

    Твоят оптимизъм ще се превърне в самоизпълняващо се пророчество. И обратното, ако имате ниски очаквания, вероятно ще приключите с по-лош резултат.

  7. ФОКУСИРАЙ СЕ ВЪРХУ ПРИТЕСНЕНИЯТА НА ДРУГАТА СТРАНА, А НЕ ВЪРХУ ТВОИТЕ
    Естествената реакция е да се фокусираме върху нашите притеснения, напрежение и проблеми. т.е. върху нашите причини да искаме тази сделка.

    "Тревата в двора на комшията винаги изглежда по-хубава и по-зелена, дори и да не е така."

    Ако попаднете в този капан, действате срещу себе си и отсрещната страна ще изглежда по-силна. 
    Ако се фокусираш върху собствените си проблеми и ограничения, изпускаш общата картина.

    Затова Истински Успешните Преговарящи се питат:

    "Какви са притесненията на другата страна?"
    "Какви са техните рискове?"
    "Какви са техните срокове и напрежения?"

    Ще се почуствате много по-силни, когато установите и разпознаете причините, поради които другата страна иска сделката. 
    Вашата сила в преговорите зависи до голяма степен от напрежението върху другата страна.
    Дори и да изглежда, че не им пука, те със сигурност имат свои пристеснения и проблеми. Твоята работа е да бъдеш детектив и да ги извадиш на яве.

    Ако откриете, че те са под напрежение (а те със сигурност са!), потърси начини да се възползваш от това напрежение, за да постигнеш по-добър резултат за себе си.

  8. ПОКАЖЕТЕ КАК ЩЕ БЪДАТ УДОВЛЕТВОРЕНИ НУЖДИТЕ ИМ
    Истински Успешните Преговарящи винаги гледат на ситуацията и от отсрещната страна. Всеки вижда света по различен начин, така че ще бъдете с едни гърди напред, ако може да разберете как те възприемат сделката.
    Вместо да се опитвате на всяка цена да спечелите сделката, потърсете начин да разберете другия и потърсете начин той да се почувства удовлетворен.

    "Едната ръка мие другата"

    Ако успеете да помогнете на другата страна да бъде удовлетворена, те ще бъдат по-склонни да ви помогнат вие също да сте удовлетворени. Това не означава да се предадете и да приемете всичките им искания.

    Удовлетвореност означава, че основните им интереси са изпълнени, а не че всички искания и претенции са приети. Не бъркайте основните интереси с исканията и претенциите.

    Исканията и претенциите са това, което казват, че искат. Основните им цели и интереси са това, което наистина имат нужда да получат.

  9. НЕ ДАВАЙ НИЩО, БЕЗ ДА ПОЛУЧИШ НЕЩО В ЗАМЯНА
    Едностранните отстъпки са самоунищожителни. Всеки път, когато дадете нещо, вземете нещо в замяна. Винаги следвайте алгоритъма: "Ще направя това, ако вие направите онова.". В противен случай, сами ще подкатните другия да иска още нещо.

    Ако направите някакъв компромис, без да поискате същото от отсрещната страна, те ще почувстват, че са били в правото си да поискат отстъпката и няма да се задоволят докато не получат дори още повече.

    Ако на отсрещната страна се налага ДА СПЕЧЕЛИ ОТСТЪПКАТА, тя ще изпита по-голямо чувство на удовлетворение, отколкото ако получи отстъпката без нищо.

  10. НЕ ПРИЕМАЙ ЛИЧНО ВЪПРОСИТЕ ИЛИ ПОВЕДЕНИЕТО НА ДРУГИЯПрекалено често преговорите се провалят, защото някоя от двете страни се отклонява с лични проблеми или чувства, които не са свързани със сделката. Истински Успешните Преговарящи са съсредоточени върху решаването на проблема, а именно:
    "Как можем да сключим споразумение, което да зачита нуждите и на двете страни?"
    Обсебването от личността на другия или от странични фактори, които не са пряко свързани, може да саботира преговорите. Ако някой е груб или труден за работа, опитайте се да разберете поведението им и не го приемайте лично.

асертивен* - Терминът  е широко разпространен в западната  психология и произхожда от английската  дума assert, която значи заявявам, утвърждавам, доказвам. Човек се държи като асертивен, когато отстоява себе си, изразява истинските си чувства и не позволява на другите хора да се възползват от него. В същото време зачита чувствата на другите. Ако човек е асертивен, може да защити по най-добрия начин интересите си.

петък, 26 януари 2018 г.

Свързване към база данни на Joomla - към друга и към тази на нейната си инсталация



<?php
$option = array(); //prevent problems

$option['driver']   = 'mysql';            // Database driver name
$option['host']     = 'localhost';    // Database host name
$option['user']     = 'потребителското име';       // User for database authentication
$option['password'] = 'паролата';   // Password for database authentication
$option['database'] = 'името на базата';      // Database name
$option['prefix']   = '';             // Database prefix (may be empty)

$db = JDatabaseDriver::getInstance( $option );
$query = $db->getQuery(true); 

$query->select(array('*'))
->from($db->quoteName('името на таблицата'))
->where($db->quoteName('manufacturer') . ' IS NOT NULL')
->OR($db->quoteName('type') . ' IS NOT NULL');
$query->order('manufacturer ASC');
$db->setQuery($query);
$results = $db->loadObjectList();
echo '<table class="table table-striped">';
echo '<tr><th>ПРОИЗВОДИТЕЛ</th><th>ТИП</th><th>МОЩНОСТ</th><th>ОБОРОТИ</th></tr>';
foreach ($results as $row)
{
echo '<tr>';
echo '<td class="first">'. $row->manufacturer .'</td>';
echo '<td>' . $row->type. '.</td>';
echo '<td>' . ($row->power+0) . ' kW</td>';
echo '<td>' . $row->rpm. ' мин.<sup>-1</sup></td>';
echo '</tr>';
}
echo '</table>';
 ?>

Когато се свързваш към таблиците на базата, в която е инсталирана Joomla, първите редове могат да бъдат замествени с:
$db = JFactory::getDbo();
$query = $db->getQuery(true); 

сряда, 24 януари 2018 г.

Google Spreadsheet и Excel полезни функции

Функции

HLOOKUP и VLOOKUP търсят задължително в първия ред/колона

=INDEX(F2:F,MATCH(1,(K2=D2:D)*(I2=B2:B)*(J2=C2:C)*(L2=E2:E),0))
Намира точната стойност на клетка, която се намира между F2:F и отговаря на определени условия

=FILTER(A2:F,IF(ISBLANK(K2),1,D2:D=K2)*IF(ISBLANK(I2),1,B2:B=I2)*IF(ISBLANK(J2),1,C2:C=J2)*IF(ISBLANK(L2),1,E2:E=L2))
Изважда целия ред намиращ се между A2:F. Когато се изтрие съдържанието на клетките, филтъра работи. Затова се ползват ISBLANK и IF. Тук съм питал дали може да се направи по-елегантно

=QUERY(A2:F, "SELECT * WHERE (B="&I2&" AND E='"&L2&"')",0)
Извежда всички редове между А2:F, за които B=I2 и E=L2


=query('Form Responses 2'!A1:B, "select * order by A desc", 1)
Сортира отговорите от Google Forms по дата (или друга колона)

=QUERY(A3:C," select * where A = "&G3&" AND B ="&H3&" " )
Изважда редовете, в които стойността в колона А=G3 И колона В=Н3
17.11.2019

=SORT('Отговори от формуляр 3'!A2:G;1;FALSE)
Сортира отговорите от 'Отговори от формуляр 3' получени чрез Google forms, между колони А и G, според  А

=ArrayFormula(IF(B2:B,$B$2:$B/$C$2:$C,))
Изпълнява формулата след първата запетая, докато има записи в B2:B

=arrayformula('Отговори от формуляр 3'!A1:G1)
Копира в нов sheet полетата между A1 и G1 на 'Отговори от формуляр 3'

=IMPORTXML("http://coinmarketcap.com/currencies/bitcoin/","//span[@class='text-large2']")
Взима стойността на class=text-large2

=RIGHT/или LEFT/ (адреса на клетката ; /или запетая/ *броя на символите, които искаш да вземеш*)

=А1&A2 - комбинира стойностите в двете клетки


Добавени на 1 Юни 2019г.:

=and($E3>now(),NOT(ISBLANK($E3)))
 - Освен, че проверява дали датата е минала, не изпълнява формулата, ако клетката е празна


JavaScript

Копиране на форматирането за цялата таблица на Form Responses, включително и за новите отговори

function copyFormat() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var lastRow = sheet.getLastRow();
  var lastColumn = sheet.getLastColumn();
  sheet.getRange(3, 1, 1, lastColumn).copyFormatToRange(sheet, 1, lastColumn, 3, lastRow);
}

В последния ред на този скрипт 5 означава, че взима форматирането от ред №5 и го прилага в цялата таблица https://webapps.stackexchange.com/questions/91027/how-can-i-retain-cell-formatting-when-data-is-inputted-via-a-form


function onEdit(e) { // Премества ред от една таблица в друга, когато е написано "ГОТОВО" // see https://productforums.google.com/d/topic/docs/ehoCZjFPBao/discussion var sheetNameToWatch = "ЗА ВЗИМАНЕ"; var columnNumberToWatch = 4; // column A = 1, B = 2, etc. var valueToWatch = "ГОТОВО"; var sheetNameToMoveTheRowTo = "ВЗЕТИ"; var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = SpreadsheetApp.getActiveSheet(); var range = sheet.getActiveCell(); if (sheet.getName() == sheetNameToWatch && range.getColumn() == columnNumberToWatch && range.getValue() == valueToWatch) { var targetSheet = ss.getSheetByName(sheetNameToMoveTheRowTo); var targetRange = targetSheet.getRange(targetSheet.getLastRow() + 1, 1); sheet.getRange(range.getRow(), 1, 1, sheet.getLastColumn()).moveTo(targetRange); sheet.deleteRow(range.getRow()); } }

var range2 = e.range; range2.setNote('Последна промяна е направена: ' + new Date()); // Слага коментар с датата, на която е направена промяна
function onEdit(e) { var colToWatch = 7, colToStamp = 13; if (e.range.columnStart !== colToWatch) return; var writeVal = e.value ? new Date().new time() : ''; e.source.getActiveSheet() .getRange(e.range.rowStart, colToStamp) .setValue(writeVal);} //слага дата в колона 13 при промяна в колона 7