Пример #1
0
 private function buildAddModuleItemArgs(ModulesRequest $request)
 {
     $urlArgs = array();
     if (!$request->getModuleItem()->title) {
         throw new InvalidParameterInRequestObjectException(get_class($this), "Title", "Parameter is required");
     }
     if (!$request->getModuleItem()->type) {
         throw new InvalidParameterInRequestObjectException(get_class($this), "Type", "Type is required");
     }
     $modItem = $request->getModuleItem();
     foreach ($modItem as $key => $value) {
         if ($key === "content_id" && $value) {
             //Content Id is NOT required for ‘ExternalUrl’, ‘Page’, and ‘SubHeader’ types.
             $type = $request->getModuleItem()->type;
             if ($type === "ExternalUrl" || $type === "Page" || $type === "SubHeader") {
                 continue;
             }
         }
         if ($key === "tags" || $key === "published") {
             //a module item
             continue;
         }
         if ($key === "completion_requirement_type" && $value) {
             $urlArgs[] = "module_item[completion_requirement][type]={$value}";
         } else {
             if ($key === "completion_requirement_min_score" && $value) {
                 $urlArgs[] = "module_item[completion_requirement][min_score]={$value}";
             } else {
                 if ($value) {
                     $urlArgs[] = "module_item[{$key}]={$value}";
                 }
             }
         }
     }
     return $urlArgs;
 }