1
0
mirror of https://github.com/e107inc/e107.git synced 2025-03-14 01:19:44 +01:00

Issue #60 - set proper user class tree during install - plus dev aid to generate appropriate xml (data should match the 'set default tree' available on an option button from userclass admin)

This commit is contained in:
SteveD 2012-12-29 12:12:51 +00:00
parent 903c3defff
commit 83fb9f5818
3 changed files with 654 additions and 491 deletions

View File

@ -669,32 +669,39 @@ $ns->tablerender(UCSLAN_21, $text);
if (isset($_POST['flatten_class_tree']))
{ // Remove the default tree
$message = UCSLAN_65;
$sql->db_Update("userclass_classes", "userclass_parent='0'");
$e_userclass->calc_tree();
$e_userclass->save_tree();
$e_userclass->readTree(TRUE); // Need to re-read the tree to show correct info
$message .= UCSLAN_64;
$message = UCSLAN_65;
$sql->db_Update('userclass_classes', "userclass_parent='0'");
$e_userclass->calc_tree();
$e_userclass->save_tree();
$e_userclass->readTree(TRUE); // Need to re-read the tree to show correct info
$message .= UCSLAN_64;
}
if (isset($_POST['rebuild_tree']))
{
$message = UCSLAN_70;
$e_userclass->calc_tree();
$e_userclass->save_tree();
$message .= UCSLAN_64;
$message = UCSLAN_70;
$e_userclass->calc_tree();
$e_userclass->save_tree();
$message .= UCSLAN_64;
}
if ($params == 'xml') $params = '.xml'; else $params = '';
if (isset($_POST['create_xml_db']) && ($params == '.xml'))
{
$message = $e_userclass->makeXMLFile() ? 'XML file created' : 'Error creating XML file';
}
if ($message)
{
$ns->tablerender("", "<div style='text-align:center'><b>".$message."</b></div>");
$ns->tablerender('', "<div style='text-align:center'><b>".$message."</b></div>");
}
$mes = e107::getMessage();
$mes->addWarning(UCSLAN_52."<br />".UCSLAN_53);
$text = "<form method='post' action='".e_SELF."?options' id='treesetForm'>
$text = "<form method='post' action='".e_SELF."?options{$params}' id='treesetForm'>
<table class='table adminform'>
<colgroup>
<col class='col-label' />
@ -710,8 +717,18 @@ $ns->tablerender(UCSLAN_21, $text);
</td><td>
".$frm->admin_button('flatten_class_tree','no-value','delete', UCSLAN_58)."
</td>
</tr>
</table></form>";
</tr>";
if ($params == '.xml')
{
$text .= "<tr>
<td>".'Create XML file of DB'."<br /><span class='smalltext'>".'Dev aid to set initial values'."</span><br />
</td><td>
".$frm->admin_button('create_xml_db','no-value','create', 'Create')."
</td>
</tr>";
}
$text .= "</table></form>";
$ns->tablerender(UCSLAN_61, $mes->render().$text);

File diff suppressed because it is too large Load Diff

View File

@ -1762,6 +1762,31 @@ class user_class_admin extends user_class
}
/**
* Write the current userclass tree to the file e_TEMP.'userclasses.xml'
*
* @return TRUE on success, FALSE on fail.
*/
public function makeXMLFile()
{
$xml = "<dbTable name=\"userclass_classes\">\n";
foreach ($this->class_tree as $uc => $d)
{
$xml .= "\t<item>\n";
$xml .= "\t\t<field name=\"userclass_id\">{$uc}</field>\n";
foreach ($this->field_list as $f => $v)
{
$xml .= "\t\t<field name=\"{$f}\">{$d[$f]}</field>\n";
}
$xml .= "\t</item>\n";
}
$xml .= "</dbTable>\n";
return (file_put_contents(e_TEMP.'userclasses.xml', $xml) === FALSE) ? FALSE : TRUE;
}
/**
* Clear user class cache
* @return none