static function newFromRequest($request)
 {
     $whow = new WikihowArticleEditor();
     $steps = $request->getText("steps");
     $tips = $request->getText("tips");
     $warnings = $request->getText("warnings");
     $summary = $request->getText("summary");
     $category = "";
     $categories = "";
     for ($i = 0; $i < 2; $i++) {
         if ($request->getVal("category" . $i, null) != null) {
             if ($categories != "") {
                 $categories .= ", ";
             }
             $categories .= $request->getVal("category" . $i);
         } else {
             if ($request->getVal('topcategory' . $i, null) != null && $request->getVal('TopLevelCategoryOk') == 'true') {
                 if ($categories != "") {
                     $categories .= ", ";
                 }
                 $categories .= $request->getVal("topcategory" . $i);
             }
         }
     }
     $hidden_cats = $request->getText("categories22");
     if ($categories == "" && $hidden_cats != "") {
         $categories = $hidden_cats;
     }
     $ingredients = $request->getText("ingredients");
     $whow->setSection("ingredients", $ingredients);
     $whow->setSteps($steps);
     $whow->setSection('tips', $tips);
     $whow->setSection('warnings', $warnings);
     $whow->setSummary($summary);
     $whow->setSection("thingsyoullneed", $request->getVal("thingsyoullneed"));
     $whow->setLangLinks($request->getVal('langlinks'));
     $related_no_js = $request->getVal('related_no_js');
     $no_js = $request->getVal('no_js');
     if ($no_js != null && $no_js == true) {
         $whow->setSection("related", $related_no_js);
     } else {
         // user has javascript
         $whow->setRelatedString($request->getVal("related_list"));
     }
     $whow->setSection("sources", $request->getVal("sources"));
     $whow->setSection("video", $request->getVal("video"));
     $whow->setCategoryString($categories);
     return $whow;
 }