/** * Gets the user based on it's ID * * @param $email string the email of the user * @return mixed the User that is in the database * -1 the user doesn't exist * -2 connection problem */ public function getUserByEmail($email) { // Creating a CPS_Simple instance $cpsSimple = new \CPS_Simple($this->cpsConn); $query = CPS_Term($email, 'email'); $list = array('id' => 'yes'); try { $documents = $cpsSimple->search($query, NULL, NULL, $list); } catch (Exception $e) { return -2; } foreach ($documents as $id => $document) { return Converter::XML2Array($document); } return -1; }
<?php // includes require_once 'config.php'; require_once '../cps_simple.php'; try { // creating a CPS_Connection instance $cpsConnection = new CPS_Connection($config['connection'], $config['database'], $config['username'], $config['password'], 'document', '//document/id', array('account' => $config['account'])); // creating a CPS_Simple instance $cpsSimple = new CPS_Simple($cpsConnection); // looking up one document - listing only the name $document = $cpsSimple->lookupSingle('id1', array('document' => 'no', 'name' => 'yes')); echo $document->name . '<br />'; // looking up multiple documents - listing only the name $documents = $cpsSimple->lookupMultiple(array('id2', 'id3'), array('document' => 'no', 'name' => 'yes')); foreach ($documents as $id => $document) { echo $document->name . '<br />'; } } catch (CPS_Exception $e) { var_dump($e->errors()); exit; }
<?php // includes require_once 'config.php'; require_once '../cps_simple.php'; try { // creating a CPS_Connection instance $cpsConnection = new CPS_Connection($config['connection'], $config['database'], $config['username'], $config['password'], 'document', '//document/id', array('account' => $config['account'])); // creating a CPS_Simple instance $cpsSimple = new CPS_Simple($cpsConnection); // search for items with category == 'cars' and car_params/year >= 2010 $query = CPS_Term('cars', 'category') . CPS_Term('>=2010', 'car_params/year'); // return documents starting with the first one - offset 0 $offset = 0; // return not more than 5 documents $docs = 5; // return these fields from the documents $list = array('id' => 'yes', 'car_params/make' => 'yes', 'car_params/model' => 'yes', 'car_params/year' => 'yes'); // order by year, from largest to smallest $ordering = CPS_NumericOrdering('car_params/year', 'descending'); $documents = $cpsSimple->search($query, $offset, $docs, $list, $ordering); foreach ($documents as $id => $document) { echo $document->car_params->make . ' ' . $document->car_params->model . '<br />'; echo 'first registration in ' . $document->car_params->year . '<br />'; } } catch (CPS_Exception $e) { var_dump($e->errors()); exit; }
<?php // includes require_once 'config.php'; require_once '../cps_simple.php'; try { // creating a CPS_Connection instance $cpsConnection = new CPS_Connection($config['connection'], $config['database'], $config['username'], $config['password'], 'document', '//document/id', array('account' => $config['account'])); // creating a CPS_Simple instance $cpsSimple = new CPS_Simple($cpsConnection); // looking up 10 last documents - list only the name $documents = $cpsSimple->listLast(array('document' => 'no', 'name' => 'yes'), 0, 10); foreach ($documents as $id => $document) { echo $document->name . '<br />'; } } catch (CPS_Exception $e) { var_dump($e->errors()); exit; }
<?php // includes require_once 'config.php'; require_once '../cps_simple.php'; try { // creating a CPS_Connection instance $cpsConnection = new CPS_Connection($config['connection'], $config['database'], $config['username'], $config['password'], 'document', '//document/id', array('account' => $config['account'])); $cpsSimple = new CPS_Simple($cpsConnection); // Insert 2 documents with balance $cpsSimple->updateMultiple(array("1" => array("balance" => 1000), "2" => array("balance" => 1000))); // Begin transaction $cpsSimple->beginTransaction(); $docs = $cpsSimple->retrieveMultiple(array("1", "2"), DOC_TYPE_ARRAY); echo "Before update:\n"; foreach ($docs as $doc) { echo $doc['id'] . ": " . $doc['balance'] . "\n"; } // Increase balance and store in database $docs["1"]["balance"] -= 5; $docs["2"]["balance"] += 5; $cpsSimple->updateMultiple($docs); $docs = $cpsSimple->retrieveMultiple(array("1", "2"), DOC_TYPE_ARRAY); echo "After update:\n"; foreach ($docs as $doc) { echo $doc['id'] . ": " . $doc['balance'] . "\n"; } // Commit transaction $cpsSimple->commitTransaction(); $docs = $cpsSimple->retrieveMultiple(array("1", "2"), DOC_TYPE_ARRAY); echo "After commit:\n";
<?php // includes require_once 'config.php'; require_once '../cps_simple.php'; try { // creating a CPS_Connection instance $cpsConnection = new CPS_Connection($config['connection'], $config['database'], $config['username'], $config['password'], 'document', '//document/id', array('account' => $config['account'])); // creating a CPS_Simple instance $cpsSimple = new CPS_Simple($cpsConnection); // retrieving paths $paths = $cpsSimple->listPaths(); foreach ($paths as $path) { echo $path . '<br>'; } } catch (CPS_Exception $e) { var_dump($e->errors()); exit; }
<?php // includes require_once 'config.php'; require_once '../cps_simple.php'; try { // creating a CPS_Connection instance $cpsConnection = new CPS_Connection($config['connection'], $config['database'], $config['username'], $config['password'], 'document', '//document/id', array('account' => $config['account'])); // creating a CPS_Simple instance $cpsSimple = new CPS_Simple($cpsConnection); // deleting one document $cpsSimple->delete('id1'); // deleting multiple documents $cpsSimple->delete(array('id2', 'id3')); } catch (CPS_Exception $e) { var_dump($e->errors()); exit; }
<?php // includes require_once 'config.php'; require_once '../cps_simple.php'; try { // creating a CPS_Connection instance $cpsConnection = new CPS_Connection($config['connection'], $config['database'], $config['username'], $config['password'], 'document', '//document/id', array('account' => $config['account'])); // creating a CPS_Simple instance $cpsSimple = new CPS_Simple($cpsConnection); // retrieve 10 first documents $documents = $cpsSimple->retrieveFirst(0, 10); foreach ($documents as $id => $document) { echo $document->name . '<br />'; } } catch (CPS_Exception $e) { var_dump($e->errors()); exit; }
<?php // includes require_once 'config.php'; require_once '../cps_simple.php'; try { // creating a CPS_Connection instance $cpsConnection = new CPS_Connection($config['connection'], $config['database'], $config['username'], $config['password'], 'document', '//document/id', array('account' => $config['account'])); // creating a CPS_Simple instance $cpsSimple = new CPS_Simple($cpsConnection); // retrieving one document $document = $cpsSimple->retrieveSingle('id1'); echo $document->name . '<br />'; // retrieving multiple documents - listing only the name $documents = $cpsSimple->retrieveMultiple(array('id2', 'id3')); foreach ($documents as $id => $document) { echo $document->name . '<br />'; } } catch (CPS_Exception $e) { var_dump($e->errors()); exit; }
<?php // includes require_once 'config.php'; require_once '../cps_simple.php'; try { // creating a CPS_Connection instance $cpsConnection = new CPS_Connection($config['connection'], $config['database'], $config['username'], $config['password'], 'document', '//document/id', array('account' => $config['account'])); // creating a CPS_Simple instance $cpsSimple = new CPS_Simple($cpsConnection); // creating a new document $document = array('title' => 'Test document', 'body' => array('text' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam a nisl magna.')); $document2 = array('title' => 'Document 2', 'body' => array('text' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam a nisl magna.')); $document3 = array('title' => 'Document 3', 'body' => array('text' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam a nisl magna.')); // Insert $cpsSimple->insertSingle('id1', $document); $cpsSimple->insertMultiple(array('id2' => $document2, 'id3' => $document3)); // Update $document['title'] = 'changed title'; $cpsSimple->updateSingle('id1', $document); $cpsSimple->updateMultiple(array('id1' => $document, 'id3' => $document3)); // Replace $document['title'] = 'changed title for replace'; $cpsSimple->replaceSingle('id1', $document); $cpsSimple->replaceMultiple(array('id1' => $document, 'id3' => $document3)); // Partial Replace $document = array('title' => 'original title'); $cpsSimple->partialReplaceSingle('id1', $document); $cpsSimple->partialreplaceMultiple(array('id1' => $document, 'id3' => $document3)); } catch (CPS_Exception $e) { var_dump($e->errors());
<?php // includes require_once 'config.php'; require_once '../cps_simple.php'; try { // creating a CPS_Connection instance $cpsConnection = new CPS_Connection($config['connection'], $config['database'], $config['username'], $config['password'], 'document', '//document/id', array('account' => $config['account'])); // creating a CPS_Simple instance $cpsSimple = new CPS_Simple($cpsConnection); // retrieving status $status = $cpsSimple->status(); foreach ($status['shard'] as $shard) { foreach ($shard['replica'] as $replica) { echo 'Status ' . $replica['status']['index']['status'] . ' <br>'; } } } catch (CPS_Exception $e) { var_dump($e->errors()); exit; }
<?php // includes require_once 'cps_simple.php'; try { // creating a CPS_Connection instance // if using HMAC keys, USERNAME and PASSWORD can be left empty $cpsConnection = new CPS_Connection("tcp://ENDPOINT_IP:PORT", "DATABASE", "USERNAME", "PASSWORD", "document", "//document/id", array("account" => "ACCOUNTID")); // setting HMAC keys, comment out is and standard username/password will be used $cpsConnection->setHMACKeys("USERKEY", "SIGNKEY"); // uncomment this, if you would like to see request/response and verify, that username and password is not set //$cpsConnection->setDebug(true); // perform status command $cpsSimple = new CPS_Simple($cpsConnection); echo "Status response:\n"; var_dump($cpsSimple->status()); } catch (CPS_Exception $e) { var_dump($e->errors()); exit; }