• Разработка собственной CRM, с чего начать?

    спасибо, сам занимаюсь их разработкой, понимаю, о чем говорю.
  • Как запретить срабатывание событий у потомков?

    reimax
    @reimax Автор вопроса
    stopPropagation() я первым делом проверял и... не сработало. пробовал в mousedown давать false третьим параметром, но тоже нет.
    // Я с js на очень сильном ВЫ.
  • Как в webpack сделать загрузку переменных глобально?

    reimax
    @reimax Автор вопроса
    Это работает, спасибо.

    Вопрос, в init_refresh_script у меня есть
    var calendar = new FullCalendar.Calendar(calendarEl, {
    ...
    }

    то есть нужен календарь. я сделал сборку его в виде

    import '../../vendor/assets/moment/moment-with-locales.js';
    import '../../vendor/assets/fullcalendar/packages/core/main.js';
    import '../../vendor/assets/fullcalendar/packages/daygrid/main.js';
    import '../../vendor/assets/fullcalendar/packages/timegrid/main.js';
    import '../../vendor/assets/fullcalendar/packages/list/main.js';
    import '../../vendor/assets/fullcalendar/packages/interaction/main.js';

    подключаю общий скрипт скрипт, но на странице вижу Uncaught ReferenceError: FullCalendar is not defined. Аналогичная проблема с другими плагинами. Как их тогда правильно подключать?
  • Нуль символ в запросе, как найти?

    reimax
    @reimax Автор вопроса
    подумал про заголовки, пробовал перебирать, не срабатывает. да и какой заголовок может добавлять - удалять посторонние символы в передаваемые данные?
  • Нуль символ в запросе, как найти?

    reimax
    @reimax Автор вопроса
    Длину ключей проверил, все ок, trim в первую очередь проверил, тоже ок.
    Данные передаются не из форм.
  • Как правильно собрать docker?

    reimax
    @reimax Автор вопроса
    хорошо, вывешивает
    если проверять с портом

    curl -v test.loc:81
    * Rebuilt URL to: test.loc:81/
    *   Trying 127.0.0.1...
    * TCP_NODELAY set
    * connect to 127.0.0.1 port 81 failed: В соединении отказано
    * Failed to connect to test.loc port 81: В соединении отказано
    * Closing connection 0
    curl: (7) Failed to connect to test.loc port 81: В соединении отказано
  • Как правильно собрать docker?

    reimax
    @reimax Автор вопроса
    если добавить в hosts такую запись, да, домен начинает работать, но, докер уже не при делах оказывается здесь. у меня открывается дефолтная страница апача, а в конфиге то его нет. если я не в докер контейнере стопну апач, а глобавльно в системе, то домен уже не открывается.
  • Как правильно собрать docker?

    reimax
    @reimax Автор вопроса
    curl -v test.loc:81
    * Rebuilt URL to: test.loc:81/
    * Could not resolve host: test.loc
    * Closing connection 0
    curl: (6) Could not resolve host: test.loc
  • Как правильно собрать docker?

    reimax
    @reimax Автор вопроса
    я просто удалил его:

    # Версия docker-compose
    version: '3'
    # Список наших сервисов (контейнеров)
    services:        
        nginx:
            image: nginx:latest
            # маршрутизируем порты
            ports:
                - 81:80
            # монтируем директории, слева директории на основной машине, справа - куда они монтируются в контейнере
            volumes:
                - ./www:/var/www/html
                - ./nginx/nginx.conf:/etc/nginx/nginx.conf
            depends_on: 
                - php
    
        php:
            # у нас свой образ для PHP, указываем путь к нему и говорим что его надо собрать
            build: ./images/php
            # этот образ будет общаться с mysql
    
            # монтируем директорию с проектами
            volumes:
                - ./www:/var/www/html
                - ./images/php/php.ini:/usr/local/etc/php/php.ini


    ngnix
    worker_processes  1;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
    
        server {
            index index.php;
            server_name test.loc;
            error_log  /var/log/nginx/error.log;
            access_log /var/log/nginx/access.log;
            root /var/www/test.loc;
    
            location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass php:9000;
                fastcgi_index index.php;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param PATH_INFO $fastcgi_path_info;
            }
        }
    }


    итого,

    php_1_9152b619e164 | [08-Jan-2019 08:36:17] NOTICE: fpm is running, pid 1
    php_1_9152b619e164 | [08-Jan-2019 08:36:17] NOTICE: ready to handle connections


    если верно понимаю, то теперь php не общается с ngnix, как их подружить?
  • Как правильно собрать docker?

    reimax
    @reimax Автор вопроса
    ERROR: for docker_nginx_1_106942ba7ae9 Cannot start service nginx: driver failed programming external connectivity on endpoint docker_nginx_1_106942ba7ae9 (7c15ecb1768ab500211c33762a9a5b4d393ea522e966ace1661b2b3b8d74664b): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use

    это если делать
    nginx:
            image: nginx:latest
            # маршрутизируем порты
            ports:
                - "80:81"
            # монтируем директории, слева директории на основной машине, справа - куда они монтируются в контейнере
            volumes:
                - ./www:/var/www/html
                - ./nginx/nginx.conf:/etc/nginx/nginx.conf
            depends_on: 
                - apache
  • Как правильно собрать docker?

    reimax
    @reimax Автор вопроса
    Я использую сейчас пример: https://habr.com/post/346086/
    Порты я выше написал, что 80 занят
  • Как правильно собрать docker?

    reimax
    @reimax Автор вопроса
    выхлоп сборки в консоли:
    spoiler
    docker-compose up --build
    Building php
    Step 1/3 : FROM php:7.2-apache
     ---> 342a9fa6554c
    Step 2/3 : RUN apt-get update
     ---> Using cache
     ---> 4a75c719c0ce
    Step 3/3 : RUN docker-php-ext-install pdo pdo_mysql mysqli
     ---> Using cache
     ---> a0bed50521ae
    Successfully built a0bed50521ae
    Successfully tagged docker_php:latest
    Starting docker_mariadb_1_936277e76eda ... done
    Recreating docker_redis_1_7f1b7ceede36    ... done
    Starting docker_php_1_9152b619e164        ... done
    Starting docker_phpmyadmin_1_b6c496c9c22b ... done
    Starting docker_apache_1_2ed066f5ca0f     ... done
    Recreating docker_nginx_1_106942ba7ae9    ... done
    Attaching to docker_mariadb_1_936277e76eda, docker_php_1_9152b619e164, docker_phpmyadmin_1_b6c496c9c22b, docker_apache_1_2ed066f5ca0f, docker_redis_1_7f1b7ceede36, docker_nginx_1_106942ba7ae9
    php_1_9152b619e164 | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.4. Set the 'ServerName' directive globally to suppress this message
    mariadb_1_936277e76eda | 2019-01-08  7:28:15 0 [Note] mysqld (mysqld 10.3.11-MariaDB-1:10.3.11+maria~bionic) starting as process 1 ...
    php_1_9152b619e164 | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.4. Set the 'ServerName' directive globally to suppress this message
    php_1_9152b619e164 | [Tue Jan 08 07:28:16.213409 2019] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.25 (Debian) PHP/7.2.13 configured -- resuming normal operations
    php_1_9152b619e164 | [Tue Jan 08 07:28:16.213454 2019] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
    phpmyadmin_1_b6c496c9c22b | /usr/lib/python2.7/site-packages/supervisor/options.py:461: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
    phpmyadmin_1_b6c496c9c22b |   'Supervisord is running as root and it is searching '
    mariadb_1_936277e76eda | 2019-01-08  7:28:15 0 [Note] InnoDB: Using Linux native AIO
    mariadb_1_936277e76eda | 2019-01-08  7:28:15 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
    mariadb_1_936277e76eda | 2019-01-08  7:28:15 0 [Note] InnoDB: Uses event mutexes
    mariadb_1_936277e76eda | 2019-01-08  7:28:15 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
    mariadb_1_936277e76eda | 2019-01-08  7:28:15 0 [Note] InnoDB: Number of pools: 1
    phpmyadmin_1_b6c496c9c22b | 2019-01-08 07:28:17,039 CRIT Supervisor is running as root.  Privileges were not dropped because no user is specified in the config file.  If you intend to run as root, you can set user=root in the config file to avoid this message.
    phpmyadmin_1_b6c496c9c22b | 2019-01-08 07:28:17,039 INFO Included extra file "/etc/supervisor.d/nginx.ini" during parsing
    apache_1_2ed066f5ca0f | AH00534: httpd: Configuration error: No MPM loaded.
    phpmyadmin_1_b6c496c9c22b | 2019-01-08 07:28:17,039 INFO Included extra file "/etc/supervisor.d/php.ini" during parsing
    mariadb_1_936277e76eda | 2019-01-08  7:28:15 0 [Note] InnoDB: Using SSE2 crc32 instructions
    redis_1_7f1b7ceede36 | 1:C 08 Jan 2019 07:28:19.193 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    redis_1_7f1b7ceede36 | 1:C 08 Jan 2019 07:28:19.193 # Redis version=5.0.3, bits=64, commit=00000000, modified=0, pid=1, just started
    redis_1_7f1b7ceede36 | 1:C 08 Jan 2019 07:28:19.193 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
    redis_1_7f1b7ceede36 | 1:M 08 Jan 2019 07:28:19.194 * Running mode=standalone, port=6379.
    redis_1_7f1b7ceede36 | 1:M 08 Jan 2019 07:28:19.194 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
    redis_1_7f1b7ceede36 | 1:M 08 Jan 2019 07:28:19.194 # Server initialized
    redis_1_7f1b7ceede36 | 1:M 08 Jan 2019 07:28:19.194 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
    redis_1_7f1b7ceede36 | 1:M 08 Jan 2019 07:28:19.194 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
    phpmyadmin_1_b6c496c9c22b | 2019-01-08 07:28:17,046 INFO RPC interface 'supervisor' initialized
    docker_apache_1_2ed066f5ca0f exited with code 1
    phpmyadmin_1_b6c496c9c22b | 2019-01-08 07:28:17,046 CRIT Server 'unix_http_server' running without any HTTP authentication checking
    phpmyadmin_1_b6c496c9c22b | 2019-01-08 07:28:17,046 INFO supervisord started with pid 1
    phpmyadmin_1_b6c496c9c22b | 2019-01-08 07:28:18,049 INFO spawned: 'php-fpm' with pid 11
    redis_1_7f1b7ceede36 | 1:M 08 Jan 2019 07:28:19.194 * DB loaded from disk: 0.000 seconds
    redis_1_7f1b7ceede36 | 1:M 08 Jan 2019 07:28:19.194 * Ready to accept connections
    mariadb_1_936277e76eda | 2019-01-08  7:28:15 0 [Note] InnoDB: Initializing buffer pool, total size = 256M, instances = 1, chunk size = 128M
    nginx_1_106942ba7ae9 | 2019/01/08 07:28:20 [emerg] 1#1: host not found in upstream "apache" in /etc/nginx/nginx.conf:26
    nginx_1_106942ba7ae9 | nginx: [emerg] host not found in upstream "apache" in /etc/nginx/nginx.conf:26
    mariadb_1_936277e76eda | 2019-01-08  7:28:15 0 [Note] InnoDB: Completed initialization of buffer pool
    mariadb_1_936277e76eda | 2019-01-08  7:28:15 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
    phpmyadmin_1_b6c496c9c22b | 2019-01-08 07:28:18,053 INFO spawned: 'nginx' with pid 12
    mariadb_1_936277e76eda | 2019-01-08  7:28:15 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
    phpmyadmin_1_b6c496c9c22b | [08-Jan-2019 07:28:18] NOTICE: fpm is running, pid 11
    phpmyadmin_1_b6c496c9c22b | [08-Jan-2019 07:28:18] NOTICE: ready to handle connections
    mariadb_1_936277e76eda | 2019-01-08  7:28:15 0 [Note] InnoDB: Creating shared tablespace for temporary tables
    mariadb_1_936277e76eda | 2019-01-08  7:28:15 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
    mariadb_1_936277e76eda | 2019-01-08  7:28:15 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
    phpmyadmin_1_b6c496c9c22b | 2019-01-08 07:28:19,092 INFO success: php-fpm entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
    phpmyadmin_1_b6c496c9c22b | 2019-01-08 07:28:19,093 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
    mariadb_1_936277e76eda | 2019-01-08  7:28:15 0 [Note] InnoDB: 10.3.11 started; log sequence number 1630914; transaction id 21
    mariadb_1_936277e76eda | 2019-01-08  7:28:15 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
    mariadb_1_936277e76eda | 2019-01-08  7:28:15 0 [Note] Plugin 'FEEDBACK' is disabled.
    mariadb_1_936277e76eda | 2019-01-08  7:28:16 0 [Note] InnoDB: Buffer pool(s) load completed at 190108  7:28:16
    mariadb_1_936277e76eda | 2019-01-08  7:28:16 0 [Note] Server socket created on IP: '::'.
    mariadb_1_936277e76eda | 2019-01-08  7:28:16 0 [Warning] 'proxies_priv' entry '@% root@965fcf7454ee' ignored in --skip-name-resolve mode.
    mariadb_1_936277e76eda | 2019-01-08  7:28:16 0 [Note] Reading of all Master_info entries succeded
    mariadb_1_936277e76eda | 2019-01-08  7:28:16 0 [Note] Added new Master_info '' to hash table
    mariadb_1_936277e76eda | 2019-01-08  7:28:16 0 [Note] mysqld: ready for connections.
    mariadb_1_936277e76eda | Version: '10.3.11-MariaDB-1:10.3.11+maria~bionic'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution
    docker_nginx_1_106942ba7ae9 exited with code 1
  • Как в Vue произвести перерендеринг после загрузки шаблона в компоненте?

    reimax
    @reimax Автор вопроса
    Evgeny Kulakov,
    <div id="appAuth">
    	<router-view></router-view>
    </div>


    На текущий момент задача - только та, которую пытаюсь решить. СПА, апи, я про них не писал ничего.

    Я попробовал убрать загрузку через axios форм и перенести их в общий шаблон. в параметр template компонента я не могу сохранить их, так как мне для них еще нужен перевод на язык пользователя. Оба компонента теперь имеют такой вид:

    template: '<div class="content">'+$(".auth-comp").html()+'</div>',


    .auth-comp - скрытый блок на странице, в нем форма уже с нужным переводом. Есть какой то способ в vue в компонент положить свой шаблон, чтобы потом с ним работать? Вопрос только этот, ничего другого.
  • Как в Vue произвести перерендеринг после загрузки шаблона в компоненте?

    reimax
    @reimax Автор вопроса
    Evgeny Kulakov,
    const auth = Vue.component('auth-component', {
    props: ['act', 'form'],
    template: '<div class="main-content">{{ form }}</div>',
    created () {
    	this.fetchData();
    },
    watch: {
    	'$route': 'fetchData',
    },
    methods: {
    	fetchData () {
    		axios.get('/auth.php?outside=1&do='+this.act).then( (response) => {
    	        this.form = response.data.html;
    	    });
    	},
    
    }
    });
    
    const router = new VueRouter({
    mode: 'history',
    routes: [
    	{ path: '*', component: auth, props: { act: 'auth' } },
    	{ path: '/auth', component: auth, props: { act: 'auth' } },
    	{ path: '/restore', component: auth, props: { act: 'restore' } }
    ]
    });
    
    const app = new Vue({
    delimiters: ['<%', '%>'],
    router
    }).$mount('#appAuth');


    <div id="appAuth">
    				<auth-component></auth-component>
    			</div>
  • Как в Vue произвести перерендеринг после загрузки шаблона в компоненте?

    reimax
    @reimax Автор вопроса
    Evgeny Kulakov, я думал над таким вариантом, можно вывести в шаблон форму авторизации и сброса пароля, но это пока всего две формы, в последующем нужно будет добавлять функционал и далее уже будут загружаться профиль пользователя, доп страницы, а значит там уже нужно будет на бекенде какие то данные обрабатывать. в итоге сохранять в один шаблон все загружаемые куски html мне кажется не лучший вариант.
  • Как в Vue произвести перерендеринг после загрузки шаблона в компоненте?

    reimax
    @reimax Автор вопроса
    Evgeny Kulakov,
    Я пытаюсь сделать по первому варианту. Если переписать мой исходный вариант в виде компонента, то ничего не меняется. Можете привести пример, как правильно это сделать?
  • Как в Vue произвести перерендеринг после загрузки шаблона в компоненте?

    reimax
    @reimax Автор вопроса
    Да, видел это в документации. Поэтому и задал вопрос, как правильно сделать, чтобы загружаемый шаблон таки рендерился.
  • Как правильно сделать выборку из двух таблиц?

    reimax
    @reimax Автор вопроса
    за ссылку на гугл спасибо, только таблицы я уже связал.
    в описании вопроса я спросил, как сделать оптимально выборку, результатом которого будет список документов, который так же будет содержать список тегов по каждому.

    $docs = [
         "1" => [
             "doc_id" => 1,
             "doc_title" => "test",
             "doc_tags" => [ массив тегов ]
          ],
    ]