Below I have the print_r output of an object parameter that is passed during an event in CMSMS. I'm new to both php and CMSMS. I specifically need the value of the object with id 11 (persontasked), but I have no idea where to start. It looks like it's an object with some parameters, one of which is an object (fielddefs), which contains arrays, and the value I need is also in an object. Is there any somewhat simple way of navigating through this structure? It will always be located in the same place.
This is the block that contains the value I need (Jon Smith):
[storage:ArrayObject:private] => Array
(
[0] => Jon Smith
)
Located deep in this object:
ListIt2Item Object ( [item_id] => 55 [alias] => test-email [title] => test email [position] => 7 [active] => 1 [create_time] => 2014-12-30 14:48:03 [modified_time] => 2014-12-30 19:56:46 [start_time] => [end_time] => [owner] => 5 [key1] => [key2] => [key3] => [fielddefs] => ListIt2FielddefArray Object ( [_parent_item:ListIt2FielddefArray:private] => ListIt2Item Object *RECURSION* [storage:ArrayObject:private] => Array ( [6] => listit2fd_SelectDateTime Object ( [id:ListIt2FielddefBase:private] => 6 [name:ListIt2FielddefBase:private] => Date [alias:ListIt2FielddefBase:private] => Time_Opened [description:ListIt2FielddefBase:private] => [type:ListIt2FielddefBase:private] => SelectDateTime [friendlytype:ListIt2FielddefBase:private] => Select DateTime [value:ListIt2FielddefBase:private] => ListIt2FielddefValue Object ( [storage:ArrayObject:private] => Array ( [0] => 12-30-2014 ) ) [originator:ListIt2FielddefBase:private] => ListIt2 [active:ListIt2FielddefBase:private] => 1 [disabled:ListIt2FielddefBase:private] => [path:ListIt2FielddefBase:private] => /home/public_html/modules/ListIt2/lib/fielddefs/SelectDateTime [position:ListIt2FielddefBase:private] => 0 [required:ListIt2FielddefBase:private] => 1 [options:ListIt2FielddefBase:private] => Array ( [date_format] => mm-dd-yy [format_type] => 1 [show_seconds] => 0 [size] => 20 [time_format] => HH:mm ) [caller:ListIt2FielddefBase:private] => [item_id:ListIt2FielddefBase:private] => 55 [parent_array:ListIt2FielddefBase:private] => ListIt2FielddefArray Object *RECURSION* [event_handler:protected] => ListIt2EventHandlerBase Object ( [_field:ListIt2EventHandlerBase:private] => listit2fd_SelectDateTime Object *RECURSION* ) ) [10] => listit2fd_Dropdown Object ( [id:ListIt2FielddefBase:private] => 10 [name:ListIt2FielddefBase:private] => Category [alias:ListIt2FielddefBase:private] => ticketcategory [description:ListIt2FielddefBase:private] => [type:ListIt2FielddefBase:private] => Dropdown [friendlytype:ListIt2FielddefBase:private] => Dropdown [value:ListIt2FielddefBase:private] => ListIt2FielddefValue Object ( [storage:ArrayObject:private] => Array ( [0] => Software Problems ) ) [originator:ListIt2FielddefBase:private] => ListIt2 [active:ListIt2FielddefBase:private] => 1 [disabled:ListIt2FielddefBase:private] => [path:ListIt2FielddefBase:private] => /home/public_html/modules/ListIt2/lib/fielddefs/Dropdown [position:ListIt2FielddefBase:private] => 3 [required:ListIt2FielddefBase:private] => 1 [options:ListIt2FielddefBase:private] => Array ( [options] => Software Problems Hardware Problems Request New Software Request New Hardware Other ) [caller:ListIt2FielddefBase:private] => [item_id:ListIt2FielddefBase:private] => 55 [parent_array:ListIt2FielddefBase:private] => ListIt2FielddefArray Object *RECURSION* [event_handler:protected] => ListIt2EventHandlerBase Object ( [_field:ListIt2EventHandlerBase:private] => listit2fd_Dropdown Object *RECURSION* ) ) [11] => listit2fd_Dropdown Object ( [id:ListIt2FielddefBase:private] => 11 [name:ListIt2FielddefBase:private] => Assign To [alias:ListIt2FielddefBase:private] => persontasked [description:ListIt2FielddefBase:private] => [type:ListIt2FielddefBase:private] => Dropdown [friendlytype:ListIt2FielddefBase:private] => Dropdown [value:ListIt2FielddefBase:private] => ListIt2FielddefValue Object ( [storage:ArrayObject:private] => Array ( [0] => Jon Smith ) ) [originator:ListIt2FielddefBase:private] => ListIt2 [active:ListIt2FielddefBase:private] => 1 [disabled:ListIt2FielddefBase:private] => [path:ListIt2FielddefBase:private] => /home/public_html/modules/ListIt2/lib/fielddefs/Dropdown [position:ListIt2FielddefBase:private] => 4 [required:ListIt2FielddefBase:private] => 1 [options:ListIt2FielddefBase:private] => Array ( [options] => Jon Smith Joan Smith ) [caller:ListIt2FielddefBase:private] => [item_id:ListIt2FielddefBase:private] => 55 [parent_array:ListIt2FielddefBase:private] => ListIt2FielddefArray Object *RECURSION* [event_handler:protected] => ListIt2EventHandlerBase Object ( [_field:ListIt2EventHandlerBase:private] => listit2fd_Dropdown Object *RECURSION* ) ) ) ) )
The problem you're going to run into is that the storage
property is private and therfore cannot be accessed from outside of the instance of the ListIt2FielddefArray Object.
You will need a getter method to access that value.
It should look something like:
<?php
$myobject->get('myval');
//or
$myobject->getStorage();
?>
Basically there has to be something publicly accessible that will allow you to access those values.
If you post up the actual code for those classes it will give us a better idea of what your options are.