You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
2.1 KiB
PHTML

<?php
/*
* CVM is more free software. It is licensed under the WTFPL, which
* allows you to do pretty much anything with it, without having to
* ask permission. Commercial use is allowed, and no attribution is
* required. We do politely request that you share your modifications
* to benefit other developers, but you are under no enforced
* obligation to do so :)
*
* Please read the accompanying LICENSE document for the full WTFPL
* licensing text.
*/
if(!isset($_APP)) { die("Unauthorized."); }
11 years ago
if($router->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/");
11 years ago
}
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
));
}