Abu

Abu

С нами с 24 декабря 2012; Место в рейтинге пользователей: #89
Abu
Abu
23 декабря 2015, 19:58
+1
Не добавляет. Василий тут предложил решать такие задачи плагином. Добавил свое решение туда же.
Abu
Abu
23 декабря 2015, 19:57
4
+1
Плагин ищет фотки в подключенных соцсетях первую что найдет записывает в профиль.

<?php
$eventName = $modx->event->name;

switch($eventName) {
    
    case 'OnHandleRequest':
        
	if ($modx->user->isAuthenticated($modx->context->key)) {
        $user = $modx->getUser();
        $profile = $user->getOne('Profile');
        
            if ($profile->get('photo') == '') {
                
                $gravemail = md5( strtolower( trim( $profile->get('email') ) ) );
                $gravsrc = "http://www.gravatar.com/avatar/".$gravemail;
                $gravcheck = "http://www.gravatar.com/avatar/".$gravemail."?d=404";
                $response = get_headers($gravcheck);
                
                $services = $user->getMany('Services');
            
            	if ($services && $response[0] == "HTTP/1.0 404 Not Found") {
            	    foreach ($services as $service) {
            	            if ($service->get('photourl')) {
            	                $profile->set('photo', $service->get('photourl'));
                	            $profile->save();
                	            break 1;
            	            }
                	}
            	}
                
            }

	}

        break;
}

return;
Abu
Abu
21 декабря 2015, 20:38
0
Жаль 2.3 вроде юзабельная была, но хорошо, что Василий подключился.
Abu
Abu
21 декабря 2015, 20:35
0
А пользователи в группе sftp? что пишет в /var/log/auth.log
Abu
Abu
20 декабря 2015, 09:13
0
Не пойму каким образом тут вообще изображение из соцсети берутся. Имеются в виду фото из modx профиля, граватар и дефолтная картинка?
Abu
Abu
19 декабря 2015, 14:30
2
0
Пользуюсь для таких случаев возможностями ssh
mysql
mysqldump --opt -C -uusername -ppass  mysqldatabase | ssh -C -i  /keys/.ssh/key.pem sshuser@192.168.0.1 mysql -C -uusername -ppassword  mysqldatabase
файлы
sudo rsync -avz --delete -progress -e "ssh -i /keys/.ssh/key.pem" --rsync-path="sudo rsync" /var/www/username/site.com/ sshuser@192.168.1.0:/var/www/username/site.com/
Таким же образом можно затягивать обновления с рабочего сервера. Генерация баш скриптов при создании сайта упрощает и написание этих строчек.

Компоненту, конечно, плюс. Управление с админки и дополнительные фичи с бекапом и выбором данных для синхронизации, то что нужно.
Abu
Abu
06 декабря 2015, 22:16
0
Если готовы быть бета-тестером, могу скинуть довольно сырое решение (откройте доступ к личным сообщениям).
Abu
Abu
01 декабря 2015, 17:59
0
Для modx выходит сложнее.
Abu
Abu
01 декабря 2015, 17:55
0
Воспользуюсь возможностью попробовать ваш хостинг! ;) Логин abuhasub@gmail.com автор InstagramWidget
Abu
Abu
01 декабря 2015, 07:12
0
в консоли nginx -t ошибки показывает. В нашем случае
directive «root» is not terminated by ";"
пропустил ";" после root
Abu
Abu
01 декабря 2015, 06:39
0
Конфиг довольно специфичный т.к. там сайты не на модекс, может поэтому. А почему не заводится? nginx -t должен проблему показать.
Abu
Abu
01 декабря 2015, 04:43
0
Все должно работать.
Abu
Abu
01 декабря 2015, 04:35
+1
С вышеприведенными настройками у меня сайты работают, находясь физически в /var/www/site1/ и /var/www/site2/, но открываются правильно по
http://site1/ и http://site1/site2

Если оба сайта на модекс, то должны быть и получше решения, с использованием единой установки, кажется тут было что-то похожее.
Abu
Abu
01 декабря 2015, 03:56
+2
А сами файлы на сервере в отдельной директории? Если да, то по советам stackoverflow, просто добавить location в server {} отдельный root и правила для него.

location /site2/ {
                root /var/www/path/site2;

                # Do this inside of a location so it can be negated
                location ~ \.php$ {
                        try_files $uri $uri/ =404; # Don't let php execute non-existent php files
                        include fastcgi_params;
                        fastcgi_pass backend-site1;

                        include    /etc/nginx/mime.types;
                        include    /etc/nginx/fastcgi.conf;
                        default_type application/octet-stream;

                }

                location ~* ^.+\.(jpg|jpeg|gif|png|js|ico|bmp)$ {
                        access_log       off;
                        expires          10d;
                        break;
                }
        }
Abu
Abu
29 ноября 2015, 20:29
+1
Делал немного по другому, через класс транслитерации

<?php
$stringToApplyTransliterationTo = "Транслитерация кириллицы в modx";
$options = array();
$translitTableName = 'russian';
$translitClassPath = $modx->getOption(
    'friendly_alias_translit_class_path', 
    $options, 
    $modx->getOption('core_path', $options, MODX_CORE_PATH) . 'components/'
).'modx/translit/';
if ($modx->getService('translit', 'modTransliterate', $translitClassPath, $options)) {
    $alias = $modx->translit->translate($stringToApplyTransliterationTo, $translitTableName);
}
return $alias;
Abu
Abu
14 ноября 2015, 02:02
0
Привет, попробуй разделять скобки пробелами, типа "[ пробел [ "
Abu
Abu
15 сентября 2015, 12:20
0
Интересно как продвигается дело? Давно не слышно ничего. Из пожеланий функционала — скидка на все товары для рефералов и реферов. Т.е. бонус в виде % скидки от цены товара в minishop2. Естественно, готов поддержать.
Abu
Abu
08 сентября 2015, 20:20
0
Имхо самое нормальное решение. Слегка допилил скрипты, если интересно fork

Вкратце, создаются доп скрипты, которыми локальный и продакшен сервера (настроенные по мануалу bezumkin) общаются через ssh с ключами, посредством rsync и mysqldump. Есть upload&&download mysql и upload&&download rsync (files), такая синхронизация серверов. (на продакшене тоже надо запускать модифицированный addsite.sh, явно указывая такие же пароли.

Vapor у меня с ошибками несколько раз не сработал, там какие-то нелепые ограничения на некоторые дополнения были. А тут железобетонный mysqldump и rsync, бонусом 2 копии сайта на 2-х серверах, кажется надежнее. В общем тот еще велосипед, но похоже каждый свои велосипеды изобретает.
Abu
Abu
07 августа 2015, 13:53
0
Использовать авторизацию только на этих определенных доменах (ваш кэп).
Abu
Abu
25 июля 2015, 22:30
1
+1
Может кому окажется полезным, работает просто включив в настройках системы — minifyx_process_images

По умолчанию путь типа такого: /assets/components/minifyx/munee.php?files=/assets/uploads/myimage.jpg?resize=w[200]h[283]s[true]

Немного джаваскрипта поможет обрамить img в ссылку на полное изображение забирая путь из значений в ссылке (files=).
Подключив лайтбокс и jquery, можно сделать ссылки. Например для fancybox:

<script>
$(document).ready(function() {
    $('img[src*="minifyx"]').each(function() {
          var url =  $(this).attr("src");
          var fullurl = url.substring(url.lastIndexOf("files=")+6,url.lastIndexOf("?"));
          $(this).wrap('<a class="fancybox" rel="group" href="' + fullurl + '" />');
       });
    });
$(".fancybox").fancybox();
</script>