Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64
Apache
: 172.26.7.228 | : 18.216.32.251
Cant Read [ /etc/named.conf ]
5.6.40-24+ubuntu18.04.1+deb.sury.org+1
www-data
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
var /
www /
html /
ibm /
libs /
adodb5 /
tests /
[ HOME SHELL ]
Name
Size
Permission
Action
benchmark.php
2.11
KB
-rwxr-xr-x
client.php
4.06
KB
-rwxr-xr-x
pdo.php
1.69
KB
-rwxr-xr-x
test-active-record.php
4.6
KB
-rwxr-xr-x
test-active-recs2.php
1.41
KB
-rwxr-xr-x
test-active-relations.php
2.97
KB
-rwxr-xr-x
test-active-relationsx.php
24.45
KB
-rwxr-xr-x
test-datadict.php
7.53
KB
-rwxr-xr-x
test-perf.php
897
B
-rwxr-xr-x
test-pgblob.php
1.99
KB
-rwxr-xr-x
test-php5.php
2.57
KB
-rwxr-xr-x
test-xmlschema.php
1.27
KB
-rwxr-xr-x
test.php
54.96
KB
-rwxr-xr-x
test2.php
566
B
-rwxr-xr-x
test3.php
993
B
-rwxr-xr-x
test4.php
4.64
KB
-rwxr-xr-x
test5.php
1.43
KB
-rwxr-xr-x
test_rs_array.php
677
B
-rwxr-xr-x
testcache.php
887
B
-rwxr-xr-x
testdatabases.inc.php
18.59
KB
-rwxr-xr-x
testgenid.php
723
B
-rwxr-xr-x
testmssql.php
2.06
KB
-rwxr-xr-x
testoci8.php
2.39
KB
-rwxr-xr-x
testoci8cursor.php
2.96
KB
-rwxr-xr-x
testpaging.php
2.33
KB
-rwxr-xr-x
testpear.php
954
B
-rwxr-xr-x
testsessions.php
2.54
KB
-rwxr-xr-x
time.php
513
B
-rwxr-xr-x
tmssql.php
1.83
KB
-rwxr-xr-x
xmlschema-mssql.xml
832
B
-rwxr-xr-x
xmlschema.xml
961
B
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : test-active-relationsx.php
<?php global $err_count; $err_count = 0; function found($obj, $cond) { $res = var_export($obj, true); return (strpos($res, $cond)); } function notfound($obj, $cond) { return !found($obj, $cond); } function ar_assert($bool) { global $err_count; if(!$bool) $err_count ++; return $bool; } define('WEB', true); function ar_echo($txt) { if(WEB) $txt = str_replace("\n", "<br />\n", $txt); echo $txt; } include_once('../adodb.inc.php'); include_once('../adodb-active-recordx.inc.php'); $db = NewADOConnection('mysql://root@localhost/test'); $db->debug=0; ADOdb_Active_Record::SetDatabaseAdapter($db); ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n"); ar_echo("Preparing database using SQL queries (creating 'people', 'children')\n"); $db->Execute("DROP TABLE `people`"); $db->Execute("DROP TABLE `children`"); $db->Execute("DROP TABLE `artists`"); $db->Execute("DROP TABLE `songs`"); $db->Execute("CREATE TABLE `people` ( `id` int(10) unsigned NOT NULL auto_increment, `name_first` varchar(100) NOT NULL default '', `name_last` varchar(100) NOT NULL default '', `favorite_color` varchar(100) NOT NULL default '', PRIMARY KEY (`id`) ) ENGINE=MyISAM; "); $db->Execute("CREATE TABLE `children` ( `person_id` int(10) unsigned NOT NULL, `name_first` varchar(100) NOT NULL default '', `name_last` varchar(100) NOT NULL default '', `favorite_pet` varchar(100) NOT NULL default '', `id` int(10) unsigned NOT NULL auto_increment, PRIMARY KEY (`id`) ) ENGINE=MyISAM; "); $db->Execute("CREATE TABLE `artists` ( `name` varchar(100) NOT NULL default '', `artistuniqueid` int(10) unsigned NOT NULL auto_increment, PRIMARY KEY (`artistuniqueid`) ) ENGINE=MyISAM; "); $db->Execute("CREATE TABLE `songs` ( `name` varchar(100) NOT NULL default '', `artistid` int(10) NOT NULL, `recordid` int(10) unsigned NOT NULL auto_increment, PRIMARY KEY (`recordid`) ) ENGINE=MyISAM; "); $db->Execute("insert into children (person_id,name_first,name_last,favorite_pet) values (1,'Jill','Lim','tortoise')"); $db->Execute("insert into children (person_id,name_first,name_last) values (1,'Joan','Lim')"); $db->Execute("insert into children (person_id,name_first,name_last) values (1,'JAMIE','Lim')"); $db->Execute("insert into artists (artistuniqueid, name) values(1,'Elvis Costello')"); $db->Execute("insert into songs (recordid, name, artistid) values(1,'No Hiding Place', 1)"); $db->Execute("insert into songs (recordid, name, artistid) values(2,'American Gangster Time', 1)"); // This class _implicitely_ relies on the 'people' table (pluralized form of 'person') class Person extends ADOdb_Active_Record { function __construct() { parent::__construct(); $this->hasMany('children'); } } // This class _implicitely_ relies on the 'children' table class Child extends ADOdb_Active_Record { function __construct() { parent::__construct(); $this->belongsTo('person'); } } // This class _explicitely_ relies on the 'children' table and shares its metadata with Child class Kid extends ADOdb_Active_Record { function __construct() { parent::__construct('children'); $this->belongsTo('person'); } } // This class _explicitely_ relies on the 'children' table but does not share its metadata class Rugrat extends ADOdb_Active_Record { function __construct() { parent::__construct('children', false, false, array('new' => true)); } } class Artist extends ADOdb_Active_Record { function __construct() { parent::__construct('artists', array('artistuniqueid')); $this->hasMany('songs', 'artistid'); } } class Song extends ADOdb_Active_Record { function __construct() { parent::__construct('songs', array('recordid')); $this->belongsTo('artist', 'artistid'); } } ar_echo("Inserting person in 'people' table ('John Lim, he likes lavender')\n"); ar_echo("-------------------------------------------------------------------------------------------------------------------\n"); $person = new Person(); $person->name_first = 'John'; $person->name_last = 'Lim'; $person->favorite_color = 'lavender'; $person->save(); // this save will perform an INSERT successfully $person = new Person(); $person->name_first = 'Lady'; $person->name_last = 'Cat'; $person->favorite_color = 'green'; $person->save(); $child = new Child(); $child->name_first = 'Fluffy'; $child->name_last = 'Cat'; $child->favorite_pet = 'Cat Lady'; $child->person_id = $person->id; $child->save(); $child = new Child(); $child->name_first = 'Sun'; $child->name_last = 'Cat'; $child->favorite_pet = 'Cat Lady'; $child->person_id = $person->id; $child->save(); $err_count = 0; ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n"); ar_echo("person->Find('id=1') [Lazy Method]\n"); ar_echo("person is loaded but its children will be loaded on-demand later on\n"); ar_echo("-------------------------------------------------------------------------------------------------------------------\n"); $person = new Person(); $people = $person->Find('id=1'); ar_echo((ar_assert(found($people, "'name_first' => 'John'"))) ? "[OK] Found John\n" : "[!!] Find failed\n"); ar_echo((ar_assert(notfound($people, "'favorite_pet' => 'tortoise'"))) ? "[OK] No relation yet\n" : "[!!] Found relation when I shouldn't\n"); ar_echo("\n-- Lazily Loading Children:\n\n"); foreach($people as $aperson) { foreach($aperson->children as $achild) { if($achild->name_first); } } ar_echo((ar_assert(found($people, "'favorite_pet' => 'tortoise'"))) ? "[OK] Found relation: child\n" : "[!!] Missing relation: child\n"); ar_echo((ar_assert(found($people, "'name_first' => 'Joan'"))) ? "[OK] Found Joan\n" : "[!!] Find failed\n"); ar_echo((ar_assert(found($people, "'name_first' => 'JAMIE'"))) ? "[OK] Found JAMIE\n" : "[!!] Find failed\n"); ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n"); ar_echo("person->Find('id=1' ... ADODB_WORK_AR) [Worker Method]\n"); ar_echo("person is loaded, and so are its children\n"); ar_echo("-------------------------------------------------------------------------------------------------------------------\n"); $person = new Person(); $people = $person->Find('id=1', false, false, array('loading' => ADODB_WORK_AR)); ar_echo((ar_assert(found($people, "'name_first' => 'John'"))) ? "[OK] Found John\n" : "[!!] Find failed\n"); ar_echo((ar_assert(found($people, "'favorite_pet' => 'tortoise'"))) ? "[OK] Found relation: child\n" : "[!!] Missing relation: child\n"); ar_echo((ar_assert(found($people, "'name_first' => 'Joan'"))) ? "[OK] Found Joan\n" : "[!!] Find failed\n"); ar_echo((ar_assert(found($people, "'name_first' => 'JAMIE'"))) ? "[OK] Found JAMIE\n" : "[!!] Find failed\n"); ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n"); ar_echo("person->Find('id=1' ... ADODB_JOIN_AR) [Join Method]\n"); ar_echo("person and its children are loaded using a single query\n"); ar_echo("-------------------------------------------------------------------------------------------------------------------\n"); $person = new Person(); // When I specifically ask for a join, I have to specify which table id I am looking up // otherwise the SQL parser will wonder which table's id that would be. $people = $person->Find('people.id=1', false, false, array('loading' => ADODB_JOIN_AR)); ar_echo((ar_assert(found($people, "'name_first' => 'John'"))) ? "[OK] Found John\n" : "[!!] Find failed\n"); ar_echo((ar_assert(found($people, "'favorite_pet' => 'tortoise'"))) ? "[OK] Found relation: child\n" : "[!!] Missing relation: child\n"); ar_echo((ar_assert(found($people, "'name_first' => 'Joan'"))) ? "[OK] Found Joan\n" : "[!!] Find failed\n"); ar_echo((ar_assert(found($people, "'name_first' => 'JAMIE'"))) ? "[OK] Found JAMIE\n" : "[!!] Find failed\n"); ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n"); ar_echo("person->Load('people.id=1') [Join Method]\n"); ar_echo("Load() always uses the join method since it returns only one row\n"); ar_echo("-------------------------------------------------------------------------------------------------------------------\n"); $person = new Person(); // Under the hood, Load(), since it returns only one row, always perform a join // Therefore we need to clarify which id we are talking about. $person->Load('people.id=1'); ar_echo((ar_assert(found($person, "'name_first' => 'John'"))) ? "[OK] Found John\n" : "[!!] Find failed\n"); ar_echo((ar_assert(found($person, "'favorite_pet' => 'tortoise'"))) ? "[OK] Found relation: child\n" : "[!!] Missing relation: child\n"); ar_echo((ar_assert(found($person, "'name_first' => 'Joan'"))) ? "[OK] Found Joan\n" : "[!!] Find failed\n"); ar_echo((ar_assert(found($person, "'name_first' => 'JAMIE'"))) ? "[OK] Found JAMIE\n" : "[!!] Find failed\n"); ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n"); ar_echo("child->Load('children.id=1') [Join Method]\n"); ar_echo("We are now loading from the 'children' table, not from 'people'\n"); ar_echo("-------------------------------------------------------------------------------------------------------------------\n"); $child = new Child(); $child->Load('children.id=1'); ar_echo((ar_assert(found($child, "'name_first' => 'Jill'"))) ? "[OK] Found Jill\n" : "[!!] Find failed\n"); ar_echo((ar_assert(found($child, "'favorite_color' => 'lavender'"))) ? "[OK] Found relation: person\n" : "[!!] Missing relation: person\n"); ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n"); ar_echo("child->Find('children.id=1' ... ADODB_WORK_AR) [Worker Method]\n"); ar_echo("-------------------------------------------------------------------------------------------------------------------\n"); $child = new Child(); $children = $child->Find('id=1', false, false, array('loading' => ADODB_WORK_AR)); ar_echo((ar_assert(found($children, "'name_first' => 'Jill'"))) ? "[OK] Found Jill\n" : "[!!] Find failed\n"); ar_echo((ar_assert(found($children, "'favorite_color' => 'lavender'"))) ? "[OK] Found relation: person\n" : "[!!] Missing relation: person\n"); ar_echo((ar_assert(notfound($children, "'name_first' => 'Joan'"))) ? "[OK] No Joan relation\n" : "[!!] Find failed\n"); ar_echo((ar_assert(notfound($children, "'name_first' => 'JAMIE'"))) ? "[OK] No JAMIE relation\n" : "[!!] Find failed\n"); ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n"); ar_echo("kid->Find('children.id=1' ... ADODB_WORK_AR) [Worker Method]\n"); ar_echo("Where we see that kid shares relationships with child because they are stored\n"); ar_echo("in the common table's metadata structure.\n"); ar_echo("-------------------------------------------------------------------------------------------------------------------\n"); $kid = new Kid('children'); $kids = $kid->Find('children.id=1', false, false, array('loading' => ADODB_WORK_AR)); ar_echo((ar_assert(found($kids, "'name_first' => 'Jill'"))) ? "[OK] Found Jill\n" : "[!!] Find failed\n"); ar_echo((ar_assert(found($kids, "'favorite_color' => 'lavender'"))) ? "[OK] Found relation: person\n" : "[!!] Missing relation: person\n"); ar_echo((ar_assert(notfound($kids, "'name_first' => 'Joan'"))) ? "[OK] No Joan relation\n" : "[!!] Find failed\n"); ar_echo((ar_assert(notfound($kids, "'name_first' => 'JAMIE'"))) ? "[OK] No JAMIE relation\n" : "[!!] Find failed\n"); ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n"); ar_echo("kid->Find('children.id=1' ... ADODB_LAZY_AR) [Lazy Method]\n"); ar_echo("Of course, lazy loading also retrieve medata information...\n"); ar_echo("-------------------------------------------------------------------------------------------------------------------\n"); $kid = new Kid('children'); $kids = $kid->Find('children.id=1', false, false, array('loading' => ADODB_LAZY_AR)); ar_echo((ar_assert(found($kids, "'name_first' => 'Jill'"))) ? "[OK] Found Jill\n" : "[!!] Find failed\n"); ar_echo((ar_assert(notfound($kids, "'favorite_color' => 'lavender'"))) ? "[OK] No relation yet\n" : "[!!] Found relation when I shouldn't\n"); ar_echo("\n-- Lazily Loading People:\n\n"); foreach($kids as $akid) { if($akid->person); } ar_echo((ar_assert(found($kids, "'favorite_color' => 'lavender'"))) ? "[OK] Found relation: person\n" : "[!!] Missing relation: person\n"); ar_echo((ar_assert(notfound($kids, "'name_first' => 'Joan'"))) ? "[OK] No Joan relation\n" : "[!!] Found relation when I shouldn't\n"); ar_echo((ar_assert(notfound($kids, "'name_first' => 'JAMIE'"))) ? "[OK] No JAMIE relation\n" : "[!!] Found relation when I shouldn't\n"); ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n"); ar_echo("rugrat->Find('children.id=1' ... ADODB_WORK_AR) [Worker Method]\n"); ar_echo("In rugrat's constructor it is specified that\nit must forget any existing relation\n"); ar_echo("-------------------------------------------------------------------------------------------------------------------\n"); $rugrat = new Rugrat('children'); $rugrats = $rugrat->Find('children.id=1', false, false, array('loading' => ADODB_WORK_AR)); ar_echo((ar_assert(found($rugrats, "'name_first' => 'Jill'"))) ? "[OK] Found Jill\n" : "[!!] Find failed\n"); ar_echo((ar_assert(notfound($rugrats, "'favorite_color' => 'lavender'"))) ? "[OK] No relation found\n" : "[!!] Found relation when I shouldn't\n"); ar_echo((ar_assert(notfound($rugrats, "'name_first' => 'Joan'"))) ? "[OK] No Joan relation\n" : "[!!] Found relation when I shouldn't\n"); ar_echo((ar_assert(notfound($rugrats, "'name_first' => 'JAMIE'"))) ? "[OK] No JAMIE relation\n" : "[!!] Found relation when I shouldn't\n"); ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n"); ar_echo("kid->Find('children.id=1' ... ADODB_WORK_AR) [Worker Method]\n"); ar_echo("Note how only rugrat forgot its relations - kid is fine.\n"); ar_echo("-------------------------------------------------------------------------------------------------------------------\n"); $kid = new Kid('children'); $kids = $kid->Find('children.id=1', false, false, array('loading' => ADODB_WORK_AR)); ar_echo((ar_assert(found($kids, "'name_first' => 'Jill'"))) ? "[OK] Found Jill\n" : "[!!] Find failed\n"); ar_echo((ar_assert(found($kids, "'favorite_color' => 'lavender'"))) ? "[OK] I did not forget relation: person\n" : "[!!] I should not have forgotten relation: person\n"); ar_echo((ar_assert(notfound($kids, "'name_first' => 'Joan'"))) ? "[OK] No Joan relation\n" : "[!!] Found relation when I shouldn't\n"); ar_echo((ar_assert(notfound($kids, "'name_first' => 'JAMIE'"))) ? "[OK] No JAMIE relation\n" : "[!!] Found relation when I shouldn't\n"); ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n"); ar_echo("rugrat->Find('children.id=1' ... ADODB_WORK_AR) [Worker Method]\n"); ar_echo("-------------------------------------------------------------------------------------------------------------------\n"); $rugrat = new Rugrat('children'); $rugrats = $rugrat->Find('children.id=1', false, false, array('loading' => ADODB_WORK_AR)); $arugrat = $rugrats[0]; ar_echo((ar_assert(found($arugrat, "'name_first' => 'Jill'"))) ? "[OK] Found Jill\n" : "[!!] Find failed\n"); ar_echo((ar_assert(notfound($arugrat, "'favorite_color' => 'lavender'"))) ? "[OK] No relation yet\n" : "[!!] Found relation when I shouldn't\n"); ar_echo("\n-- Loading relations:\n\n"); $arugrat->belongsTo('person'); $arugrat->LoadRelations('person', 'order by id', 0, 2); ar_echo((ar_assert(found($arugrat, "'favorite_color' => 'lavender'"))) ? "[OK] Found relation: person\n" : "[!!] Missing relation: person\n"); ar_echo((ar_assert(found($arugrat, "'name_first' => 'Jill'"))) ? "[OK] Found Jill\n" : "[!!] Find failed\n"); ar_echo((ar_assert(notfound($arugrat, "'name_first' => 'Joan'"))) ? "[OK] No Joan relation\n" : "[!!] Found relation when I shouldn't\n"); ar_echo((ar_assert(notfound($arugrat, "'name_first' => 'JAMIE'"))) ? "[OK] No Joan relation\n" : "[!!] Found relation when I shouldn't\n"); ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n"); ar_echo("person->Find('1=1') [Lazy Method]\n"); ar_echo("And now for our finale...\n"); ar_echo("-------------------------------------------------------------------------------------------------------------------\n"); $person = new Person(); $people = $person->Find('1=1', false, false, array('loading' => ADODB_LAZY_AR)); ar_echo((ar_assert(found($people, "'name_first' => 'John'"))) ? "[OK] Found John\n" : "[!!] Find failed\n"); ar_echo((ar_assert(notfound($people, "'favorite_pet' => 'tortoise'"))) ? "[OK] No relation yet\n" : "[!!] Found relation when I shouldn't\n"); ar_echo((ar_assert(notfound($people, "'name_first' => 'Fluffy'"))) ? "[OK] No Fluffy yet\n" : "[!!] Found Fluffy relation when I shouldn't\n"); ar_echo("\n-- Lazily Loading Everybody:\n\n"); foreach($people as $aperson) { foreach($aperson->children as $achild) { if($achild->name_first); } } ar_echo((ar_assert(found($people, "'favorite_pet' => 'tortoise'"))) ? "[OK] Found relation: child\n" : "[!!] Missing relation: child\n"); ar_echo((ar_assert(found($people, "'name_first' => 'Joan'"))) ? "[OK] Found Joan\n" : "[!!] Find failed\n"); ar_echo((ar_assert(found($people, "'name_first' => 'JAMIE'"))) ? "[OK] Found JAMIE\n" : "[!!] Find failed\n"); ar_echo((ar_assert(found($people, "'name_first' => 'Lady'"))) ? "[OK] Found Cat Lady\n" : "[!!] Find failed\n"); ar_echo((ar_assert(found($people, "'name_first' => 'Fluffy'"))) ? "[OK] Found Fluffy\n" : "[!!] Find failed\n"); ar_echo((ar_assert(found($people, "'name_first' => 'Sun'"))) ? "[OK] Found Sun\n" : "[!!] Find failed\n"); ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n"); ar_echo("artist->Load('artistuniqueid=1') [Join Method]\n"); ar_echo("Yes, we are dabbling in the musical field now..\n"); ar_echo("-------------------------------------------------------------------------------------------------------------------\n"); $artist = new Artist(); $artist->Load('artistuniqueid=1'); ar_echo((ar_assert(found($artist, "'name' => 'Elvis Costello'"))) ? "[OK] Found Elvis Costello\n" : "[!!] Find failed\n"); ar_echo((ar_assert(found($artist, "'name' => 'No Hiding Place'"))) ? "[OK] Found relation: song\n" : "[!!] Missing relation: song\n"); ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n"); ar_echo("song->Load('recordid=1') [Join Method]\n"); ar_echo("-------------------------------------------------------------------------------------------------------------------\n"); $song = new Song(); $song->Load('recordid=1'); ar_echo((ar_assert(found($song, "'name' => 'No Hiding Place'"))) ? "[OK] Found song\n" : "[!!] Find failed\n"); ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n"); ar_echo("artist->Find('artistuniqueid=1' ... ADODB_JOIN_AR) [Join Method]\n"); ar_echo("-------------------------------------------------------------------------------------------------------------------\n"); $artist = new Artist(); $artists = $artist->Find('artistuniqueid=1', false, false, array('loading' => ADODB_JOIN_AR)); ar_echo((ar_assert(found($artists, "'name' => 'Elvis Costello'"))) ? "[OK] Found Elvis Costello\n" : "[!!] Find failed\n"); ar_echo((ar_assert(found($artists, "'name' => 'No Hiding Place'"))) ? "[OK] Found relation: song\n" : "[!!] Missing relation: song\n"); ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n"); ar_echo("song->Find('recordid=1' ... ADODB_JOIN_AR) [Join Method]\n"); ar_echo("-------------------------------------------------------------------------------------------------------------------\n"); $song = new Song(); $songs = $song->Find('recordid=1', false, false, array('loading' => ADODB_JOIN_AR)); ar_echo((ar_assert(found($songs, "'name' => 'No Hiding Place'"))) ? "[OK] Found song\n" : "[!!] Find failed\n"); ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n"); ar_echo("artist->Find('artistuniqueid=1' ... ADODB_WORK_AR) [Work Method]\n"); ar_echo("-------------------------------------------------------------------------------------------------------------------\n"); $artist = new Artist(); $artists = $artist->Find('artistuniqueid=1', false, false, array('loading' => ADODB_WORK_AR)); ar_echo((ar_assert(found($artists, "'name' => 'Elvis Costello'"))) ? "[OK] Found Elvis Costello\n" : "[!!] Find failed\n"); ar_echo((ar_assert(found($artists, "'name' => 'No Hiding Place'"))) ? "[OK] Found relation: song\n" : "[!!] Missing relation: song\n"); ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n"); ar_echo("song->Find('recordid=1' ... ADODB_JOIN_AR) [Join Method]\n"); ar_echo("-------------------------------------------------------------------------------------------------------------------\n"); $song = new Song(); $songs = $song->Find('recordid=1', false, false, array('loading' => ADODB_WORK_AR)); ar_echo((ar_assert(found($songs, "'name' => 'No Hiding Place'"))) ? "[OK] Found song\n" : "[!!] Find failed\n"); ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n"); ar_echo("artist->Find('artistuniqueid=1' ... ADODB_LAZY_AR) [Lazy Method]\n"); ar_echo("-------------------------------------------------------------------------------------------------------------------\n"); $artist = new Artist(); $artists = $artist->Find('artistuniqueid=1', false, false, array('loading' => ADODB_LAZY_AR)); ar_echo((ar_assert(found($artists, "'name' => 'Elvis Costello'"))) ? "[OK] Found Elvis Costello\n" : "[!!] Find failed\n"); ar_echo((ar_assert(notfound($artists, "'name' => 'No Hiding Place'"))) ? "[OK] No relation yet\n" : "[!!] Found relation when I shouldn't\n"); foreach($artists as $anartist) { foreach($anartist->songs as $asong) { if($asong->name); } } ar_echo((ar_assert(found($artists, "'name' => 'No Hiding Place'"))) ? "[OK] Found relation: song\n" : "[!!] Missing relation: song\n"); ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n"); ar_echo("song->Find('recordid=1' ... ADODB_LAZY_AR) [Lazy Method]\n"); ar_echo("-------------------------------------------------------------------------------------------------------------------\n"); $song = new Song(); $songs = $song->Find('recordid=1', false, false, array('loading' => ADODB_LAZY_AR)); ar_echo((ar_assert(found($songs, "'name' => 'No Hiding Place'"))) ? "[OK] Found song\n" : "[!!] Find failed\n"); ar_echo((ar_assert(notfound($songs, "'name' => 'Elvis Costello'"))) ? "[OK] No relation yet\n" : "[!!] Found relation when I shouldn't\n"); foreach($songs as $asong) { if($asong->artist); } ar_echo((ar_assert(found($songs, "'name' => 'Elvis Costello'"))) ? "[OK] Found relation: artist\n" : "[!!] Missing relation: artist\n"); ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n"); ar_echo("Test suite complete. " . (($err_count > 0) ? "$err_count errors found.\n" : "Success.\n")); ar_echo("-------------------------------------------------------------------------------------------------------------------\n");
Close