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 ) {
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));