Example #1
0
 public function deserialize($xml)
 {
     $extra = (string) $xml['extra_info'];
     if ($extra === '0') {
         echo "invalid extra info for Growth10K \n";
         return;
     }
     $class_name = 'class_' . str_replace('-', '_', strtolower($extra));
     //ENGLISH
     $current = $this->en->{$class_name} = new stdClass();
     $current->datatype = (string) $xml['Name'];
     $current->date_stamp = (string) $xml['as_of_date'];
     $mi = MerInception::get((string) $xml['fund_id'], $class_name);
     $current->inception_date = $mi['inception_date'];
     $current->mer = $mi['mer'];
     /**
     * the table elements for the GROWTH table
     */
     $current->labels['title'] = (string) $xml->matrix1->matrix1_QuarterEnd_Collection->matrix1_QuarterEnd->matrix1_ColumnGroup2_Collection->matrix1_ColumnGroup2['textbox11'];
     $current->labels['fund'] = (string) $xml->matrix1->matrix1_QuarterEnd_Collection->matrix1_QuarterEnd->matrix1_ColumnGroup2_Collection->matrix1_ColumnGroup2->matrix1_FundName_Collection->matrix1_FundName->{0}['FundName_2'];
     $current->labels['benchmark_0'] = (string) $xml->matrix1->matrix1_QuarterEnd_Collection->matrix1_QuarterEnd->{0}->matrix1_ColumnGroup2_Collection->matrix1_ColumnGroup2->matrix1_FundName_Collection->matrix1_FundName->{1}['FundName_2'];
     //2nd benchmark
     $current->labels['benchmark_1'] = (string) $xml->matrix1->matrix1_QuarterEnd_Collection->matrix1_QuarterEnd->{0}->matrix1_ColumnGroup2_Collection->matrix1_ColumnGroup2->matrix1_FundName_Collection->matrix1_FundName->{2}['FundName_2'];
     /**
      * loop through the table data
      */
     $y = $xml->matrix1->matrix1_QuarterEnd_Collection->matrix1_QuarterEnd;
     foreach ($y as $row) {
         $current->data[substr_replace((string) $row['QuarterEnd_2'], '', -9)]['fund'] = (string) $row->{0}->matrix1_ColumnGroup2_Collection->matrix1_ColumnGroup2->matrix1_FundName_Collection->matrix1_FundName->{0}->Cell['ValueOfInvestment_1'];
         $current->data[substr_replace((string) $row['QuarterEnd_2'], '', -9)]['benchmark_0'] = (string) $row->{0}->matrix1_ColumnGroup2_Collection->matrix1_ColumnGroup2->matrix1_FundName_Collection->matrix1_FundName->{1}->Cell['ValueOfInvestment_1'];
         //2nd benchmark
         $current->data[substr_replace((string) $row['QuarterEnd_2'], '', -9)]['benchmark_1'] = (string) $row->{0}->matrix1_ColumnGroup2_Collection->matrix1_ColumnGroup2->matrix1_FundName_Collection->matrix1_FundName->{2}->Cell['ValueOfInvestment_1'];
     }
     //FRENCH
     $current = $this->fr->{$class_name} = new stdClass();
     $current->datatype = (string) $xml['Name'];
     $current->date_stamp = (string) $xml['as_of_date'];
     $mi = MerInception::get((string) $xml['fund_id'], $class_name);
     $current->inception_date = $mi['inception_date'];
     $current->mer = $mi['mer'];
     /**
     * the table elements for the GROWTH table
     */
     $current->labels['title'] = (string) $xml->matrix1->matrix1_QuarterEnd_Collection->matrix1_QuarterEnd->matrix1_ColumnGroup2_Collection->matrix1_ColumnGroup2['textbox11'];
     $current->labels['fund'] = (string) $xml->matrix1->matrix1_QuarterEnd_Collection->matrix1_QuarterEnd->matrix1_ColumnGroup2_Collection->matrix1_ColumnGroup2->matrix1_FundName_Collection->matrix1_FundName->{0}['FundName_2'];
     $current->labels['benchmark_0'] = (string) $xml->matrix1->matrix1_QuarterEnd_Collection->matrix1_QuarterEnd->{0}->matrix1_ColumnGroup2_Collection->matrix1_ColumnGroup2->matrix1_FundName_Collection->matrix1_FundName->{1}['FundName_2'];
     //2nd benchmark
     $current->labels['benchmark_1'] = (string) $xml->matrix1->matrix1_QuarterEnd_Collection->matrix1_QuarterEnd->{0}->matrix1_ColumnGroup2_Collection->matrix1_ColumnGroup2->matrix1_FundName_Collection->matrix1_FundName->{2}['FundName_2'];
     /**
      * loop through the table data
      */
     $y = $xml->matrix1->matrix1_QuarterEnd_Collection->matrix1_QuarterEnd;
     foreach ($y as $row) {
         $current->data[substr_replace((string) $row['QuarterEnd_2'], '', -9)]['fund'] = (string) $row->{0}->matrix1_ColumnGroup2_Collection->matrix1_ColumnGroup2->matrix1_FundName_Collection->matrix1_FundName->{0}->Cell['ValueOfInvestment_1'];
         $current->data[substr_replace((string) $row['QuarterEnd_2'], '', -9)]['benchmark_0'] = (string) $row->{0}->matrix1_ColumnGroup2_Collection->matrix1_ColumnGroup2->matrix1_FundName_Collection->matrix1_FundName->{1}->Cell['ValueOfInvestment_1'];
         //2nd benchmark
         $current->data[substr_replace((string) $row['QuarterEnd_2'], '', -9)]['benchmark_1'] = (string) $row->{0}->matrix1_ColumnGroup2_Collection->matrix1_ColumnGroup2->matrix1_FundName_Collection->matrix1_FundName->{2}->Cell['ValueOfInvestment_1'];
     }
 }
Example #2
0
 public function deserialize($xml)
 {
     $extra = (string) $xml['extra_info'];
     if ($extra === '0') {
         echo "invalid extra info for Performance \n";
         return;
     }
     $class_name = 'class_' . str_replace('-', '_', strtolower($extra));
     // ENGLISH VERSION which is a duplicate of french - we need both of them for
     // the final filter
     $current = $this->en->{$class_name} = new stdClass();
     $current->name = (string) $xml['FundName'];
     $current->currency = (string) $xml['currency'];
     $current->class_label = (string) $xml->tblAP['textbox14'];
     $current->report_date = (string) $xml['as_of_date'];
     $mi = MerInception::get((string) $xml['fund_id'], $class_name);
     $current->inception_date = $mi['inception_date'];
     $current->mer = $mi['mer'];
     /**
     * the table elements for the ANNUAL PERFORMANCE table
     * may use some of these values if the xml ever gets valid info
     */
     // count the number of elements within the Detail Collection
     $details_ap = $xml->tblAP->Detail_Collection->Detail;
     $element_count_ap = count($details_ap);
     //create the label name for the funds: $current->annual_labels['label name here']
     $label_names = array('fund', 'benchmark0');
     if ($element_count_ap > 2) {
         $xx = $element_count_ap - 2;
         array_push($label_names, 'benchmark' . $xx);
     }
     $current->annual_labels['title'] = (string) $xml->tblAP_BCFB['textbox81'];
     //$current->annual_labels['title_2?'] = (string)$xml->tblCYP_BCFB['txtCYP_BCFB_FundName'];
     //$current->annual_labels['fund'] = (string)$xml->tblAP->Detail_Collection->Detail->{0}['AP_FundName'];
     //$current->annual_labels['benchmark'] = (string)$xml->tblAP->Detail_Collection->Detail->{1}['AP_FundName'];
     for ($xap = 0; $xap < $element_count_ap; $xap++) {
         $current->annual_labels[$label_names[$xap]] = (string) $xml->tblAP->Detail_Collection->Detail->{$xap}['AP_FundName'];
     }
     // loop through the ANNUAL PERFORMANCE table data
     $y = $xml->tblAP->Detail_Collection;
     $current->annual_data = array();
     foreach ($y as $row) {
         $current->annual_data['1_month'] = array();
         $current->annual_data['1_month']['label'] = '1-Mth';
         $current->annual_data['3_months'] = array();
         $current->annual_data['3_months']['label'] = '3-Mth';
         $current->annual_data['6_months'] = array();
         $current->annual_data['6_months']['label'] = '6-Mth';
         $current->annual_data['ytd'] = array();
         $current->annual_data['ytd']['label'] = 'YTD';
         $current->annual_data['1_year'] = array();
         $current->annual_data['1_year']['label'] = '1-Yr';
         $current->annual_data['3_year'] = array();
         $current->annual_data['3_year']['label'] = '3-Yr';
         $current->annual_data['5_year'] = array();
         $current->annual_data['5_year']['label'] = '5-Yr';
         $current->annual_data['7_year'] = array();
         $current->annual_data['7_year']['label'] = '7-Yr';
         $current->annual_data['10_year'] = array();
         $current->annual_data['10_year']['label'] = '10-Yr';
         $current->annual_data['since_inception'] = array();
         $current->annual_data['since_inception']['label'] = 'Since Incept.';
         for ($yap = 0; $yap < $element_count_ap; $yap++) {
             $current->annual_data['1_month'][$label_names[$yap]] = (string) $row->Detail->{$yap}['AP_1Month'];
             $current->annual_data['3_months'][$label_names[$yap]] = (string) $row->Detail->{$yap}['AP_3Months'];
             $current->annual_data['6_months'][$label_names[$yap]] = (string) $row->Detail->{$yap}['AP_6Months'];
             $current->annual_data['ytd'][$label_names[$yap]] = (string) $row->Detail->{$yap}['AP_YTD'];
             $current->annual_data['1_year'][$label_names[$yap]] = (string) $row->Detail->{$yap}['AP_1Year'];
             $current->annual_data['3_year'][$label_names[$yap]] = (string) $row->Detail->{$yap}['AP_3Years'];
             $current->annual_data['5_year'][$label_names[$yap]] = (string) $row->Detail->{$yap}['AP_5Years'];
             $current->annual_data['7_year'][$label_names[$yap]] = (string) $row->Detail->{$yap}['AP_7Years'];
             $current->annual_data['10_year'][$label_names[$yap]] = (string) $row->Detail->{$yap}['AP_10Years'];
             $current->annual_data['since_inception'][$label_names[$yap]] = (string) $row->Detail->{$yap}['AP_SinceInception'];
         }
         /*
         $current->annual_data['3_months']['fund'] = (string)$row->Detail->{0}['AP_3Months'];
         $current->annual_data['3_months']['benchmark'] = (string)$row->Detail->{1}['AP_3Months'];
         
         
         $current->annual_data['6_months']['fund'] = (string)$row->Detail->{0}['AP_6Months'];
         $current->annual_data['6_months']['benchmark'] = (string)$row->Detail->{1}['AP_6Months'];
         
         
         
         $current->annual_data['ytd']['fund'] = (string)$row->Detail->{0}['AP_YTD'];
         $current->annual_data['ytd']['benchmark'] = (string)$row->Detail->{1}['AP_YTD'];
         
         
         
         $current->annual_data['1_year']['fund'] = (string)$row->Detail->{0}['AP_1Year'];
         $current->annual_data['1_year']['benchmark'] = (string)$row->Detail->{1}['AP_1Year'];
         $current->annual_data['1_year']['benchmark2'] = (string)$row->Detail->{2}['AP_1Year'];
         
         $current->annual_data['3_year']['fund'] = (string)$row->Detail->{0}['AP_3Years'];
         $current->annual_data['3_year']['benchmark'] = (string)$row->Detail->{1}['AP_3Years'];
         
         $current->annual_data['5_year']['fund'] = (string)$row->Detail->{0}['AP_5Years'];
         $current->annual_data['5_year']['benchmark'] = (string)$row->Detail->{1}['AP_5Years'];
         
         $current->annual_data['7_year']['fund'] = (string)$row->Detail->{0}['AP_7Years'];
         $current->annual_data['7_year']['benchmark'] = (string)$row->Detail->{1}['AP_7Years'];
         
         $current->annual_data['10_year']['fund'] = (string)$row->Detail->{0}['AP_10Years'];
         $current->annual_data['10_year']['benchmark'] = (string)$row->Detail->{1}['AP_10Years'];
         
         
         $current->annual_data['since_inception']['fund'] = (string)$row->Detail->{0}['AP_SinceInception'];
         $current->annual_data['since_inception']['benchmark'] = (string)$row->Detail->{1}['AP_SinceInception'];
         
         if ($element_count_ap >= 3) {
         	$current->annual_data['3_months']['benchmark2'] = (string)$row->Detail->{2}['AP_3Months'];
         	$current->annual_data['6_months']['benchmark2'] = (string)$row->Detail->{2}['AP_6Months'];
         	$current->annual_data['ytd']['benchmark2'] = (string)$row->Detail->{2}['AP_YTD'];
         	$current->annual_data['3_year']['benchmark2'] = (string)$row->Detail->{2}['AP_3Years'];
         	$current->annual_data['5_year']['benchmark2'] = (string)$row->Detail->{2}['AP_5Years'];
         	$current->annual_data['7_year']['benchmark2'] = (string)$row->Detail->{2}['AP_7Years'];
         	$current->annual_data['10_year']['benchmark2'] = (string)$row->Detail->{2}['AP_10Years'];
         	$current->annual_data['since_inception']['benchmark2'] = (string)$row->Detail->{2}['AP_SinceInception'];
         }
         */
     }
     /**
     * the table elements for the CALENDAR YEAR PERFORMANCE table
     */
     // count the number of elements within the Detail Collection
     $details_cp = $xml->tblCYP->Detail_Collection->Detail;
     $element_count_cp = count($details_cp);
     //create the label name for the funds: $current->annual_labels['label name here']
     $label_names_cp = array('fund', 'benchmark0');
     if ($element_count_cp > 2) {
         $yy = $element_count_cp - 2;
         array_push($label_names_cp, 'benchmark' . $yy);
     }
     $current->calendar_labels['title'] = (string) $xml->tblCYP['textbox1'];
     $current->calendar_labels['footnote'] = (string) $xml->tblCYP['CYP_footer'];
     /*
                 $current->calendar_labels['fund'] = (string)$xml->tblCYP->Detail_Collection->Detail->{0}['CYP_FundName'];
                 $current->calendar_labels['benchmark'] = (string)$xml->tblCYP->Detail_Collection->Detail->{1}['CYP_FundName'];
     */
     for ($xcp = 0; $xcp < $element_count_cp; $xcp++) {
         $current->calendar_labels[$label_names_cp[$xcp]] = (string) $xml->tblCYP->Detail_Collection->Detail->{$xcp}['CYP_FundName'];
     }
     //loop through the CALENDAR YEAR PERFORMANCE table data
     $y = $xml->tblCYP->Detail_Collection;
     $current->calendar_data = array();
     foreach ($y as $row) {
         $current->calendar_data['1_year'] = array();
         $current->calendar_data['1_year']['label'] = (string) $xml->tblCYP['textbox181'];
         $current->calendar_data['2_year'] = array();
         $current->calendar_data['2_year']['label'] = (string) $xml->tblCYP['textbox135'];
         $current->calendar_data['3_year'] = array();
         $current->calendar_data['3_year']['label'] = (string) $xml->tblCYP['textbox106'];
         $current->calendar_data['4_year'] = array();
         $current->calendar_data['4_year']['label'] = (string) $xml->tblCYP['textbox275'];
         $current->calendar_data['5_year'] = array();
         $current->calendar_data['5_year']['label'] = (string) $xml->tblCYP['textbox268'];
         $current->calendar_data['6_year'] = array();
         $current->calendar_data['6_year']['label'] = (string) $xml->tblCYP['textbox244'];
         $current->calendar_data['7_year'] = array();
         $current->calendar_data['7_year']['label'] = (string) $xml->tblCYP['textbox245'];
         $current->calendar_data['8_year'] = array();
         $current->calendar_data['8_year']['label'] = (string) $xml->tblCYP['textbox246'];
         $current->calendar_data['9_year'] = array();
         $current->calendar_data['9_year']['label'] = (string) $xml->tblCYP['textbox247'];
         $current->calendar_data['10_year'] = array();
         $current->calendar_data['10_year']['label'] = (string) $xml->tblCYP['textbox248'];
         for ($ycp = 0; $ycp < $element_count_cp; $ycp++) {
             $current->calendar_data['1_year'][$label_names_cp[$ycp]] = (string) $row->Detail->{$ycp}['CYP_Year1'];
             $current->calendar_data['2_year'][$label_names_cp[$ycp]] = (string) $row->Detail->{$ycp}['CYP_Year2'];
             $current->calendar_data['3_year'][$label_names_cp[$ycp]] = (string) $row->Detail->{$ycp}['CYP_Year3'];
             $current->calendar_data['4_year'][$label_names_cp[$ycp]] = (string) $row->Detail->{$ycp}['CYP_Year4'];
             $current->calendar_data['5_year'][$label_names_cp[$ycp]] = (string) $row->Detail->{$ycp}['CYP_Year5'];
             $current->calendar_data['6_year'][$label_names_cp[$ycp]] = (string) $row->Detail->{$ycp}['CYP_Year6'];
             $current->calendar_data['7_year'][$label_names_cp[$ycp]] = (string) $row->Detail->{$ycp}['CYP_Year7'];
             $current->calendar_data['8_year'][$label_names_cp[$ycp]] = (string) $row->Detail->{$ycp}['CYP_Year8'];
             $current->calendar_data['9_year'][$label_names_cp[$ycp]] = (string) $row->Detail->{$ycp}['CYP_Year9'];
             $current->calendar_data['10_year'][$label_names_cp[$ycp]] = (string) $row->Detail->{$ycp}['CYP_Year10'];
         }
         /*
                         
                         $current->calendar_data['1_year']['fund'] = (string)$row->Detail->{0}['CYP_Year1'];
                         $current->calendar_data['1_year']['benchmark'] = (string)$row->Detail->{1}['CYP_Year1'];
         
                        
                         $current->calendar_data['2_year']['fund'] = (string)$row->Detail->{0}['CYP_Year2'];
                         $current->calendar_data['2_year']['benchmark'] = (string)$row->Detail->{1}['CYP_Year2'];
         
                        
                         $current->calendar_data['3_year']['fund'] = (string)$row->Detail->{0}['CYP_Year3'];
                         $current->calendar_data['3_year']['benchmark'] = (string)$row->Detail->{1}['CYP_Year3'];
         
                         
                         $current->calendar_data['4_year']['fund'] = (string)$row->Detail->{0}['CYP_Year4'];
                         $current->calendar_data['4_year']['benchmark'] = (string)$row->Detail->{1}['CYP_Year4'];
         
                         
                         $current->calendar_data['5_year']['fund'] = (string)$row->Detail->{0}['CYP_Year5'];
                         $current->calendar_data['5_year']['benchmark'] = (string)$row->Detail->{1}['CYP_Year5'];
         
                         
                         $current->calendar_data['6_year']['fund'] = (string)$row->Detail->{0}['CYP_Year6'];
                         $current->calendar_data['6_year']['benchmark'] = (string)$row->Detail->{1}['CYP_Year6'];
         
                         
                         $current->calendar_data['7_year']['fund'] = (string)$row->Detail->{0}['CYP_Year7'];
                         $current->calendar_data['7_year']['benchmark'] = (string)$row->Detail->{1}['CYP_Year7'];
         
                         
                         $current->calendar_data['8_year']['fund'] = (string)$row->Detail->{0}['CYP_Year8'];
                         $current->calendar_data['8_year']['benchmark'] = (string)$row->Detail->{1}['CYP_Year8'];
         
                         
                         $current->calendar_data['9_year']['fund'] = (string)$row->Detail->{0}['CYP_Year9'];
                         $current->calendar_data['9_year']['benchmark'] = (string)$row->Detail->{1}['CYP_Year9'];
         
                         
                         $current->calendar_data['10_year']['fund'] = (string)$row->Detail->{0}['CYP_Year10'];
                         $current->calendar_data['10_year']['benchmark'] = (string)$row->Detail->{1}['CYP_Year10'];
         */
     }
     // FRENCH VERSION - a duplicate of english which we need for the final filter
     $current = $this->fr->{$class_name} = new stdClass();
     $current->name = (string) $xml['FundName'];
     $current->currency = (string) $xml['currency'];
     $current->class_label = (string) $xml->tblAP['textbox14'];
     $current->report_date = (string) $xml['as_of_date'];
     $mi = MerInception::get((string) $xml['fund_id'], $class_name);
     $current->inception_date = $mi['inception_date'];
     $current->mer = $mi['mer'];
     /**
     * the table elements for the ANNUAL PERFORMANCE table
     * may use some of these values if the xml ever gets valid info
     */
     // count the number of elements within the Detail Collection
     $details_ap_fr = $xml->tblAP->Detail_Collection->Detail;
     $element_count_ap_fr = count($details_ap_fr);
     //create the label name for the funds: $current->annual_labels['label name here']
     $label_names_fr = array('fund', 'benchmark0');
     if ($element_count_ap_fr > 2) {
         $xx_fr = $element_count_ap_fr - 2;
         array_push($label_names_fr, 'benchmark' . $xx_fr);
     }
     $current->annual_labels['title'] = (string) $xml->tblAP_BCFB['textbox81'];
     //$current->annual_labels['title_2?'] = (string)$xml->tblCYP_BCFB['txtCYP_BCFB_FundName'];
     /*
     $current->annual_labels['fund'] = (string)$xml->tblAP->Detail_Collection->Detail->{0}['AP_FundName'];
     $current->annual_labels['benchmark'] = (string)$xml->tblAP->Detail_Collection->Detail->{1}['AP_FundName'];
     */
     for ($xap_fr = 0; $xap_fr < $element_count_ap_fr; $xap_fr++) {
         $current->annual_labels[$label_names_fr[$xap_fr]] = (string) $xml->tblAP->Detail_Collection->Detail->{$xap_fr}['AP_FundName'];
     }
     // loop through the ANNUAL PERFORMANCE table data
     $y = $xml->tblAP->Detail_Collection;
     $current->annual_data = array();
     foreach ($y as $row) {
         $current->annual_data['1_month'] = array();
         $current->annual_data['1_month']['label'] = '1-Mth';
         $current->annual_data['3_months'] = array();
         $current->annual_data['3_months']['label'] = '3-Mth';
         $current->annual_data['6_months'] = array();
         $current->annual_data['6_months']['label'] = '6-Mth';
         $current->annual_data['ytd'] = array();
         $current->annual_data['ytd']['label'] = 'YTD';
         $current->annual_data['1_year'] = array();
         $current->annual_data['1_year']['label'] = '1-Yr';
         $current->annual_data['3_year'] = array();
         $current->annual_data['3_year']['label'] = '3-Yr';
         $current->annual_data['5_year'] = array();
         $current->annual_data['5_year']['label'] = '5-Yr';
         $current->annual_data['7_year'] = array();
         $current->annual_data['7_year']['label'] = '7-Yr';
         $current->annual_data['10_year'] = array();
         $current->annual_data['10_year']['label'] = '10-Yr';
         $current->annual_data['since_inception'] = array();
         $current->annual_data['since_inception']['label'] = 'Since Incept.';
         for ($yap_fr = 0; $yap_fr < $element_count_ap_fr; $yap_fr++) {
             $current->annual_data['1_month'][$label_names_fr[$yap_fr]] = (string) $row->Detail->{$yap_fr}['AP_1Month'];
             $current->annual_data['3_months'][$label_names_fr[$yap_fr]] = (string) $row->Detail->{$yap_fr}['AP_3Months'];
             $current->annual_data['6_months'][$label_names_fr[$yap_fr]] = (string) $row->Detail->{$yap_fr}['AP_6Months'];
             $current->annual_data['ytd'][$label_names_fr[$yap_fr]] = (string) $row->Detail->{$yap_fr}['AP_YTD'];
             $current->annual_data['1_year'][$label_names_fr[$yap_fr]] = (string) $row->Detail->{$yap_fr}['AP_1Year'];
             $current->annual_data['3_year'][$label_names_fr[$yap_fr]] = (string) $row->Detail->{$yap_fr}['AP_3Years'];
             $current->annual_data['5_year'][$label_names_fr[$yap_fr]] = (string) $row->Detail->{$yap_fr}['AP_5Years'];
             $current->annual_data['7_year'][$label_names_fr[$yap_fr]] = (string) $row->Detail->{$yap_fr}['AP_7Years'];
             $current->annual_data['10_year'][$label_names_fr[$yap_fr]] = (string) $row->Detail->{$yap_fr}['AP_10Years'];
             $current->annual_data['since_inception'][$label_names_fr[$yap_fr]] = (string) $row->Detail->{$yap_fr}['AP_SinceInception'];
         }
         /*
         $current->annual_data['3_months'] = array();
         $current->annual_data['3_months']['label'] = '3-mois';
         $current->annual_data['3_months']['fund'] = (string)$row->Detail->{0}['AP_3Months'];
         $current->annual_data['3_months']['benchmark'] = (string)$row->Detail->{1}['AP_3Months'];
         
         $current->annual_data['6_months'] = array();
         $current->annual_data['6_months']['label'] = '6-mois';
         $current->annual_data['6_months']['fund'] = (string)$row->Detail->{0}['AP_6Months'];
         $current->annual_data['6_months']['benchmark'] = (string)$row->Detail->{1}['AP_6Months'];
         
         
         $current->annual_data['ytd'] = array();
         $current->annual_data['ytd']['label'] = 'YTD';
         $current->annual_data['ytd']['fund'] = (string)$row->Detail->{0}['AP_YTD'];
         $current->annual_data['ytd']['benchmark'] = (string)$row->Detail->{1}['AP_YTD'];
         
         
         $current->annual_data['1_year'] = array();
         $current->annual_data['1_year']['label'] = '1-Yr';
         $current->annual_data['1_year']['fund'] = (string)$row->Detail->{0}['AP_1Year'];
         $current->annual_data['1_year']['benchmark'] = (string)$row->Detail->{1}['AP_1Year'];
         $current->annual_data['3_year'] = array();
         $current->annual_data['3_year']['label'] = '3-Yr';
         $current->annual_data['3_year']['fund'] = (string)$row->Detail->{0}['AP_3Years'];
         $current->annual_data['3_year']['benchmark'] = (string)$row->Detail->{1}['AP_3Years'];
         $current->annual_data['5_year'] = array();
         $current->annual_data['5_year']['label'] = '5-Yr';
         $current->annual_data['5_year']['fund'] = (string)$row->Detail->{0}['AP_5Years'];
         $current->annual_data['5_year']['benchmark'] = (string)$row->Detail->{1}['AP_5Years'];
         $current->annual_data['7_year'] = array();
         $current->annual_data['7_year']['label'] = '7-Yr';
         $current->annual_data['7_year']['fund'] = (string)$row->Detail->{0}['AP_7Years'];
         $current->annual_data['7_year']['benchmark'] = (string)$row->Detail->{1}['AP_7Years'];
         $current->annual_data['10_year'] = array();
         $current->annual_data['10_year']['label'] = '10-Yr';
         $current->annual_data['10_year']['fund'] = (string)$row->Detail->{0}['AP_10Years'];
         $current->annual_data['10_year']['benchmark'] = (string)$row->Detail->{1}['AP_10Years'];
         
         $current->annual_data['since_inception'] = array();
         $current->annual_data['since_inception']['label'] = 'Since Incept.';
         $current->annual_data['since_inception']['fund'] = (string)$row->Detail->{0}['AP_SinceInception'];
         $current->annual_data['since_inception']['benchmark'] = (string)$row->Detail->{1}['AP_SinceInception'];
         */
     }
     /**
     * the table elements for the CALENDAR YEAR PERFORMANCE table
     */
     // count the number of elements within the Detail Collection
     $details_cp_fr = $xml->tblCYP->Detail_Collection->Detail;
     $element_count_cp_fr = count($details_cp_fr);
     //create the label name for the funds: $current->annual_labels['label name here']
     $label_names_cp_fr = array('fund', 'benchmark0');
     if ($element_count_cp_fr > 2) {
         $yy_fr = $element_count_cp_fr - 2;
         array_push($label_names_cp_fr, 'benchmark' . $yy_fr);
     }
     $current->calendar_labels['title'] = (string) $xml->tblCYP['textbox1'];
     $current->calendar_labels['footnote'] = (string) $xml->tblCYP['CYP_footer'];
     /*
                 $current->calendar_labels['fund'] = (string)$xml->tblCYP->Detail_Collection->Detail->{0}['CYP_FundName'];
                 $current->calendar_labels['benchmark'] = (string)$xml->tblCYP->Detail_Collection->Detail->{1}['CYP_FundName'];
     */
     for ($xcp_fr = 0; $xcp_fr < $element_count_cp_fr; $xcp_fr++) {
         $current->calendar_labels[$label_names_cp_fr[$xcp_fr]] = (string) $xml->tblCYP->Detail_Collection->Detail->{$xcp_fr}['CYP_FundName'];
         echo 'current=' . $current->calendar_labels[$label_names_cp_fr[$xcp_fr]];
     }
     //loop through the CALENDAR YEAR PERFORMANCE table data
     $y = $xml->tblCYP->Detail_Collection;
     $current->calendar_data = array();
     foreach ($y as $row) {
         $current->calendar_data['1_year'] = array();
         $current->calendar_data['1_year']['label'] = (string) $xml->tblCYP['textbox181'];
         $current->calendar_data['2_year'] = array();
         $current->calendar_data['2_year']['label'] = (string) $xml->tblCYP['textbox135'];
         $current->calendar_data['3_year'] = array();
         $current->calendar_data['3_year']['label'] = (string) $xml->tblCYP['textbox106'];
         $current->calendar_data['4_year'] = array();
         $current->calendar_data['4_year']['label'] = (string) $xml->tblCYP['textbox275'];
         $current->calendar_data['5_year'] = array();
         $current->calendar_data['5_year']['label'] = (string) $xml->tblCYP['textbox268'];
         $current->calendar_data['6_year'] = array();
         $current->calendar_data['6_year']['label'] = (string) $xml->tblCYP['textbox244'];
         $current->calendar_data['7_year'] = array();
         $current->calendar_data['7_year']['label'] = (string) $xml->tblCYP['textbox245'];
         $current->calendar_data['8_year'] = array();
         $current->calendar_data['8_year']['label'] = (string) $xml->tblCYP['textbox246'];
         $current->calendar_data['9_year'] = array();
         $current->calendar_data['9_year']['label'] = (string) $xml->tblCYP['textbox247'];
         $current->calendar_data['10_year'] = array();
         $current->calendar_data['10_year']['label'] = (string) $xml->tblCYP['textbox248'];
         for ($ycp_fr = 0; $ycp_fr < $element_count_cp_fr; $ycp_fr++) {
             $current->calendar_data['1_year'][$label_names_cp_fr[$ycp_fr]] = (string) $row->Detail->{$ycp_fr}['CYP_Year1'];
             $current->calendar_data['2_year'][$label_names_cp_fr[$ycp_fr]] = (string) $row->Detail->{$ycp_fr}['CYP_Year2'];
             $current->calendar_data['3_year'][$label_names_cp_fr[$ycp_fr]] = (string) $row->Detail->{$ycp_fr}['CYP_Year3'];
             $current->calendar_data['4_year'][$label_names_cp_fr[$ycp_fr]] = (string) $row->Detail->{$ycp_fr}['CYP_Year4'];
             $current->calendar_data['5_year'][$label_names_cp_fr[$ycp_fr]] = (string) $row->Detail->{$ycp_fr}['CYP_Year5'];
             $current->calendar_data['6_year'][$label_names_cp_fr[$ycp_fr]] = (string) $row->Detail->{$ycp_fr}['CYP_Year6'];
             $current->calendar_data['7_year'][$label_names_cp_fr[$ycp_fr]] = (string) $row->Detail->{$ycp_fr}['CYP_Year7'];
             $current->calendar_data['8_year'][$label_names_cp_fr[$ycp_fr]] = (string) $row->Detail->{$ycp_fr}['CYP_Year8'];
             $current->calendar_data['9_year'][$label_names_cp_fr[$ycp_fr]] = (string) $row->Detail->{$ycp_fr}['CYP_Year9'];
             $current->calendar_data['10_year'][$label_names_cp_fr[$ycp_fr]] = (string) $row->Detail->{$ycp_fr}['CYP_Year10'];
         }
         /*
                         $current->calendar_data['1_year'] = array();
                         $current->calendar_data['1_year']['label'] = (string)$xml->tblCYP['textbox181'];
                         $current->calendar_data['1_year']['fund'] = (string)$row->Detail->{0}['CYP_Year1'];
                         $current->calendar_data['1_year']['benchmark'] = (string)$row->Detail->{1}['CYP_Year1'];
         
                         $current->calendar_data['2_year'] = array();
                         $current->calendar_data['2_year']['label'] = (string)$xml->tblCYP['textbox135'];
                         $current->calendar_data['2_year']['fund'] = (string)$row->Detail->{0}['CYP_Year2'];
                         $current->calendar_data['2_year']['benchmark'] = (string)$row->Detail->{1}['CYP_Year2'];
         
                         $current->calendar_data['3_year'] = array();
                         $current->calendar_data['3_year']['label'] = (string)$xml->tblCYP['textbox106'];
                         $current->calendar_data['3_year']['fund'] = (string)$row->Detail->{0}['CYP_Year3'];
                         $current->calendar_data['3_year']['benchmark'] = (string)$row->Detail->{1}['CYP_Year3'];
         
                         $current->calendar_data['4_year'] = array();
                         $current->calendar_data['4_year']['label'] = (string)$xml->tblCYP['textbox275'];
                         $current->calendar_data['4_year']['fund'] = (string)$row->Detail->{0}['CYP_Year4'];
                         $current->calendar_data['4_year']['benchmark'] = (string)$row->Detail->{1}['CYP_Year4'];
         
                         $current->calendar_data['5_year'] = array();
                         $current->calendar_data['5_year']['label'] = (string)$xml->tblCYP['textbox268'];
                         $current->calendar_data['5_year']['fund'] = (string)$row->Detail->{0}['CYP_Year5'];
                         $current->calendar_data['5_year']['benchmark'] = (string)$row->Detail->{1}['CYP_Year5'];
         
                         $current->calendar_data['6_year'] = array();
                         $current->calendar_data['6_year']['label'] =  (string)$xml->tblCYP['textbox244'];
                         $current->calendar_data['6_year']['fund'] = (string)$row->Detail->{0}['CYP_Year6'];
                         $current->calendar_data['6_year']['benchmark'] = (string)$row->Detail->{1}['CYP_Year6'];
         
                         $current->calendar_data['7_year'] = array();
                         $current->calendar_data['7_year']['label'] = (string)$xml->tblCYP['textbox245'];
                         $current->calendar_data['7_year']['fund'] = (string)$row->Detail->{0}['CYP_Year7'];
                         $current->calendar_data['7_year']['benchmark'] = (string)$row->Detail->{1}['CYP_Year7'];
         
                         $current->calendar_data['8_year'] = array();
                         $current->calendar_data['8_year']['label'] = (string)$xml->tblCYP['textbox246'];
                         $current->calendar_data['8_year']['fund'] = (string)$row->Detail->{0}['CYP_Year8'];
                         $current->calendar_data['8_year']['benchmark'] = (string)$row->Detail->{1}['CYP_Year8'];
         
                         $current->calendar_data['9_year'] = array();
                         $current->calendar_data['9_year']['label'] = (string)$xml->tblCYP['textbox247'];
                         $current->calendar_data['9_year']['fund'] = (string)$row->Detail->{0}['CYP_Year9'];
                         $current->calendar_data['9_year']['benchmark'] = (string)$row->Detail->{1}['CYP_Year9'];
         
                         $current->calendar_data['10_year'] = array();
                         $current->calendar_data['10_year']['label'] = (string)$xml->tblCYP['textbox248'];
                         $current->calendar_data['10_year']['fund'] = (string)$row->Detail->{0}['CYP_Year10'];
                         $current->calendar_data['10_year']['benchmark'] = (string)$row->Detail->{1}['CYP_Year10'];
         */
     }
 }