mirror of
https://github.com/e107inc/e107.git
synced 2025-08-06 06:38:00 +02: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:
@@ -669,32 +669,39 @@ $ns->tablerender(UCSLAN_21, $text);
|
|||||||
|
|
||||||
if (isset($_POST['flatten_class_tree']))
|
if (isset($_POST['flatten_class_tree']))
|
||||||
{ // Remove the default tree
|
{ // Remove the default tree
|
||||||
$message = UCSLAN_65;
|
$message = UCSLAN_65;
|
||||||
$sql->db_Update("userclass_classes", "userclass_parent='0'");
|
$sql->db_Update('userclass_classes', "userclass_parent='0'");
|
||||||
$e_userclass->calc_tree();
|
$e_userclass->calc_tree();
|
||||||
$e_userclass->save_tree();
|
$e_userclass->save_tree();
|
||||||
$e_userclass->readTree(TRUE); // Need to re-read the tree to show correct info
|
$e_userclass->readTree(TRUE); // Need to re-read the tree to show correct info
|
||||||
$message .= UCSLAN_64;
|
$message .= UCSLAN_64;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($_POST['rebuild_tree']))
|
if (isset($_POST['rebuild_tree']))
|
||||||
{
|
{
|
||||||
$message = UCSLAN_70;
|
$message = UCSLAN_70;
|
||||||
$e_userclass->calc_tree();
|
$e_userclass->calc_tree();
|
||||||
$e_userclass->save_tree();
|
$e_userclass->save_tree();
|
||||||
$message .= UCSLAN_64;
|
$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)
|
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 = e107::getMessage();
|
||||||
|
|
||||||
$mes->addWarning(UCSLAN_52."<br />".UCSLAN_53);
|
$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'>
|
<table class='table adminform'>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col class='col-label' />
|
<col class='col-label' />
|
||||||
@@ -710,8 +717,18 @@ $ns->tablerender(UCSLAN_21, $text);
|
|||||||
</td><td>
|
</td><td>
|
||||||
".$frm->admin_button('flatten_class_tree','no-value','delete', UCSLAN_58)."
|
".$frm->admin_button('flatten_class_tree','no-value','delete', UCSLAN_58)."
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>";
|
||||||
</table></form>";
|
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);
|
$ns->tablerender(UCSLAN_61, $mes->render().$text);
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -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
|
* Clear user class cache
|
||||||
* @return none
|
* @return none
|
||||||
|
Reference in New Issue
Block a user