Ejemplo n.º 1
0
    public static function instance()
    {
        if (!self::$instance)
        {
            $ini                    = eZIni::instance('sqliimport.ini');
            $databaseImplementation = $ini->variable( 'DatabaseSettings', 'DatabaseImplementation' );

            list( $server, $port, $user, $pwd, $db, $usePersistentConnection) = $ini->variableMulti( 'DatabaseSettings', array( 'Server', 'Port', 'User', 'Password', 'Database', 'UsePersistentConnection', ) );

            $databaseParameters = array(
                'server'                    => $server,
                'port'                      => $port,
                'user'                      => $user,
                'password'                  => $pwd,
                'database'                  => $db,
                'use_persistent_connection' => $usePersistentConnection
            );

            self::$instance = new self(eZDB::instance($databaseImplementation, $databaseParameters, true));
        }

        return self::$instance;
    }
) );

$script->startup();

$options = $script->getOptions( '[force]',
                                "",
                                array(
                                      'force' => 'Force without check',
                                     ));

$script->initialize();


$force   = isset($options['force']);
$sql     = "SELECT pf.path, p.* FROM publisher_folder pf LEFT JOIN publisher p ON pf.publisher_id=p.id";
$dbModel = MMSynchDb::instance();
$ezDb    = eZDB::instance();
$results = $dbModel->arrayQuery($sql);
$stop    = false;

foreach ( $results as $result )
{
    $selectPF = "SELECT id FROM mm_publisher_folder WHERE path='{$result['path']}'";
    $resultPF = $ezDb->arrayQuery($selectPF);

    if ( !is_array($resultPF) || count($resultPF) != 1 )
        $stop = true;
}

if ( $stop && !$force )
{
Ejemplo n.º 3
0
 protected function db()
 {
     return MMSynchDb::instance();
 }
));

$script->startup();
$script->initialize();

$cli->output( 'Process update tags' );

try
{
    if (!isset($options['tags']) || $options['tags'] == '')
    {
        throw new Exception('Tags must be setted');
    }

    //connect to merck model
    $db = MMSynchDb::instance();

    //get all articles
    $articlesTags = parseArticles($options['tags']);

    $selectArticleQuery = 'SELECT id, language FROM article WHERE publisher_internal_id = "%s"';
    $updateArticleQuery = 'UPDATE article SET tags = "%s" WHERE id = %d';
    $selectImportStatusQuery = 'SELECT id FROM import_status WHERE article_id = %d ORDER BY version DESC LIMIT 1';
    $updateImportStatusQuery = 'UPDATE import_status SET status_mdd_ez = 0 WHERE id = %d';

    foreach ($articlesTags as $publisher_internal_id => $tags)
    {
        $cli->output( '[' . $publisher_internal_id . '] : ' . $tags );

        //get all articles with publisher_internal_id
        $articles = $db->arrayQuery(sprintf($selectArticleQuery, $publisher_internal_id));