1

(0 відповідей, залишених у Інше)

В режимі Model я створив відрізок який починається з координат 0:0, перейшов в режим layout вибрав view->create rectangular з параметрами розміру fix, тепер viewport встановися в межах зони друку.
Мені не вдається встановити координати моделі в елементі viewport, я хочу щоб viewport почав показувати модель з координат 0:0. Якщо я натискаю на значок руки або затискаю колеско миші, я можу пересувати модель, але я не можу вказати координати куди я хочу її пересунути.
Як встановити показ моделі з координат 0:0 в нижньому лівому куту ?
http://replace.org.ua/misc.php?action=pun_attachment&item=1670&download=0

2

(1 відповідей, залишених у Бази даних)

Підійде хостинг з MariaDB, для сайту який розроблявся на MySQL ? Зможу я зайти в PHPMyAdmin і зробити імпорт MySQL бази в MariaDB ?

3

(0 відповідей, залишених у PHP)

Потрібно адаптувати старий сайт для мобільних телефоні і планшетів, цей сайт містить багато таблицю, які мають в залежності від пристрою адаптуватися під розмір екрану (для планшетів - зменшитися, для телефонів - стати списком), так як таблиця досить не зручна (наприклад, як таблицю можна показати у вигляді списку для мобільних телефонів ?) я вирішив конвертувати її в контейнер.
Написав клас для конвертації, але він досить "сирий" і взагалі я думаю що конвертацію можна зробити за допомогою регулярних виразів, але не знаю як.

class converToDiv
    {
        private $index = 0;
        private $beginTag = -1;
        private $endTag = -1;
        private $tagName = '';
        private $isTagOpened;
        private $HTML_table; 
        private $HTML_tableLen = -1;
        private $replaceTag = array();
        private $standardTags = true;
        private $namespace_ = '';
        private function replaceTagOnDiv()
        {
            if(!isset($this->replaceTag[$this->tagName])) return;
            
            $newTag = '<';
            if($this->isTagOpened)
            {
                $newTag .= 'div class="'.$this->replaceTag[$this->tagName].'"';
            }
            else
            {
                $newTag .= '/div';
            }
            $newTag .= '>';
            
            $pattern = substr(
                $this->HTML_table, 
                $this->beginTag, 
                $this->endTag - $this->beginTag + 1
                );

            $this->HTML_table = 
            str_replace($pattern, $newTag, $this->HTML_table);
            $this->index = $this->beginTag + strlen($newTag) - 1;
        }
        
        private function clearTagVar()
        {
            $this->beginTag = -1;
            $this->endTag = -1;
            $this->tagName = '';
            $this->isTagOpened = 0;
            $this->HTML_tableLen = strlen($this->HTML_table);
        }
        
        private function beginTagFun()
        {
            $this->beginTag = $this->index;
            
            //check that the tag is closed or opened
            if($this->HTML_table[++$this->index]=='/')
            {    
                $this->isTagOpened = false;
                //Go to the next symbol (skip a '/' symbol)
                ++$this->index;
            }
            else
            {
                $this->isTagOpened = true;
            }
            
            //Try to get the name
            do
            {
                if(
                    $this->HTML_table[$this->index] != ' ' &&
                    $this->HTML_table[$this->index] != '>'
                )
                    $this->tagName .= $this->HTML_table[$this->index];
                else
                    break;
                
            }
            while(
                /*If the loop goes beyond the possible values*/
                ++$this->index < $this->HTML_tableLen
            );
        }
        
        private function endTagFun()
        {
            $this->endTag = $this->index;
            //start to replace ...
            $this->replaceTagOnDiv();
            $this->clearTagVar();
        }
        
        private function skipQuotationMarks()
        {
            //determine the type of quotation marks
            $typeOfQuotationMarks = $this->HTML_table[$this->index];
            //skip quotation marks   
            while(
                $this->index < $this->HTML_tableLen &&
                $typeOfQuotationMarks != $this->HTML_table[++$this->index]
                );
        }
        
        private function findTag()
        {
            $insideTag = false;
            for($this->index = 0; $this->index < $this->HTML_tableLen; $this->index++)
            {
                if($this->HTML_table[$this->index]==='<')
                {
                    $this->beginTagFun();
                    $insideTag = true;
                }
                if ($this->HTML_table[$this->index]==='>') 
                {
                    $this->endTagFun();
                    $insideTag = false;
                }
                if (
                    ($this->HTML_table[$this->index]==='\'' ||
                    $this->HTML_table[$this->index]==='"') &&
                    $insideTag
                    ) 
                {
                    $this->skipQuotationMarks();
                }
            }
        }
        
        private function initStandardTags()
        {
            if( !$this->standardTags )
                return;
            $this->replaceTag['table'] = $this->namespace_ . 'styleTable';
            $this->replaceTag['tbody'] = $this->namespace_ . 'styleTbody';
            $this->replaceTag['th'] = $this->namespace_ . 'styleTh';
            $this->replaceTag['tr'] = $this->namespace_ . 'styleTr';
            $this->replaceTag['td'] = $this->namespace_ . 'styleTd';
            $this->replaceTag['caption'] = $this->namespace_ . 'styleCaption';
            $this->replaceTag['colgroup'] = $this->namespace_ . 'styleColgroup';
            $this->replaceTag['col'] = $this->namespace_ . 'styleCol';
            $this->replaceTag['thead'] = $this->namespace_ . 'styleThead';
            $this->replaceTag['tfoot'] = $this->namespace_ . 'styleTfoot';
        }
        
        public function printConvertedTable()
        {
            echo $this->HTML_table;
        }
        
        public function getConvertedTable()
        {
            return $this->HTML_table;
        }
        
        public function functionsetSpecificTags($currentTagName, $replacementTagName)
        {
            $this->replaceTag[strval($currentTagName)] = strval($replacementTagName);
        }
        
        public function setStandardTags($val)
        {
            $this->standardTags = boolval($val);
        }
        
        public function setHTMLTable($HTML_table)
        {
            $this->HTML_table = $HTML_table;
        }
        
        public function setNamespace($namespace_)
        {
            $this->namespace_ = $namespace_;
        }
        
        public function runConverToDiv()
        {
            $this->initStandardTags();
            $this->clearTagVar();
            $this->findTag();
        }

        function __construct($HTML_table, $namespace_ = '') 
        {
            $this->HTML_table = $HTML_table;
            $this->namespace_ = $namespace_;
        }
    }

Як з ним працювати:
1) Спочатку створюється об'єкт
в якості параметрів можна передати (перший параметр) весь HTML код, в такому випадку тегі що не відносяться до таблиці будуть пропущені, або HTML код таблиці
(другий параметр) простір імен для CSS. (не обов'язково)

$ob = new converToDiv($str, 'st_');

або створити об'єкт, і встановити функціями HTML код і простір імен

$ob = new converToDiv();
$ob->setHTMLTable($str);
$ob->setNamespace( 'st_' );

2) (не обов'язково) Вказати чи використовувати стандартні тегі, які відносяться до таблиці. Під стандартними тегами мається на увазі:
table, tbody, th, tr, td, caption, colgroup, col, thead, tfoot

$ob->setStandardTags(true);

якщо встановити false - масив тегів буде пустий
3) (не обов'язково) Додати нові тегі які потрібно замінити
$currentTagName - який тег потрібно знайти і замінити
$replacementTagName - на що потрібно замінити

$ob->setSpecificTags($currentTagName, $replacementTagName);

4) Виконати конвертацію

$ob->runConverToDiv();

5) Отримати результат
Вивести результат

$ob->printConvertedTable(); 

Або
Отримати у вигляді рядка

$ob->getConvertedTable();

CSS класи будуть називатися
[простір імен]_style[тег, перший символ великий];
наприклад:
[простір імен] = my_,
[тег, перший символ великий] = table,
my_styleTable;

Ну, а дальше пишіть CSS стилі, наприклад так

.st_styleTr 
{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    border-color: red;
    border-style: solid;
    border-width: 1px;
}
.st_styleTd
{
    height: auto;
    margin: 1px auto;
    padding: 2px;
    border-color: green;
    border-style: solid;
    border-width: 1px;
    width: -webkit-fill-available;
}

Замітка:
- Звичайно, цей клас потрібно використати для заміні таблиці, але не фільтрації вмісту при відкриті сторінки, тому що цей клас забирає багато ресурсів і сповільнює роботу сторінки
- Щоб цей клас нічого "зайвого" не зробив, варто зробити резервну копію сайту і попередньо перевірити чи точно сторінка має таблиці

if( strpos($content, '<table') === false ) return $content;
$ob = new converToDiv($str, 'st_');
...

- Клас не розрахований на помилки, тобто якщо якийсь тег не буде закриватися, чи ще щось подібне станеться, результат буде непередбачуваний

Можливо хтось стикався з проблемою адаптації таблиці під мобільні телефони і планшети, як це вирішується ?

Якщо хтось зацікавлений в цьому класі, допоможіть доробити "об'єднання комірок", поки що цей клас ніяк не реагує на об'єднання комірок, і можливо зробити його "біль продуманим".
Клас не прокоментований, бо він відносно малий, думаю вам буде зрозуміло як він працює і без коментарів.

4

(1 відповідей, залишених у PHP)

Як вказати що я хочу шукати рядок ?
Наприклад
( тут можна швидко перевірити вираз )
Я хочу замінити </tbody> на </div>

\</tbody>\b - ERROR: Delimiter must not be alphanumeric or backslash
^</tbody>$ - NOTICE: No ending delimiter '^' found. Read documentation how to format $pattern.
\A</tbody>\Z - ERROR: Delimiter must not be alphanumeric or backslash

preg_replace('\\</tbody>\\b', '</div>', '<tbody style="height: 19px;" width="880"></tbody>', 1, $count);

що не пробував не допомагає.

(не пишіть мені про str_replace - я знаю про цю функцію, але ця функція не дозволяє вибрати кількість замін, мені потрібна лише одна заміна)

5

(18 відповідей, залишених у JavaScript)

karmeljuk написав:

А взагалі - чи цікава дана тема комусь крім мене, чи є сенс далі описувати свої дослідження і можливий позитивний результат?

Так, цікава.

Що означає термін "суспільне надбання" для перекладачів книг або видавців ?
1) Приватна особа - перекладач, може здійснювати переклад книг з української мови на іноземну або навпаки, і продавати ці книги як в Україні так і закордоном ?
2) Перекладач може мати авторські права на свій переклад, чи переклад теж є суспільним надбанням ?
3) Закон "Закон України Про авторське право і суміжні права / Розділ II / Стаття 28" відноситься тільки до України чи до інших країн також. Якщо говорити біль конкретно, я питаю про це "2. Авторське право діє протягом усього життя автора і 70 років після його смерті, крім випадків, передбачених цією статтею." і це "Після завершення строку дії АП твори переходять до суспільного надбання. Це означає, що будь-хто може їх вільно використовувати без виплати авторської винагороди нащадкам автора."

7

(0 відповідей, залишених у HTML та CSS)

Вже вирішено. Поки писав, здогадався як вирішити проблему, можливо комусь потрібно буде.

TinyMCE дозволяє додавати зображення до сторінки, якщо їх вирівняти по лівому/правому краю в HTML це виглядає приблизно так
тег <p>текст текст текст... тег <img> текст текст текст...</p> (тобто img знаходиться в середині тегу p)
на комп'ютері і планшеті така сторінка виглядає доволі добре, текст обтікає картинку, картинка не заважає читачу.
На на мобільних телефонах з екраном до 350px (я не дуже розумію ще це за пікселі, але це точно не роздільна здатність дисплея, приміром айфон 6 плюс має 414х736 пікселів. Хто знає, поясніть) картинка заважає, тому що переносить кожне слово на новий рядок. Я хочу зробити так, що текст був зверху та знизу картинки, але не обтікав її, як таке зробити ?
Вирішення
CSS

img{
  display:block;
  margin:auto;
  height: auto;
  max-width: 100%;
}

https://jsfiddle.net/53umf8x3/

Я варіант, можна створити нову кнопку в TinyMCE редакторі, для вставки pdf файлів
http://www.wpbeginner.com/wp-tutorials/ … ce-plugin/
TinyMCE має API за допомогою якого можна взаємодіяти з цим редактором, тобто, написати скрипт обгортання і вставки pdf
https://www.tinymce.com/docs/api/

Другий варіант, WP має "безліч" фільтрів і хуків для різних завдання, як приклад фільтр the_content
"Фільтр "the_content" використовується для фільтрації вмісту повідомлення після його вилучення з бази даних та перед друком на екрані."

function append_to_content( $content ) {
    global $post;
    return $content.'<br />This post was saved on '.$post->post_date;
}
add_filter( 'the_content', 'append_to_content' );

Чи "content_save_pre" фільтр - "фільтр "content_save_pre" є частиною групи динамічних фільтрів, які дозволяють санітарно обробляти вміст до збереження його в базі даних. Цей фільтр працює у wp-admin."

function my_filter_function_name( $content ) {
  // Process content here
  return $content;
}
add_filter( 'content_save_pre', 'my_filter_function_name', 10, 1 );

Ви можете отримати доступ до контенту, знайти тег " а " в якому є "href="[посилання].pdf"  посилання і замінити це на [pdfviewer][посилання].pdf[/pdfviewer].

9

(10 відповідей, залишених у HTML та CSS)

Прихований текст

FakiNyan написав:
Betterthanyou написав:
FakiNyan написав:

ви ж розумієте, що кожна сторінка - це окремий html файл?

Зрозумів вже, вибачайсь за тупе питання.

то це я ще й вибачатись маю???1!! ]:->

Я помилився, вже виправив.

10

(10 відповідей, залишених у HTML та CSS)

FakiNyan написав:

ви ж розумієте, що кожна сторінка - це окремий html файл?

Зрозумів вже, я вибачаюся за тупе питання.

11

(10 відповідей, залишених у HTML та CSS)

FakiNyan написав:

то ви хочете, аби воно на одну маленьку мить показало картинку і відразу перекинуло на інший сайт?

Ні, це просто приклад https://website.com/home (не знав що такий сайт реально існує)
Якщо я маю свій сайт на localhost, я пишу

<nav>
<ul>
  <li><a href="localhost/home">Home</a></li>
  <li><a href="localhost/news">News</a></li>
  <li><a href="localhost/contact">Contact</a></li>
  <li><a href="localhost/about">About</a></li>
</ul>
</nav>

Я маю на увазі, що всі посилання не ведуть на зовнішні сайти, а лише на сторінки які знаходяться в моєму сайті

<a href="https://[мійВебСайт]/home">Home</a>

але якщо я добавлю :target то меню виглядатиме так

<nav>
<ul>
  <li><a href="#img1">Home</a></li>
  <li><a href="#img2">News</a></li>
  <li><a href="#img3">Contact</a></li>
  <li><a href="#img4">About</a></li>
</ul>
</nav>

Я хочу при натисканні на Home перейти на http://localhost/home і щоб над меню появилася картинка img1, одночасно

Як в цьому сайті (понатискайте пункти меню) http://www.imperial-classic.at, але тут, на мою думку, картинка вставляється за допомогою PHP або статично, я хочу таке саме зробити за допомогою CSS.

VTrim написав:

Ще такий варіант, з js
https://jsfiddle.net/4uveb4zc/

Ну, якщо не знайду способів з CSS, буду робити з JS

12

(10 відповідей, залишених у HTML та CSS)

Але як тепер ще посилання (наприклад: https://website.com/home) добавити, якщо атрибут href зайнятий ?

<a href="#img1">Home</a>

Є звичайне меню

<nav>
<ul>
  <li><a href="#">Home</a></li>
  <li><a href="#">News</a></li>
  <li><a href="#">Contact</a></li>
  <li><a href="#">About</a></li>
</ul>
</nav>

і CSS що додає картинку зверху, над меню.

nav::before  {
display: block;
text-align: center;
content: url("data:image/jpeg;base64,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");            
}

Я хочу зробити так, щоб до кожного пункту меню прив'язати картинку, і коли я буду натискати на якийсь пункт меню, тоді буде з'являтися відповідна картинка.

Наприклад
-До пункту "Home" прив'язана картинка "image1"
-До пункту "News" прив'язана картинка "image2"
-До пункту "Contact" прив'язана картинка "image3"

-Коли я натискаю на "home" з'являється картинка "image1" над меню (а всі інші картинки приховані)
-Коли я натискаю на "Contact" з'являється картинка "image3" над меню (а всі інші картинки приховані)
і т.д.

Таке можна зробити за допомогою CSS (якщо так, то як таке зробити) ?
https://jsfiddle.net/mkej0rt9/2/ - весь код тут

14

(8 відповідей, залишених у JavaScript)

FakiNyan написав:

може ie8 не підтримує new Image() ?
тоді спробуйте через createElement може?

Ні так теж не працює, я думаю в IE8 не хоче працювати "image.height === 0". Дякую, вже не потрібні інші способи,
той спосіб що запропонував koala підходить.

15

(8 відповідей, залишених у JavaScript)

Робить, але потрібно тоді замінити самовикликаючу функцію на onload подію, тому що спочатку викликається самовикликаюча функція, потім onerror. Мені це підходить, тема закрита

var bodyId = document.getElementById('bodyId');
    bodyId.onload = function ()
    {
        var allImgTag = document.querySelectorAll('img');
        for(var i = 0; i < allImgTag.length; i++)
        if(allImgTag[i].have_error)//ТУТ<<<<<<<----------------
        {
            alert('Error');
        }
    }
FakiNyan написав:

до речі, чого це воно не працює в IE8 ?

Сам не знаю, в Chrome і Opera робить, а в IE8 ні

ostap34PHP написав:

В мене теж в Netscape Navigator 4.08 не працює  :(

Я розумію вашу критику, але я роблю з Wordpress який підтримує IE, там використовується HTML5 Shiv для підтримки, тому я теж мушу підтримувати IE

16

(8 відповідей, залишених у JavaScript)

Monolith написав:

Як варіант, можна перевіряти висоту картинки:

var image = new Image();
image.src = 'image.jpg'; // розташування картинки
if ( image.height === 0 ) {
  // значить щось не так
}

В браузері IE8 не працює, можливо є ще варіант ?

17

(8 відповідей, залишених у JavaScript)

Я знайшов один спосіб, але він мені не підходить
Як тільки відбувається подія onerror, зразу ж викликається функція для її обробки
HTML

<img src="whatever" id="imageID" />

JS

    var im = document.getElementById('imageID');
    im.onerror = function () { alert('error');};

В мене є самовикликаюча функція, вона бере всі елементи через querySelectorAll, і в циклі їх обробляє. Мені потрібно перевірити існування картинки в самому циклі

(function ()
    {
    var allImgTag = document.querySelectorAll('img');
    for(var i = 0; i < allImgTag.length; i++)
        if(allImgTag[i].event.error)//ТУТ<<<<<<<----------------
        {
            alert('Error');
        }
    }());

Як перевірити існування картинки ?

Ніяк не можу знайти інформацію чи потрібно перевіряти безпеку (права користувача) якщо я зберігаю мета дані update_post_meta? Можливо цю перевірку вже робить wordpress ?

Потрібно так перевіряти, чи ні ?

if(current_user_can('edit_theme_options'))
{
...
update_post_meta(...);
...
}

Якщо говорити більш конкретніше я зберігаю ці дані, коли спрацьовує функція зворотнього виклику.
Я створив "гачок" (хук) wp_update_nav_menu_item, і прив'язав до нього функцію зворотнього виклику, яка зберігає дані використовуючи update_post_meta.

Якщо, скажімо, якимось чином користувач, що немає прав зберігати меню, натисне кнопку зберегти меню, що зробить WP ? Заборонить збереження і не викличе мою зворотню функцію чи заборонить збереження і викличе мою зворотню функцію ?

Начебто вийшло
html

<form method="get">
    <input type="text" name="text-name-1"/>
    <input type="text" name="text-name-2"/>
    <input type="text" name="text-name-98"/>
    <input type="submit" value="Submit" name="submit"/>
</form>

php

<?php
if(!isset($_REQUEST['submit'])) die();//if this is the first entry, then do nothing
$all_request_array = preg_grep('/text-name-/', array_keys($_REQUEST));//Get all text-name-* fields
$all_tn_field_filled = true;//If all text-name-* field was filled in, then this variable equal true 
foreach ($all_request_array as $value)//Check it all
{
    if(!$_REQUEST[$value])/*why !isset($_REQUEST[$value]) does not work !?*/
    {
        //If one field is empty
        $all_tn_field_filled = false;//One of the fields is empty.
        echo//Sent message about the error to user
        '<script type="text/javascript">',
        'alert(\'Error! Fill in all fields.\');',
        '</script>';
        break;//break the loop
    }
}
if($all_tn_field_filled)//checking whether it can be saved
{
    //Save...
    echo//Sent message about the successful save
        '<script type="text/javascript">',
        'alert(\'Great! All fields was saved.\');',
        '</script>';
}
?>

Якщо в мене поля для вводу створені так [ім'я]-[номер]
Порядок номерів довільний

<form>
    <input type="text" name="text-name-1"/>
    <input type="text" name="text-name-2"/>
    <input type="text" name="text-name-98"/>
    <input type="submit" value="Submit"/>
</form>

Можу я перевірити їх існування (заповненість) одночасно ? Наприклад, так як в БД, пишеться спеціальний знак (напевно зірочка *, я вже не повню) що означає будь-що.

isset($_REQUEST['text-name']);//не працює