Дмитрий


Дмитрий

  • Дмитрий Дмитрий 11 февраля 2019 11:53 #

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

    Кстати никого это не удивляет, почему таки при штатном действии (регистрация через сервисы) нет взаимодействия с посетителем? Система тупо кидает их БД, как и любого бота, заполнившего форму)

    в ответ на Регистрация через сторонние сервисы

  • Дмитрий Дмитрий 11 февраля 2019 00:32 #

    Спасибо, что подсказали!

    Вот так в результате вышло, если сильно накосячил напишите плз.

    <?php
    
    class siteSendpromoPlugin extends sitePlugin
    {
    
    	private static $view;
    	private static $plugin;
    
    	private static function getPlugin()
    	{
    		if (!isset(self::$plugin)) {
    			self::$plugin = wa('site')->getPlugin('sendpromo');
    		}
    		return self::$plugin;
    	}
    
    	public function getPluginPath() {
    		return $this->path;
    	}
    
    	private static function getView()
    	{
    		if (!isset(self::$view)) {
    		self::$view = waSystem::getInstance()->getView();
    		}
    		return self::$view;
    	}
    
    	public function webasystSignup($data)
    	{
    			$config = wa('shop')->getConfig();
    			$view = self::getView();
    			$plugin = self::getPlugin();
    			$settings = $plugin->getSettings();
    
    			$contact = new waContact($data['id']);
    			$contact_email = $contact->get('email', 'value');
    			$contact_create_method = $contact->get('create_method', 'value');
    			$contact_name = $contact->getName();
    			$metods = array('yandex', 'facebook', 'google', 'mailru', 'vkontakte', 'twitter');
    			if (in_array($contact_create_method, $metods))
    			{
    				$body = $view->fetch($plugin->getPluginPath() . '/templates/successful_signup.html');
    				$mail_message = new waMailMessage($settings['subject'], $body);
    				$mail_message->setFrom($config->getGeneralSettings('email'), $config->getGeneralSettings('name'));
    				$mail_message->setTo($contact_email[0], $contact_name);
    				$mail_message->send();
    			}
    
    	}
    }

    в ответ на Регистрация через сторонние сервисы

  • Дмитрий Дмитрий 10 февраля 2019 13:50 #

    Вы хотите помочь? Выложите решение, можете помочь за деньги - объявите стоимость. А по первому комментарию, ну так себе предложение.

    в ответ на Регистрация через сторонние сервисы

  • Дмитрий Дмитрий 8 февраля 2019 20:24 #

    Может я где ошибся, но никак не запущу.

    Плагин sendpromo

    /wa-apps/site/plugins/sendpromo/lib/config/plugin.php

    <?php
    return array (
        'name' => 'Sendpromo',
        'description' => 'test',
        'icon' => 'img/plugin.png',
        'img' => 'img/plugin.png',
        'version' => '',
        'vendor' => '',
        'frontend' => false,
        'handlers' => array (
            '*' => array(
                array(
                    'event_app_id' => '*',
                    'event'        => 'signup',
                    'class'        => 'siteSendpromoPlugin',
                    'method'       => 'webasystSignup'
                )
            ),
        ),
    );

    /wa-apps/site/plugins/sendpromo/lib/siteSendpromoPlugin.class.php

    <?php
    
    class siteSendpromoPlugin extends sitePlugin
    {
                $subject = "test subject";
                $body = "test body";
    
                $mail_message = new waMailMessage($subject, $body);
                $mail_message->setFrom('______', 'Робот');
                $mail_message->setTo('_____', 'Дмитрий');
                $mail_message->send();
    
    }

    Для понимания срабатывает ли, письмо себе отправляю. Писем/ошибок нет(

    в ответ на Регистрация через сторонние сервисы