当前位置: 首页>>代码示例>>PHP>>正文


PHP ConnectionManager::getDataSource方法代码示例

本文整理汇总了PHP中ConnectionManager::getDataSource方法的典型用法代码示例。如果您正苦于以下问题:PHP ConnectionManager::getDataSource方法的具体用法?PHP ConnectionManager::getDataSource怎么用?PHP ConnectionManager::getDataSource使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ConnectionManager的用法示例。


在下文中一共展示了ConnectionManager::getDataSource方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: registrations

 public function registrations($all = false)
 {
     $db = ConnectionManager::getDataSource('default');
     $data = $this->CventAPI->GetRegistrationIds('994C2F8D-98D9-4ADA-98B9-1A1A4F29FAB1');
     $chunks = array_chunk($data, 100);
     $added = 0;
     foreach ($chunks as $chunk) {
         $registrations = $this->CventAPI->RetrieveRegistrations($chunk);
         foreach ($registrations as $registration) {
             $exists = $db->query("select * from cvent where uuid = '{$registration->Id}'");
             if (empty($exists)) {
                 $db->query("INSERT INTO `cvent` (`uuid`, `object`, `parent_object`, `parent_uuid`, `presenter_sequence_id`, `confirmation`, `notes`) VALUES ('{$registration->Id}', 'Registration', 'Event' ,'{$this->eventId}', '{$registration->SourceId}', '{$registration->ConfirmationNumber}', '{$registration->ResponseMethod}');");
                 if (isset($registration->PaymentDetail) && $registration->PaymentDetail instanceof stdClass) {
                     $PaymentDetail = $registration->PaymentDetail;
                     $db->query("INSERT INTO `cvent` (`uuid`, `object`, `parent_object`, `parent_uuid`, `presenter_sequence_id`, `confirmation`, `notes`) VALUES ('{$PaymentDetail->TransactionId}', 'Payment', 'Registration' ,'{$registration->Id}', '{$registration->SourceId}', '{$PaymentDetail->ReferenceNumber}', '{$PaymentDetail->Amount}');");
                 }
                 $added++;
                 $this->out("Added PresenterSequenceId: <info>{$registration->SourceId}</info>");
             }
             if (isset($registration->OrderDetail) && $registration->OrderDetail instanceof stdClass) {
                 $this->addOrderDetails($registration);
             } elseif (count($registration->OrderDetail) > 1) {
                 foreach ($registration->OrderDetail as $key => $value) {
                     $this->addOrderDetails($registration, $key);
                 }
             }
         }
     }
     $this->out("Added: <info>{$added}</info> new registrations.");
 }
开发者ID:kameshwariv,项目名称:testexample,代码行数:30,代码来源:CventShell.php

示例2: delete

 /**
  * Override Model::delete, because it would block deleting when
  * useTable = false and no records exists
  *
  * @param <type> $id
  * @param <type> $cascade
  * @return <type>
  */
 function delete($id = null, $cascade = true)
 {
     if (!empty($id)) {
         $this->id = $id;
     }
     $id = $this->id;
     if ($this->beforeDelete($cascade)) {
         $db =& ConnectionManager::getDataSource($this->useDbConfig);
         if (!$this->Behaviors->trigger($this, 'beforeDelete', array($cascade), array('break' => true, 'breakOn' => false))) {
             return false;
         }
         $this->_deleteDependent($id, $cascade);
         $this->_deleteLinks($id);
         $this->id = $id;
         if (!empty($this->belongsTo)) {
             $keys = $this->find('first', array('fields' => $this->__collectForeignKeys()));
         }
         if ($db->delete($this)) {
             if (!empty($this->belongsTo)) {
                 $this->updateCounterCache($keys[$this->alias]);
             }
             $this->Behaviors->trigger($this, 'afterDelete');
             $this->afterDelete();
             $this->_clearCache();
             $this->id = false;
             $this->__exists = null;
             return true;
         }
     }
     return false;
 }
开发者ID:robwilkerson,项目名称:CakePHP-Mailchimp-datasource,代码行数:39,代码来源:MailchimpSubscriber.php

示例3: main

 public function main()
 {
     $db = ConnectionManager::getDataSource('default');
     $db->query($this->migrationsTableSql);
     $results = $db->query("select migrations from __migrations");
     $applied = array();
     foreach ($results as $result) {
         $applied[] = $result['__migrations']['migrations'];
     }
     $migrations = glob(APP . 'Config' . DS . 'Schema' . DS . 'migrations' . DS . '*.sql');
     natsort($migrations);
     $db->begin();
     try {
         foreach ($migrations as $filename) {
             list($migration, $ignore) = explode('.', basename($filename));
             if (in_array($migration, $applied)) {
                 continue;
             }
             $this->out("Migrating to {$migration}.");
             $db->query(file_get_contents($filename));
             $db->query("INSERT INTO `__migrations` VALUES ('{$migration}')");
         }
         $db->commit();
         $this->out('Done.');
     } catch (Exception $e) {
         $this->out("<error>Migration failed. Rolling back.</error>");
         $db->rollback();
         throw $e;
     }
 }
开发者ID:brianvoss,项目名称:jslate,代码行数:30,代码来源:MigrateShell.php

示例4: status

 /**
  * Displays information about the system configuration.
  */
 public function status()
 {
     $this->set('core', array('debug' => Configure::read('debug'), 'database' => @ConnectionManager::getDataSource('default')));
     $uploads_path = Configure::read('uploads.path');
     $this->set('uploads', array('url' => Configure::read('uploads.url'), 'path' => $uploads_path, 'exists' => is_dir($uploads_path), 'writable' => is_writable($uploads_path), 'executable' => is_executable($uploads_path)));
     $this->set('dependencies', array('Ghostscript' => is_executable('ghostscript'), 'Imagemagick' => class_exists('Imagick')));
 }
开发者ID:ndreynolds,项目名称:arcs,代码行数:10,代码来源:AdminController.php

示例5: _importTables

 function _importTables($from)
 {
     $defaultDb = ConnectionManager::getDataSource($from);
     foreach ($defaultDb->listSources() as $table) {
         $this->fixtures[] = "app." . Inflector::singularize($table);
     }
 }
开发者ID:hiromi2424,项目名称:ninja,代码行数:7,代码来源:fixture_loader_test_case.php

示例6: run

 /**
  * Run
  *
  * @return void
  */
 public function run()
 {
     $null = null;
     $this->db = ConnectionManager::getDataSource($this->connection);
     $this->db->cacheSources = false;
     $this->db->begin($null);
     if (!isset($this->args[0]) || !in_array($this->args[0], array('insert', 'remove'))) {
         $this->out(__d('SoftDelete', 'Invalid option'));
         return $this->_displayHelp(null);
     }
     if (!isset($this->args[1])) {
         $this->out(__d('SoftDelete', 'You missed field name.'));
         return $this->_displayHelp(null);
     }
     try {
         $this->_run($this->args[0], $this->args[1]);
         $this->_clearCache();
     } catch (Exception $e) {
         $this->db->rollback($null);
         throw $e;
     }
     $this->out(__d('SoftDelete', 'All tables are updated.'));
     $this->out('');
     return $this->db->commit($null);
 }
开发者ID:radig,项目名称:SoftDelete,代码行数:30,代码来源:SoftDeleteShell.php

示例7: Migrations

 /**
  * Constructor - checks dependencies and loads the connection
  *
  * @param string $sConnecion The connection from database.php to use. Deafaults to "default"
  * @return void
  */
 function Migrations($sConnection = 'default')
 {
     if (class_exists('Spyc')) {
         $this->bSpycReady = true;
     }
     $this->oDb =& ConnectionManager::getDataSource($sConnection);
 }
开发者ID:gildonei,项目名称:candycane,代码行数:13,代码来源:migrations.php

示例8: setUp

 /**
  * setup method
  *
  * @access public
  * @return void
  */
 public function setUp()
 {
     $this->Dbo = ConnectionManager::getDataSource('test');
     if (!$this->Dbo instanceof Oracle) {
         $this->markTestSkipped('The Oracle extension is not available.');
     }
 }
开发者ID:Nervie,项目名称:Beta,代码行数:13,代码来源:OracleTest.php

示例9: importKeywords

 public function importKeywords()
 {
     $db = ConnectionManager::getDataSource('default');
     $mysqli = new mysqli($db->config['host'], $db->config['login'], $db->config['password'], $db->config['database']);
     $sql = array('links', 'links_keywords');
     foreach (glob('/home/kiang/public_html/news/cache/output/*.json') as $jsonFile) {
         $json = json_decode(file_get_contents($jsonFile), true);
         $newLinkId = String::uuid();
         $json['title'] = $mysqli->real_escape_string(trim($json['title']));
         $json['url'] = $mysqli->real_escape_string($json['url']);
         $json['created'] = date('Y-m-d H:i:s', $json['created_at']);
         $sql['links'][] = "('{$newLinkId}', '{$json['title']}', '{$json['url']}', '{$json['created']}')";
         foreach ($json['keywords'] as $keywordId => $summary) {
             $lkId = String::uuid();
             $summary = $mysqli->real_escape_string(trim($summary));
             $sql['links_keywords'][] = "('{$lkId}', '{$newLinkId}', '{$keywordId}', '{$summary}')";
         }
         unlink($jsonFile);
     }
     if (!empty($sql['links'])) {
         $linksSql = 'INSERT INTO links VALUES ' . implode(',', $sql['links']) . ";\n";
         $lkSql = 'INSERT INTO links_keywords VALUES ' . implode(',', $sql['links_keywords']) . ';';
         file_put_contents(TMP . 'keywords.sql', $linksSql . $lkSql);
     }
 }
开发者ID:parker00811,项目名称:elections,代码行数:25,代码来源:KeywordShell.php

示例10: onActivate

 /**
  * Called after activating the hook in ExtensionsHooksController::admin_toggle()
  *
  * @param object $controller Controller
  * @return void
  */
 function onActivate(&$controller)
 {
     // ACL: set ACOs with permissions
     $controller->Croogo->addAco('NodeSchema');
     // the controller
     $controller->Croogo->addAco('NodeSchema/admin_index');
     // admin methods
     $controller->Croogo->addAco('NodeSchema/admin_add');
     $controller->Croogo->addAco('NodeSchema/admin_edit');
     $controller->Croogo->addAco('NodeSchema/admin_delete');
     $controller->Croogo->addAco('NodeSchema/admin_add_schema_field');
     $controller->Croogo->addAco('NodeSchema/admin_import');
     $controller->Croogo->addAco('NodeSchema/admin_export');
     // Install the database tables we need
     App::Import('CakeSchema');
     $CakeSchema = new CakeSchema();
     $db =& ConnectionManager::getDataSource('default');
     // TODO: How do we change this for installs?
     // A list of schema files to import for this plugin to work
     $schema_files = array('node_schema_fields.php', 'node_schemas.php', 'node_schemas_types.php');
     foreach ($schema_files as $schema_file) {
         $class_name = Inflector::camelize(substr($schema_file, 0, -4)) . 'Schema';
         $table_name = substr($schema_file, 0, -4);
         // Only build the tables if they don't already exist
         if (!in_array($table_name, $db->_sources)) {
             include_once APP . 'plugins' . DS . 'node_schema' . DS . 'config' . DS . 'schema' . DS . $schema_file;
             // Can app import also work here?
             $ActivateSchema = new $class_name();
             $created = false;
             if (isset($ActivateSchema->tables[$table_name])) {
                 $db->execute($db->createSchema($ActivateSchema, $table_name));
             }
         }
     }
 }
开发者ID:hgassen,项目名称:node_schema,代码行数:41,代码来源:node_schema_hook.php

示例11: main

 /**
  * Execute installer!
  *
  * @return void
  */
 public function main()
 {
     $this->out();
     $this->out('Plugin: Forum v' . Configure::read('Forum.version'));
     $this->out('Copyright: Miles Johnson, 2010-' . date('Y'));
     $this->out('Help: http://milesj.me/code/cakephp/forum');
     $this->out();
     $this->out('This shell installs the forum plugin by creating the required database tables,');
     $this->out('setting up the admin user, applying necessary table prefixes, and more.');
     $this->hr(1);
     $this->out('Installation Steps:');
     // Begin installation
     $this->db = ConnectionManager::getDataSource(FORUM_DATABASE);
     $this->steps(1);
     if ($this->usersTable()) {
         $this->steps(2);
         if ($this->checkStatus()) {
             $this->steps(3);
             if ($this->setupAcl()) {
                 $this->steps(4);
                 if ($this->createTables()) {
                     $this->steps(5);
                     if ($this->setupAdmin()) {
                         $this->steps(6);
                         $this->finalize();
                     }
                 }
             }
         }
     }
 }
开发者ID:alescx,项目名称:forum,代码行数:36,代码来源:InstallShell.php

示例12: version

 /**
  * Get or set version info (DB)
  *
  * @param string $extension
  * @param string $newVersion
  */
 public static function version($extension = 'core', $newVersion = null)
 {
     if (SlConfigure::read('Sl.installPending')) {
         return SlConfigure::read('Sl.version');
     }
     if (!SlConfigure::read('Mirror.version')) {
         App::import('Core', 'ConnectionManager');
         $db = @ConnectionManager::getDataSource('default');
         if (!$db->isConnected() || !in_array("{$db->config['prefix']}core_versions", $db->listSources())) {
             if (strpos(Sl::url(false), '/install') === false) {
                 Router::connect(Sl::url(false), array('controller' => 'install'));
             }
             return;
         }
         App::import('Core', 'ClassRegistry');
         ClassRegistry::init('Version')->refreshMirror();
     }
     if ($newVersion) {
         $versionModel = ClassRegistry::init('Version');
         $id = $versionModel->field('Version.id', array('Version.name' => $extension));
         $versionModel->create();
         return $versionModel->save(array('id' => $id, 'name' => $extension, 'version' => $newVersion));
     }
     return SlConfigure::read("Mirror.version.{$extension}");
 }
开发者ID:sandulungu,项目名称:StarLight,代码行数:31,代码来源:sl.php

示例13: _autenticado

 function _autenticado($data)
 {
     if (!empty($data)) {
         // Primero buscamos en CENCOS.
         $db =& ConnectionManager::getDataSource($this->Usuario->useDbConfig);
         $usuario = $this->Usuario->find('first', array('fields' => array('Usuario.Usu_cedula', 'Usuario.Usu_nombre'), 'conditions' => array('Usu_login' => $data['SmuqUsuario']['login'], 'Usu_password' => $db->expression("old_password('" . $data['SmuqUsuario']['clave'] . "')"))));
         if (!empty($usuario)) {
             $this->Session->write('Usuario.cedula', $usuario['Usuario']['Usu_cedula']);
             $this->Session->write('Usuario.nombre', mb_convert_case($usuario['Usuario']['Usu_nombre'], MB_CASE_TITLE, "UTF-8"));
             $this->Session->write('Usuario.id_grupo', 3);
             return true;
         } else {
             $usuario = $this->SmuqUsuario->find('first', array('fields' => array('SmuqUsuario.cedula', 'SmuqUsuario.nombre', 'SmuqUsuario.id_grupo'), 'conditions' => array('SmuqUsuario.activo' => 1, 'SmuqUsuario.login' => strtolower($data['SmuqUsuario']['login']), 'SmuqUsuario.clave' => Security::hash($data['SmuqUsuario']['clave'], null, true))));
             if (!empty($usuario)) {
                 $this->Session->write('Usuario.cedula', $usuario['SmuqUsuario']['cedula']);
                 $this->Session->write('Usuario.nombre', $usuario['SmuqUsuario']['nombre']);
                 $this->Session->write('Usuario.id_grupo', $usuario['SmuqUsuario']['id_grupo']);
                 return true;
             } else {
                 $this->Session->delete('Usuario.cedula');
                 $this->Session->delete('Usuario.nombre');
                 $this->Session->delete('Usuario.id_grupo');
             }
         }
     }
     return false;
 }
开发者ID:hongo-de-yuggoth,项目名称:SIMAU,代码行数:27,代码来源:smuq_usuarios_controller.php

示例14: resetDepths

 /**
  * resetDepths method
  *
  * Adding single table update. Typically ~20 times faster than using a loop
  *
  * @param mixed $id
  * @return void
  * @access public
  */
 function resetDepths(&$Model, $id = null)
 {
     if (!$id) {
         $table = $Model->table;
         $Model->query("UPDATE {$table} SET depth = (\n\t\t\t\tSELECT wrapper.parents FROM (\n\t\t\t\t\tSELECT\n\t\t\t\t\t\tthis.id as row,\n\t\t\t\t\t\tCOUNT(parent.id) as parents\n\t\t\t\t\tFROM\n\t\t\t\t\t\t{$table} AS this\n\t\t\t\t\tLEFT JOIN {$table} AS parent ON (\n\t\t\t\t\t\tparent.lft < this.lft AND\n\t\t\t\t\t\tparent.rght > this.rght)\n\t\t\t\t\tGROUP BY\n\t\t\t\t\t\tthis.id\n\t\t\t\t) AS wrapper WHERE wrapper.row = {$table}.id)");
         $db =& ConnectionManager::getDataSource($Model->useDbConfig);
         if (!$db->error) {
             return true;
         }
         $max = ini_get('max_execution_time');
         if ($max) {
             set_time_limit(max($Model->find('count') / 10), 30);
         }
         $Model->updateAll(array('depth' => 0));
         $Model->displayField = 'id';
         $nodes = $Model->find('list', compact('conditions'));
         foreach ($nodes as $id => $_) {
             $Model->resetDepths($id);
         }
         return true;
     }
     $Model->id = $id;
     $path = $Model->getPath($id, array('id'));
     $Model->saveField('depth', count($path));
     return true;
 }
开发者ID:hiromi2424,项目名称:mi,代码行数:35,代码来源:tree_plus.php

示例15: run

 public function run($data)
 {
     if (array_key_exists('search', $data) && !empty($data['search'])) {
         $search = $data['search'];
         $this->Twitter = ConnectionManager::getDataSource('twitter');
         switch ($search) {
             default:
                 $this->getSearchResults($search);
                 $nextUpdate = '+30 Minutes';
                 break;
             case '*global*':
                 $this->getGlobal($search);
                 $nextUpdate = '+5 Minutes';
                 break;
         }
         //check if there is already a task for this term.
         $findConf = array('conditions' => array('fetched' => null, 'data LIKE' => '%' . $search . '%'));
         $alreadyPresent = $this->QueuedTask->find('count', $findConf);
         if ($alreadyPresent == false) {
             if ($this->QueuedTask->createJob('twitterscrape', array('search' => $search), $nextUpdate)) {
                 $this->out('Searchterm update Queued');
             } else {
                 $this->err('Could not create Twitterscrape Job.');
             }
         } else {
             $this->err('There seems to be another job queued for this term, job not requeued.');
         }
         return true;
     } else {
         $this->out('No Search term found, Cancelling');
         // return true so the task does NOT get requeued.
         return true;
     }
 }
开发者ID:kondrat,项目名称:chat,代码行数:34,代码来源:queue_twitterscrape.php


注:本文中的ConnectionManager::getDataSource方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。