CORE-POS/IS4C

View on GitHub
fannie/modules/plugins2.0/Mercato/MercatoBotTask.php

Summary

Maintainability
A
50 mins
Test Coverage
<?php

class MercatoBotTask extends FannieTask 
{
    public function run()
    {
        $settings = $this->config->get('PLUGIN_SETTINGS');

        $user = $settings['MercatoBotUser'];
        $pass = $settings['MercatoBotPw'];
        $dsn = 'mysql://' 
            . $this->config->get('SERVER_USER') . ':'
            . $this->config->get('SERVER_PW') . '@'
            . $this->config->get('SERVER') . '/'
            . $this->config->get('OP_DB');

        chdir(__DIR__ . '/noauto');
        $cmd = './mercato.py'
            . ' ' . escapeshellarg('-u')
            . ' ' . escapeshellarg($user)
            . ' ' . escapeshellarg('-p')
            . ' ' . escapeshellarg($pass)
            . ' ' . escapeshellarg('-d')
            . ' ' . escapeshellarg($dsn);

        $ret = exec($cmd, $output);
        echo implode("\n", $output) . "\n";

        if ($ret != 0) {
            $this->cronMsg("Mercato Bot errored\n" . implode("\n", $output) . "\n", FannieLogger::ALERT);
        }
    }
}