public function importData() { // Check for request forgeries JSession::checkToken() or die(JText::_('JINVALID_TOKEN')); // check if import is allowed for this user. $user = JFactory::getUser(); if ($user->authorise('help_document.import', 'com_costbenefitprojection') && $user->authorise('core.import', 'com_costbenefitprojection')) { // Get the import model $model = $this->getModel('Help_documents'); // get the headers to import $headers = $model->getExImPortHeaders(); if (CostbenefitprojectionHelper::checkObject($headers)) { // Load headers to session. $session = JFactory::getSession(); $headers = json_encode($headers); $session->set('help_document_VDM_IMPORTHEADERS', $headers); $session->set('backto_VDM_IMPORT', 'help_documents'); $session->set('dataType_VDM_IMPORTINTO', 'help_document'); // Redirect to import view. $message = JText::_('COM_COSTBENEFITPROJECTION_IMPORT_SELECT_FILE_FOR_HELP_DOCUMENTS'); $this->setRedirect(JRoute::_('index.php?option=com_costbenefitprojection&view=import', false), $message); return; } } // Redirect to the list screen with error. $message = JText::_('COM_COSTBENEFITPROJECTION_IMPORT_FAILED'); $this->setRedirect(JRoute::_('index.php?option=com_costbenefitprojection&view=help_documents', false), $message, 'error'); return; }
$scalingfactors = '<table class="footable metro-blue toggle-circle" data-page-size="10"><thead><tr>' . $head . '</tr></thead><tbody>' . $body . '</tbody><tfoot class="hide-if-no-paging"><tr><td colspan="10"><div class="pagination pagination-centered"></div></td></tr></tfoot></table>'; } // set interventions $interventions = '<div class="uk-alert">' . JText::_('COM_COSTBENEFITPROJECTION_NO_INTERVENTIONS_SET') . '</div>'; if (isset($displayData->idCompanyInterventionE) && CostbenefitprojectionHelper::checkArray($displayData->idCompanyInterventionE)) { // the values to display $keys = array('id' => JText::_('ID'), 'name' => JText::_('COM_COSTBENEFITPROJECTION_NAME'), 'type' => JText::_('COM_COSTBENEFITPROJECTION_TYPE'), 'coverage' => JText::_('COM_COSTBENEFITPROJECTION_COVERAGE'), 'share' => JText::_('COM_COSTBENEFITPROJECTION_SHARE'), 'description' => JText::_('COM_COSTBENEFITPROJECTION_DESCRIPTION'), 'reference' => JText::_('COM_COSTBENEFITPROJECTION_REFERENCE'), 'intervention' => JText::_('COM_COSTBENEFITPROJECTION_INTERVENTION'), 'published' => JText::_('COM_COSTBENEFITPROJECTION_STATUS')); $rows = array('published' => 'setPublised', 'intervention' => 'setIntervention', 'name' => 'setInterventionLink', 'type' => 'setInterventionType', 'share' => 'setInterventionShare'); // header switces $datahide = array('id' => ' data-ignore="true" data-hide="all"', 'share' => ' data-hide="phone,tablet"', 'description' => ' data-hide="all"', 'reference' => ' data-hide="all"', 'intervention' => ' data-hide="all"'); $datatype = array('id' => ' data-type="numeric"', 'coverage' => ' data-type="numeric"'); $datatoggle = array('name' => ' data-toggle="true"'); // set the body $body = ''; foreach ($displayData->idCompanyInterventionE as $details) { if (CostbenefitprojectionHelper::checkObject($details)) { // build the dl list $body .= '<tr>'; foreach ($keys as $key => $header) { if (array_key_exists($key, $rows)) { // this should be save since all data passed is internal $body .= "{$rows[$key]($details)}"; } else { $body .= '<td>' . $details->{$key} . '</td>'; } } $body .= '</tr>'; } } // set the header dynamic $head = '';
/-------------------------------------------------------------------------------------------------------/ Cost Benefit Projection Tool. /------------------------------------------------------------------------------------------------------*/ // No direct access to this file defined('_JEXEC') or die('Restricted access'); $scaled = array('unscaled', 'scaled'); ?> <div id="view_wdls"> <h1><?php echo JText::_('COM_COSTBENEFITPROJECTION_WORK_DAYS_LOST_SUMMARY'); ?> </h1> <?php echo JText::_('COM_COSTBENEFITPROJECTION_TOTAL_DAYS_LOST_AND_CONTRIBUTION_OF_MORBIDITY_MORTALITY_AND_RISK_FACTORS'); if (isset($this->results->items) && CostbenefitprojectionHelper::checkObject($this->results->items)) { ?> <br /><?php echo JText::_('COM_COSTBENEFITPROJECTION_PERCENT_OF_BESTIMATED_BURDENB_BEING_TARGETED_BY_THIS_DISEASERISK_SELECTION'); ?> <b>(<?php echo round($this->results->totals->total_estimated_burden, 3) . '%'; ?> )</b> <?php foreach ($scaled as $scale) { ?> <table id="theTableWDLS_<?php echo $scale; ?> " class="footable table data metro-blue <?php
/** * Method to get list export data. * * @return mixed An array of data items on success, false on failure. */ public function getExportData($pks) { // setup the query if (CostbenefitprojectionHelper::checkArray($pks)) { // Set a value to know this is exporting method. $_export = true; // Get the user object. $user = JFactory::getUser(); // Create a new query object. $db = JFactory::getDBO(); $query = $db->getQuery(true); // Select some fields $query->select('a.*'); // From the costbenefitprojection_causerisk table $query->from($db->quoteName('#__costbenefitprojection_causerisk', 'a')); $query->where('a.id IN (' . implode(',', $pks) . ')'); // Implement View Level Access if (!$user->authorise('core.options', 'com_costbenefitprojection')) { $groups = implode(',', $user->getAuthorisedViewLevels()); $query->where('a.access IN (' . $groups . ')'); } // Order the results by ordering $query->order('a.ordering ASC'); // Load the items $db->setQuery($query); $db->execute(); if ($db->getNumRows()) { $items = $db->loadObjectList(); // set values to display correctly. if (CostbenefitprojectionHelper::checkArray($items)) { // get user object. $user = JFactory::getUser(); foreach ($items as $nr => &$item) { $access = $user->authorise('causerisk.access', 'com_costbenefitprojection.causerisk.' . (int) $item->id) && $user->authorise('causerisk.access', 'com_costbenefitprojection'); if (!$access) { unset($items[$nr]); continue; } // unset the values we don't want exported. unset($item->asset_id); unset($item->checked_out); unset($item->checked_out_time); } } // Add headers to items array. $headers = $this->getExImPortHeaders(); if (CostbenefitprojectionHelper::checkObject($headers)) { array_unshift($items, $headers); } return $items; } } return false; }
protected function setItems($items) { if (CostbenefitprojectionHelper::checkObject($items)) { $dont = array('male', 'female', 'details'); foreach ($items as $id => $values) { if (CostbenefitprojectionHelper::checkObject($values)) { if (!isset($this->items->{$id})) { $this->items->{$id} = new stdClass(); $this->items->{$id}->details = $values->details; } foreach ($values as $name => $value) { if (!in_array($name, $dont)) { if (strpos($name, 'money') == false) { if (isset($this->items->{$id}->{$name})) { $this->items->{$id}->{$name} += $value; } else { $this->items->{$id}->{$name} = $value; } } else { if (!isset($this->moneyMachine['items_' . $id][$name])) { // setup money making machine $numberString = str_replace('money', '', $name); $this->moneyMachine['items_' . $id][$name] = $numberString; } } } } } } } }
/** * Method to get list export data. * * @return mixed An array of data items on success, false on failure. */ public function getExportData($pks) { // setup the query if (CostbenefitprojectionHelper::checkArray($pks)) { // Set a value to know this is exporting method. $_export = true; // Get the user object. $user = JFactory::getUser(); // Create a new query object. $db = JFactory::getDBO(); $query = $db->getQuery(true); // Select some fields $query->select('a.*'); // From the costbenefitprojection_company table $query->from($db->quoteName('#__costbenefitprojection_company', 'a')); $query->where('a.id IN (' . implode(',', $pks) . ')'); // Filter by companies (admin sees all) if (!$user->authorise('core.options', 'com_costbenefitprojection')) { $companies = CostbenefitprojectionHelper::hisCompanies($user->id); if (CostbenefitprojectionHelper::checkArray($companies)) { $companies = implode(',', $companies); // only load this users companies $query->where('a.id IN (' . $companies . ')'); } else { // dont allow user to see any companies $query->where('a.id = -4'); } } // Implement View Level Access if (!$user->authorise('core.options', 'com_costbenefitprojection')) { $groups = implode(',', $user->getAuthorisedViewLevels()); $query->where('a.access IN (' . $groups . ')'); } // Order the results by ordering $query->order('a.ordering ASC'); // Load the items $db->setQuery($query); $db->execute(); if ($db->getNumRows()) { $items = $db->loadObjectList(); // Get the advanced encription key. $advancedkey = CostbenefitprojectionHelper::getCryptKey('advanced'); // Get the encription object. $advanced = new FOFEncryptAes($advancedkey, 256); // set values to display correctly. if (CostbenefitprojectionHelper::checkArray($items)) { // get user object. $user = JFactory::getUser(); foreach ($items as $nr => &$item) { $access = $user->authorise('company.access', 'com_costbenefitprojection.company.' . (int) $item->id) && $user->authorise('company.access', 'com_costbenefitprojection'); if (!$access) { unset($items[$nr]); continue; } if ($advancedkey && !is_numeric($item->medical_turnovers_females) && $item->medical_turnovers_females === base64_encode(base64_decode($item->medical_turnovers_females, true))) { // decrypt medical_turnovers_females $item->medical_turnovers_females = $advanced->decryptString($item->medical_turnovers_females); } if ($advancedkey && !is_numeric($item->females) && $item->females === base64_encode(base64_decode($item->females, true))) { // decrypt females $item->females = $advanced->decryptString($item->females); } if ($advancedkey && !is_numeric($item->sick_leave_males) && $item->sick_leave_males === base64_encode(base64_decode($item->sick_leave_males, true))) { // decrypt sick_leave_males $item->sick_leave_males = $advanced->decryptString($item->sick_leave_males); } if ($advancedkey && !is_numeric($item->medical_turnovers_males) && $item->medical_turnovers_males === base64_encode(base64_decode($item->medical_turnovers_males, true))) { // decrypt medical_turnovers_males $item->medical_turnovers_males = $advanced->decryptString($item->medical_turnovers_males); } if ($advancedkey && !is_numeric($item->total_salary) && $item->total_salary === base64_encode(base64_decode($item->total_salary, true))) { // decrypt total_salary $item->total_salary = $advanced->decryptString($item->total_salary); } if ($advancedkey && !is_numeric($item->sick_leave_females) && $item->sick_leave_females === base64_encode(base64_decode($item->sick_leave_females, true))) { // decrypt sick_leave_females $item->sick_leave_females = $advanced->decryptString($item->sick_leave_females); } if ($advancedkey && !is_numeric($item->total_healthcare) && $item->total_healthcare === base64_encode(base64_decode($item->total_healthcare, true))) { // decrypt total_healthcare $item->total_healthcare = $advanced->decryptString($item->total_healthcare); } if ($advancedkey && !is_numeric($item->males) && $item->males === base64_encode(base64_decode($item->males, true))) { // decrypt males $item->males = $advanced->decryptString($item->males); } // unset the values we don't want exported. unset($item->asset_id); unset($item->checked_out); unset($item->checked_out_time); } } // Add headers to items array. $headers = $this->getExImPortHeaders(); if (CostbenefitprojectionHelper::checkObject($headers)) { array_unshift($items, $headers); } return $items; } } return false; }
/** * Method to get list export data. * * @return mixed An array of data items on success, false on failure. */ public function getExportData($pks) { // setup the query if (CostbenefitprojectionHelper::checkArray($pks)) { // Set a value to know this is exporting method. $_export = true; // Get the user object. $user = JFactory::getUser(); // Create a new query object. $db = JFactory::getDBO(); $query = $db->getQuery(true); // Select some fields $query->select('a.*'); // From the costbenefitprojection_intervention table $query->from($db->quoteName('#__costbenefitprojection_intervention', 'a')); $query->where('a.id IN (' . implode(',', $pks) . ')'); // Filter the companies (admin sees all) if (!$user->authorise('core.options', 'com_costbenefitprojection')) { $companies = CostbenefitprojectionHelper::hisCompanies($user->id); if (CostbenefitprojectionHelper::checkArray($companies)) { $companies = implode(',', $companies); // only load this users companies $query->where('a.company IN (' . $companies . ')'); } else { // don't allow user to see any companies $query->where('a.company = -4'); } } // Order the results by ordering $query->order('a.ordering ASC'); // Load the items $db->setQuery($query); $db->execute(); if ($db->getNumRows()) { $items = $db->loadObjectList(); // set values to display correctly. if (CostbenefitprojectionHelper::checkArray($items)) { // get user object. $user = JFactory::getUser(); foreach ($items as $nr => &$item) { $access = $user->authorise('intervention.access', 'com_costbenefitprojection.intervention.' . (int) $item->id) && $user->authorise('intervention.access', 'com_costbenefitprojection'); if (!$access) { unset($items[$nr]); continue; } // unset the values we don't want exported. unset($item->asset_id); unset($item->checked_out); unset($item->checked_out_time); } } // Add headers to items array. $headers = $this->getExImPortHeaders(); if (CostbenefitprojectionHelper::checkObject($headers)) { array_unshift($items, $headers); } // check if item is to load based on sharing setting if (CostbenefitprojectionHelper::checkArray($items)) { foreach ($items as $nr => &$item) { if (!CostbenefitprojectionHelper::checkIntervetionAccess($item->id, $item->share, $item->company)) { unset($items[$nr]); continue; } } } return $items; } } return false; }
public function setCompany() { if (CostbenefitprojectionHelper::checkObject($this->company)) { // main switch $usecountry = false; // public switch if (isset($this->company->public)) { $usecountry = true; $cKey = 'id'; } else { $cKey = 'country'; } // set array of json objects to convert to array $jsonObjects = array('percentmale', 'percentfemale', 'country_percentmale', 'country_percentfemale', 'country_maledeath', 'country_femaledeath', 'country_maleyld', 'country_femaleyld'); $removeArray = array('asset_id', 'not_required', 'published', 'created_by', 'country_created_by', 'country_created', 'country_version', 'country_hits', 'country_ordering', 'modified_by', 'country_asset_id', 'created', 'modified', 'version', 'hits', 'ordering', 'country_published', 'country_modified_by', 'country_modified', 'country_maledeath', 'country_femaledeath', 'country_maleyld', 'country_femaleyld', 'idCompanyScaling_factorC', $cKey . 'CountryHealth_dataB', $cKey . 'CountryHealth_dataBB', 'causesrisksIdCauseriskG', 'causesrisksIdCauseriskGG', 'idCompanyInterventionD', 'countryCountryInterventionDD', 'idCountryInterventionDD'); foreach ($jsonObjects as $jsonObject) { if (isset($this->company->{$jsonObject}) && CostbenefitprojectionHelper::isJson($this->company->{$jsonObject})) { // convert to array $array = json_decode($this->company->{$jsonObject}, true); if (CostbenefitprojectionHelper::checkArray($array)) { $this->company->{$jsonObject} = array(); foreach ($array as $option => $values) { if (CostbenefitprojectionHelper::checkArray($values)) { foreach ($values as $nr => $value) { $this->company->{$jsonObject}[$nr][$option] = $value; } } } } } } // if company has not causerisks selected fall back on country if ($usecountry || isset($this->company->causesrisks) && !CostbenefitprojectionHelper::checkArray($this->company->causesrisks) || $this->company->department == 1) { $this->company->causesrisks = $this->company->country_causesrisks; $this->company->medical_turnovers_males = $this->company->males * ($this->company->country_medical_turnovers / 100000); $this->company->medical_turnovers_females = $this->company->females * ($this->company->country_medical_turnovers / 100000); $this->company->sick_leave_males = $this->company->males * $this->company->country_sick_leave; $this->company->sick_leave_females = $this->company->females * $this->company->country_sick_leave; $this->company->datayear = $this->company->country_datayear; $this->company->total_healthcare = $this->company->country_healthcare / 100 * $this->company->total_salary; $this->company->working_days = $this->company->country_working_days; $this->company->productivity_losses = $this->company->country_productivity_losses; $usecountry = true; } // percent sorting $percentSort = array('percentmale', 'percentfemale', 'country_percentmale', 'country_percentfemale'); foreach ($percentSort as $sort) { $point = $sort; if (isset($this->company->{$sort}) && !CostbenefitprojectionHelper::checkArray($this->company->{$sort}) && strpos($sort, 'country') === false) { $sort = 'country_' . $sort; } if (isset($this->company->{$sort}) && CostbenefitprojectionHelper::checkArray($this->company->{$sort})) { $bucket = array(); foreach ($this->company->{$sort} as $value) { $bucket[$value['age']] = (int) $value['percent']; } $this->company->{$point} = $bucket; } } // country totals sorting $countrySort = array('country_maledeath' => array('gender' => 'male', 'type' => 'death'), 'country_femaledeath' => array('gender' => 'female', 'type' => 'death'), 'country_maleyld' => array('gender' => 'male', 'type' => 'yld'), 'country_femaleyld' => array('gender' => 'female', 'type' => 'yld')); $this->company->country_yld = 0; $this->company->country_death = 0; foreach ($countrySort as $sort => $tar) { if (isset($this->company->{$sort}) && CostbenefitprojectionHelper::checkArray($this->company->{$sort})) { foreach ($this->company->{$sort} as $value) { if ($this->company->datayear == $value['year']) { $this->company->{'country_' . $tar['type']} += $value['number']; } } } } // country health totals sorting $specialSort = array('maledeath', 'maleyld', 'femaledeath', 'femaleyld'); $keepData = array(); if (isset($this->company->{$cKey . 'CountryHealth_dataB'}) && CostbenefitprojectionHelper::checkArray($this->company->{$cKey . 'CountryHealth_dataB'}) && !$usecountry) { $healthBucket = array(); foreach ($this->company->{$cKey . 'CountryHealth_dataB'} as $healthData) { $healthBucket[$healthData->causerisk] = new stdClass(); foreach ($specialSort as $sort) { if (isset($healthData->{$sort}) && CostbenefitprojectionHelper::isJson($healthData->{$sort})) { // convert to array $array = json_decode($healthData->{$sort}, true); if (CostbenefitprojectionHelper::checkArray($array)) { foreach ($array as $option => $values) { if (CostbenefitprojectionHelper::checkArray($values)) { foreach ($values as $nr => $value) { $healthBucket[$healthData->causerisk]->{$sort}[$nr][$option] = $value; } } } } } } // number sorting foreach ($specialSort as $sort) { if (isset($healthBucket[$healthData->causerisk]->{$sort}) && CostbenefitprojectionHelper::checkArray($healthBucket[$healthData->causerisk]->{$sort})) { $bucket = array(); foreach ($healthBucket[$healthData->causerisk]->{$sort} as $value) { if (CostbenefitprojectionHelper::checkArray($value)) { $buket[$value['age']] = $value['number']; } } $healthBucket[$healthData->causerisk]->{$sort} = $buket; } } // check if we should keep any other data if (CostbenefitprojectionHelper::checkArray($keepData)) { // set data to keep foreach ($keepData as $keep) { $healthBucket[$healthData->causerisk]->{$keep} = $healthData->{$keep}; } } } } elseif (isset($this->company->{$cKey . 'CountryHealth_dataBB'}) && CostbenefitprojectionHelper::checkArray($this->company->{$cKey . 'CountryHealth_dataBB'}) && $usecountry) { $healthBucket = array(); foreach ($this->company->{$cKey . 'CountryHealth_dataBB'} as $healthData) { $healthBucket[$healthData->causerisk] = new stdClass(); foreach ($specialSort as $sort) { if (isset($healthData->{$sort}) && CostbenefitprojectionHelper::isJson($healthData->{$sort})) { // convert to array $array = json_decode($healthData->{$sort}, true); if (CostbenefitprojectionHelper::checkArray($array)) { foreach ($array as $option => $values) { if (CostbenefitprojectionHelper::checkArray($values)) { foreach ($values as $nr => $value) { $healthBucket[$healthData->causerisk]->{$sort}[$nr][$option] = $value; } } } } } } // number sorting foreach ($specialSort as $sort) { if (isset($healthBucket[$healthData->causerisk]->{$sort}) && CostbenefitprojectionHelper::checkArray($healthBucket[$healthData->causerisk]->{$sort})) { $bucket = array(); foreach ($healthBucket[$healthData->causerisk]->{$sort} as $value) { if (CostbenefitprojectionHelper::checkArray($value)) { $buket[$value['age']] = $value['number']; } } $healthBucket[$healthData->causerisk]->{$sort} = $buket; } } // check if we should keep any other data if (CostbenefitprojectionHelper::checkArray($keepData)) { // set data to keep foreach ($keepData as $keep) { $healthBucket[$healthData->causerisk]->{$keep} = $healthData->{$keep}; } } } } // set health data $this->company->healthData = $healthBucket; unset($healthBucket); // set company scaling $keepData = array('yld_scaling_factor_males', 'yld_scaling_factor_females', 'mortality_scaling_factor_males', 'mortality_scaling_factor_females', 'presenteeism_scaling_factor_males', 'presenteeism_scaling_factor_females', 'health_scaling_factor'); $scalingBucket = array(); if (isset($this->company->idCompanyScaling_factorC) && CostbenefitprojectionHelper::checkArray($this->company->idCompanyScaling_factorC)) { // use the compony set values foreach ($this->company->idCompanyScaling_factorC as $scalingFactor) { $scalingBucket[$scalingFactor->causerisk] = new stdClass(); foreach ($keepData as $keep) { $scalingBucket[$scalingFactor->causerisk]->{$keep} = $scalingFactor->{$keep}; } } } else { // set defaults foreach ($this->company->causesrisks as $scalingFactor) { $scalingBucket[$scalingFactor] = new stdClass(); foreach ($keepData as $keep) { $scalingBucket[$scalingFactor]->{$keep} = 1; } } } // set scaling factors $this->company->scalingFactors = $scalingBucket; unset($scalingBucket); // set Cause/Risk Details $keepData = array('id', 'ref', 'name', 'alias', 'category', 'description'); if (isset($this->company->causesrisksIdCauseriskG) && CostbenefitprojectionHelper::checkArray($this->company->causesrisksIdCauseriskG) && !$usecountry) { foreach ($this->company->causesrisksIdCauseriskG as $causesrisks) { $this->items[$causesrisks->id] = new stdClass(); $this->items[$causesrisks->id]->details = new stdClass(); foreach ($keepData as $keep) { $this->items[$causesrisks->id]->details->{$keep} = $causesrisks->{$keep}; } } } elseif (isset($this->company->causesrisksIdCauseriskGG) && CostbenefitprojectionHelper::checkArray($this->company->causesrisksIdCauseriskGG) && $usecountry) { foreach ($this->company->causesrisksIdCauseriskGG as $causesrisks) { $this->items[$causesrisks->id] = new stdClass(); $this->items[$causesrisks->id]->details = new stdClass(); foreach ($keepData as $keep) { $this->items[$causesrisks->id]->details->{$keep} = $causesrisks->{$keep}; } } } // set company insterventions $keepData = array('id', 'name', 'coverage', 'duration', 'description', 'reference', 'share', 'type'); $insterventionBucket = array(); if (isset($this->company->idCompanyInterventionD) && CostbenefitprojectionHelper::checkArray($this->company->idCompanyInterventionD)) { foreach ($this->company->idCompanyInterventionD as $key => $intervention) { $insterventionBucket[$key] = new stdClass(); foreach ($keepData as $keep) { $insterventionBucket[$key]->{$keep} = $intervention->{$keep}; } // load the most important part, the actual intervention data $array = json_decode($intervention->intervention, true); if (CostbenefitprojectionHelper::checkArray($array)) { $insterventionBucket[$key]->data = array(); foreach ($array as $option => $values) { if (CostbenefitprojectionHelper::checkArray($values)) { foreach ($values as $nr => $value) { if ('causerisk' == $option) { $insterventionBucket[$key]->data[$nr]['id'] = $value; $insterventionBucket[$key]->data[$nr]['allias'] = CostbenefitprojectionHelper::getVar('causerisk', $value, 'id', 'alias'); } else { // set values $insterventionBucket[$key]->data[$nr][$option] = $value; } } } } } } } elseif ($usecountry || isset($this->company->{$cKey . 'CountryInterventionDD'}) && CostbenefitprojectionHelper::checkArray($this->company->{$cKey . 'CountryInterventionDD'})) { foreach ($this->company->{$cKey . 'CountryInterventionDD'} as $key => $intervention) { $insterventionBucket[$key] = new stdClass(); foreach ($keepData as $keep) { $insterventionBucket[$key]->{$keep} = $intervention->{$keep}; } // load the most important part, the actual intervention data $array = json_decode($intervention->intervention, true); if (CostbenefitprojectionHelper::checkArray($array)) { $insterventionBucket[$key]->data = array(); foreach ($array as $option => $values) { if (CostbenefitprojectionHelper::checkArray($values)) { foreach ($values as $nr => $value) { if ('causerisk' == $option) { $insterventionBucket[$key]->data[$nr]['id'] = $value; $insterventionBucket[$key]->data[$nr]['allias'] = CostbenefitprojectionHelper::getVar('causerisk', $value, 'id', 'alias'); } else { // set values $insterventionBucket[$key]->data[$nr][$option] = $value; } } } } } } } // set intervention to company data $this->company->interventions = $insterventionBucket; unset($insterventionBucket); // remove undeeded values if (CostbenefitprojectionHelper::checkArray($removeArray)) { foreach ($removeArray as $remove) { // remove value if set if (isset($this->company->{$remove})) { unset($this->company->{$remove}); } } } return true; } return false; }