Skip to content

Instantly share code, notes, and snippets.

@chregu
Created May 31, 2011 19:06
Show Gist options
  • Save chregu/1001074 to your computer and use it in GitHub Desktop.
Save chregu/1001074 to your computer and use it in GitHub Desktop.
<?php
$start = microtime(true);
include('./src/Jackalope/autoloader.php');
function getJRSession($name="default") {
global $start;
$server = "http://127.0.0.1:8080/server";
$user = 'admin';
$pass = 'admin';
$workspace = 'default';
// var_dump(__LINE__ .":".(microtime(true)- $start)* 1000);
$cred = new \PHPCR\SimpleCredentials($user, $pass);
// // var_dump(__LINE__ .":".(microtime(true)- $start)* 1000);
$factory = new Jackalope\Factory();
// var_dump(__LINE__ .":".(microtime(true)- $start)* 1000);
$transport = $factory->get('Transport\Davex\Client', array($server));
// var_dump(__LINE__ .":".(microtime(true)- $start)* 1000);
$transport->addDefaultHeader("X-Jackalope-Session: " . rand(0,1000));
// var_dump(__LINE__ .":".(microtime(true)- $start)* 1000);
$repo = new \Jackalope\Repository($factory, null, $transport);
// var_dump(__LINE__ .":".(microtime(true)- $start)* 1000);
$sess = $repo->login($cred, $workspace);
// var_dump(__LINE__ .":".(microtime(true)- $start)* 1000);
return $sess;
}
$sess = getJRSession();
$nr = $sess->getWorkspace()->getNamespaceRegistry();
// var_dump(__LINE__ .":".(microtime(true)- $start)* 1000);
$root=$sess->getRootNode();
// var_dump(__LINE__ .":".(microtime(true)- $start)* 1000);
$qm = $sess->getWorkspace()->getQueryManager();
// var_dump(__LINE__ .":".(microtime(true)- $start)* 1000);
$q = $qm->createQuery("SELECT * FROM [nt:unstructured]",\PHPCR\Query\QueryInterface::JCR_SQL2);
// var_dump(__LINE__ .":".(microtime(true)- $start)* 1000);
$qr = $q->execute();
// var_dump(__LINE__ .":".(microtime(true)- $start)* 1000);
$i=0;
foreach ($qr->getNodes() as $n) {
print $i++;
print ($n->getName()) ."\n";
if ($i == 3)
{
die();
} // var_dump(__LINE__ .":".(microtime(true)- $start)* 1000);
}
// var_dump(__LINE__ .":".(microtime(true)- $start)* 1000);
//$vm = $sess->getWorkspace()->getVersionManager();
/*$sess->getItem("/bar")->addMixin("mix:simpleVersionable");
$sess->save();*/
//$vm->checkout("/foo");
//var_Dump($vm->checkin("/foo")->getName());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment