uMethod == "post") { $handler = new CPHPFormHandler(); try { $handler ->RequireKey("filename") ->RequireKey("name") ->RequireKey("description") ->RequireNonEmpty("filename") ->RequireNonEmpty("name") ->ValidateCustom("filename", "The specified template file does not exist.", function($key, $value, $args, $handler){ return file_exists("/etc/cvm/templates/{$value}"); }) ->Done(); foreach($handler->GetGroupedValues("filename", "name", "description") as $uTemplateData) { $sTemplate = new Template(); $sTemplate->uName = $uTemplateData["name"]; $sTemplate->uTemplateName = $uTemplateData["filename"]; $sTemplate->uDescription = $uTemplateData["description"]; $sTemplate->uIsSupported = true; $sTemplate->uIsOutdated = false; $sTemplate->uIsAvailable = true; $sTemplate->InsertIntoDatabase(); } redirect("/admin/templates/"); } catch (FormValidationException $e) { var_dump($e->GetOffendingKeys()); var_dump($e->GetErrors()); } } else { $sUnknownTemplates = array(); $handle = opendir("/etc/cvm/templates"); while(($filename = readdir($handle)) !== false) { if($filename != "." && $filename != "..") { try { Template::CreateFromQuery("SELECT * FROM templates WHERE `TemplateName` = :Filename", array("Filename" => $filename), 0); } catch (NotFoundException $e) { $sUnknownTemplates[] = $filename; } } } closedir($handle); $sPageContents = NewTemplater::Render("{$sTheme}/admin/template/add", $locale->strings, array( "templates" => $sUnknownTemplates )); }