/**
  * Returns an array of parameters based on a template
  */
 public static function astXMLFullParametersToArray($template)
 {
     // gather all parameters from PARAMETER db
     $allParametersArray = array();
     $parameters = astParameterModel::all();
     foreach ($parameters as $parameter) {
         array_push($allParametersArray, $parameter);
     }
     // create array of parameters in XML file
     $phoneParametersArray = array();
     foreach ($allParametersArray as $parameter) {
         $needle = '_' . $parameter->NAME . '_';
         if (!(strpos($template, $needle) === FALSE)) {
             array_push($phoneParametersArray, $parameter);
         }
     }
     return $phoneParametersArray;
 }
 /**
  * Add new parameters from CSV.
  */
 public function newParameters()
 {
     $parameters = Input::get('unknownParameter');
     $allParameters = session()->get('unknownParameters');
     $allParametersNames = session()->get('unknownParametersNames');
     // create parameters
     foreach ($allParametersNames as $allParameter) {
         if (in_array($allParameter, $parameters)) {
             $newParameter = ["DESCRIPTION" => $allParameter, "NAME" => $allParameter];
             astParameterModel::create($newParameter);
         }
     }
     // create parameter values
     foreach ($allParameters as $allParameter) {
         if (in_array($allParameter['name'], $parameters)) {
             $parameterId = astParameterModel::where('NAME', '=', $allParameter['name'])->get();
             $parameterId = $parameterId[0]->PARAMETER_ID;
             $newParameterValue = ["PHONE_ID" => $allParameter['PHONE_ID'], "PARAMETER_ID" => $parameterId, "VALUE" => $allParameter['VALUE']];
             astPhoneParameterValueModel::create($newParameterValue);
         }
     }
     session()->forget('unknownParameters');
     session()->forget('unknownParametersNames');
     $query = (new astPhoneModel())->newQuery();
     $astPhones = $query->orderBy('MAC')->get();
     Session::flash('astMessage', 'Parameters added!');
     return View::make('ast.astPhones.index')->with('astPhones', $astPhones);
 }
 /**
  * Delete an existing parameter.
  */
 public function delete($id)
 {
     // delete parameter values
     $astParameterValues = astPhoneParameterValueModel::where('PARAMETER_ID', '=', $id)->get();
     foreach ($astParameterValues as $astParameterValue) {
         $astParameterValue->delete();
     }
     $astParameter = astParameterModel::findOrFail($id);
     $astParameter->delete();
     Session::flash('astMessage', 'Parameter has been deleted!');
     return Redirect::route('parameters');
 }