mirror of
https://github.com/e107inc/e107.git
synced 2025-08-05 22:27:34 +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:
@@ -670,7 +670,7 @@ $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'");
|
||||
$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
|
||||
@@ -685,16 +685,23 @@ $ns->tablerender(UCSLAN_21, $text);
|
||||
$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);
|
||||
|
||||
|
@@ -724,7 +724,7 @@ City, State, Country
|
||||
<field name="link_sefurl"></field>
|
||||
</item>
|
||||
</dbTable>
|
||||
<dbTable name="menus">
|
||||
<dbTable name="menus">
|
||||
<item>
|
||||
<field name="menu_id">1</field>
|
||||
<field name="menu_name">login_menu</field>
|
||||
@@ -995,24 +995,145 @@ City, State, Country
|
||||
<dbTable name="page">
|
||||
</dbTable>
|
||||
<dbTable name="userclass_classes">
|
||||
<item>
|
||||
<field name="userclass_id">1</field>
|
||||
<field name="userclass_name">PRIVATEMENU</field>
|
||||
<field name="userclass_description">Grants access to private menu items</field>
|
||||
<field name="userclass_editclass">254</field>
|
||||
<field name="userclass_parent">0</field>
|
||||
<field name="userclass_accum"></field>
|
||||
<field name="userclass_visibility">0</field>
|
||||
<field name="userclass_type">0</field>
|
||||
<field name="userclass_icon"></field>
|
||||
</item>
|
||||
<item>
|
||||
<field name="userclass_id">2</field>
|
||||
<field name="userclass_name">CONTACT PEOPLE</field>
|
||||
<field name="userclass_description">Example contact person class</field>
|
||||
<field name="userclass_editclass">254</field>
|
||||
<field name="userclass_parent">0</field>
|
||||
<field name="userclass_accum"></field>
|
||||
<field name="userclass_accum">0,2</field>
|
||||
<field name="userclass_visibility">0</field>
|
||||
<field name="userclass_type">0</field>
|
||||
<field name="userclass_icon"></field>
|
||||
</item>
|
||||
<item>
|
||||
<field name="userclass_id">253</field>
|
||||
<field name="userclass_name">Members</field>
|
||||
<field name="userclass_description">Registered and logged in members</field>
|
||||
<field name="userclass_editclass">250</field>
|
||||
<field name="userclass_parent">0</field>
|
||||
<field name="userclass_accum">0,253</field>
|
||||
<field name="userclass_visibility">253</field>
|
||||
<field name="userclass_type">0</field>
|
||||
<field name="userclass_icon"></field>
|
||||
</item>
|
||||
<item>
|
||||
<field name="userclass_id">246</field>
|
||||
<field name="userclass_name">Search Bots</field>
|
||||
<field name="userclass_description">Identified search bots</field>
|
||||
<field name="userclass_editclass">250</field>
|
||||
<field name="userclass_parent">0</field>
|
||||
<field name="userclass_accum">0,246</field>
|
||||
<field name="userclass_visibility">254</field>
|
||||
<field name="userclass_type">0</field>
|
||||
<field name="userclass_icon"></field>
|
||||
</item>
|
||||
<item>
|
||||
<field name="userclass_id">254</field>
|
||||
<field name="userclass_name">Admin</field>
|
||||
<field name="userclass_description">Site Administrators</field>
|
||||
<field name="userclass_editclass">250</field>
|
||||
<field name="userclass_parent">249</field>
|
||||
<field name="userclass_accum">254</field>
|
||||
<field name="userclass_visibility">253</field>
|
||||
<field name="userclass_type">0</field>
|
||||
<field name="userclass_icon"></field>
|
||||
</item>
|
||||
<item>
|
||||
<field name="userclass_id">248</field>
|
||||
<field name="userclass_name">Forum Moderators</field>
|
||||
<field name="userclass_description">Moderators for Forums and other areas</field>
|
||||
<field name="userclass_editclass">250</field>
|
||||
<field name="userclass_parent">249</field>
|
||||
<field name="userclass_accum">248</field>
|
||||
<field name="userclass_visibility">253</field>
|
||||
<field name="userclass_type">0</field>
|
||||
<field name="userclass_icon"></field>
|
||||
</item>
|
||||
<item>
|
||||
<field name="userclass_id">249</field>
|
||||
<field name="userclass_name">Admins and Mods</field>
|
||||
<field name="userclass_description">Anyone able to administer something, moderate forums etc</field>
|
||||
<field name="userclass_editclass">250</field>
|
||||
<field name="userclass_parent">250</field>
|
||||
<field name="userclass_accum">249,254,248</field>
|
||||
<field name="userclass_visibility">253</field>
|
||||
<field name="userclass_type">0</field>
|
||||
<field name="userclass_icon"></field>
|
||||
</item>
|
||||
<item>
|
||||
<field name="userclass_id">1</field>
|
||||
<field name="userclass_name">PRIVATEMENU</field>
|
||||
<field name="userclass_description">Grants access to private menu items</field>
|
||||
<field name="userclass_editclass">254</field>
|
||||
<field name="userclass_parent">253</field>
|
||||
<field name="userclass_accum">0,253,1</field>
|
||||
<field name="userclass_visibility">0</field>
|
||||
<field name="userclass_type">0</field>
|
||||
<field name="userclass_icon"></field>
|
||||
</item>
|
||||
<item>
|
||||
<field name="userclass_id">247</field>
|
||||
<field name="userclass_name">New Users</field>
|
||||
<field name="userclass_description">Recently joined users</field>
|
||||
<field name="userclass_editclass">250</field>
|
||||
<field name="userclass_parent">253</field>
|
||||
<field name="userclass_accum">0,253,247</field>
|
||||
<field name="userclass_visibility">254</field>
|
||||
<field name="userclass_type">0</field>
|
||||
<field name="userclass_icon"></field>
|
||||
</item>
|
||||
<item>
|
||||
<field name="userclass_id">250</field>
|
||||
<field name="userclass_name">Main Admin</field>
|
||||
<field name="userclass_description">Main site Administrators</field>
|
||||
<field name="userclass_editclass">250</field>
|
||||
<field name="userclass_parent">255</field>
|
||||
<field name="userclass_accum">250,249,254,248</field>
|
||||
<field name="userclass_visibility">253</field>
|
||||
<field name="userclass_type">0</field>
|
||||
<field name="userclass_icon"></field>
|
||||
</item>
|
||||
<item>
|
||||
<field name="userclass_id">0</field>
|
||||
<field name="userclass_name">Everyone (public)</field>
|
||||
<field name="userclass_description">Fixed class</field>
|
||||
<field name="userclass_editclass">250</field>
|
||||
<field name="userclass_parent">0</field>
|
||||
<field name="userclass_accum">0</field>
|
||||
<field name="userclass_visibility">0</field>
|
||||
<field name="userclass_type">0</field>
|
||||
<field name="userclass_icon"></field>
|
||||
</item>
|
||||
<item>
|
||||
<field name="userclass_id">252</field>
|
||||
<field name="userclass_name">Guests</field>
|
||||
<field name="userclass_description">Fixed class</field>
|
||||
<field name="userclass_editclass">250</field>
|
||||
<field name="userclass_parent">0</field>
|
||||
<field name="userclass_accum">252</field>
|
||||
<field name="userclass_visibility">0</field>
|
||||
<field name="userclass_type">0</field>
|
||||
<field name="userclass_icon"></field>
|
||||
</item>
|
||||
<item>
|
||||
<field name="userclass_id">255</field>
|
||||
<field name="userclass_name">No One (inactive)</field>
|
||||
<field name="userclass_description">Fixed class</field>
|
||||
<field name="userclass_editclass">250</field>
|
||||
<field name="userclass_parent">0</field>
|
||||
<field name="userclass_accum">255</field>
|
||||
<field name="userclass_visibility">0</field>
|
||||
<field name="userclass_type">0</field>
|
||||
<field name="userclass_icon"></field>
|
||||
</item>
|
||||
<item>
|
||||
<field name="userclass_id">251</field>
|
||||
<field name="userclass_name">Read Only</field>
|
||||
<field name="userclass_description">Fixed class</field>
|
||||
<field name="userclass_editclass">250</field>
|
||||
<field name="userclass_parent">0</field>
|
||||
<field name="userclass_accum">251</field>
|
||||
<field name="userclass_visibility">0</field>
|
||||
<field name="userclass_type">0</field>
|
||||
<field name="userclass_icon"></field>
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user