1
0
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:
SteveD
2012-12-29 12:12:51 +00:00
parent 903c3defff
commit 83fb9f5818
3 changed files with 654 additions and 491 deletions

View File

@@ -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);

View File

@@ -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>

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