Merge pull request #116 from fabrixxm/admin

Admin pages
This commit is contained in:
Friendika
2011-06-16 15:27:12 -07:00
42 changed files with 1474 additions and 158 deletions

33
view/admin_aside.tpl Normal file
View File

@@ -0,0 +1,33 @@
<script>
// update pending count //
$(function(){
$("nav").bind('nav-update', function(e,data){
var elm = $('#pending-update');
var register = $(data).find('register').text();
if (register=="0") { reigster=""; elm.hide();} else { elm.show(); }
elm.html(register);
console.log(elm, data, register);
});
});
</script>
<h4><a href="$admurl">Admin</a></h4>
<ul>
<li class='admin link $admin.site.2'><a href='$admin.site.0'>$admin.site.1</a></li>
<li class='admin link $admin.users.2'><a href='$admin.users.0'>$admin.users.1</a><span id='pending-update' title='$h_pending'></span></li>
<li class='admin link $admin.plugins.2'><a href='$admin.plugins.0'>$admin.plugins.1</a></li>
</ul>
{{ if $admin.plugins_admin }}<h4>Plugins</h4>{{ endif }}
<ul>
{{ for $admin.plugins_admin as $l }}
<li class='admin link $l.2'><a href='$l.0'>$l.1</a></li>
{{ endfor }}
</ul>
<h4>Logs</h4>
<ul>
<li class='admin link $admin.logs.2'><a href='$admin.logs.0'>$admin.logs.1</a></li>
</ul>

17
view/admin_logs.tpl Normal file
View File

@@ -0,0 +1,17 @@
<div id='adminpage'>
<h1>$title - $page</h1>
<form action="$baseurl/admin/logs" method="post">
{{ inc field_checkbox.tpl with $field=$debugging }}{{ endinc }}
{{ inc field_input.tpl with $field=$logfile }}{{ endinc }}
{{ inc field_select.tpl with $field=$loglevel }}{{ endinc }}
<div class="submit"><input type="submit" name="page_logs" value="$submit" /></div>
</form>
<h3>$logname</h3>
<iframe src='$baseurl/$logname' style="width:100%; height:400px"></iframe>
<!-- <div class="submit"><input type="submit" name="page_logs_clear_log" value="$clear" /></div> -->
</div>

13
view/admin_plugins.tpl Normal file
View File

@@ -0,0 +1,13 @@
<div id='adminpage'>
<h1>$title - $page</h1>
<ul id='pluginslist'>
{{ for $plugins as $p }}
<li class='plugin $p.1'>
<a class='toggleplugin' href='$baseurl/admin/plugins/$p.0?a=t'><span class='icon $p.1'></span></a>
<a href='$baseurl/admin/plugins/$p.0'><span class='name'>$p.2.name</span></a> - <span class="version">$p.2.version</span>
<div class='desc'>$p.2.description</div>
</li>
{{ endfor }}
</ul>
</div>

View File

@@ -0,0 +1,21 @@
<div id='adminpage'>
<h1>$title - $page</h1>
<p><span class='toggleplugin icon $status'></span> $info.name - $info.version : <a href="$baseurl/admin/plugins/$plugin/?a=t">$action</a></p>
<p>$info.description</p>
<p class="author">
{{ for $info.author as $a }}
{{ if $a.link }}<a href="$a.link">$a.name</a>{{ else }}$a.name{{ endif }},
{{ endfor }}
</p>
{{ if $readme }}
<h3>Readme</h3>
<div id="plugin_readme">
$readme
</div>
{{ endif }}
</div>

48
view/admin_site.tpl Normal file
View File

@@ -0,0 +1,48 @@
<div id='adminpage'>
<h1>$title - $page</h1>
<form action="$baseurl/admin/site" method="post">
{{ inc field_input.tpl with $field=$sitename }}{{ endinc }}
{{ inc field_textarea.tpl with $field=$banner }}{{ endinc }}
{{ inc field_select.tpl with $field=$language }}{{ endinc }}
{{ inc field_select.tpl with $field=$theme }}{{ endinc }}
<div class="submit"><input type="submit" name="page_site" value="$submit" /></div>
<h3>Registration</h3>
{{ inc field_input.tpl with $field=$register_text }}{{ endinc }}
{{ inc field_select.tpl with $field=$register_policy }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$no_multi_reg }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$no_openid }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$no_gravatar }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$no_regfullname }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$no_utf }}{{ endinc }}
<div class="submit"><input type="submit" name="page_site" value="$submit" /></div>
<h3>Upload</h3>
{{ inc field_input.tpl with $field=$maximagesize }}{{ endinc }}
<h3>Corporate/Edu</h3>
{{ inc field_input.tpl with $field=$allowed_sites }}{{ endinc }}
{{ inc field_input.tpl with $field=$allowed_email }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$block_public }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$force_publish }}{{ endinc }}
{{ inc field_input.tpl with $field=$global_directory }}{{ endinc }}
{{ inc field_input.tpl with $field=$global_search_url }}{{ endinc }}
<div class="submit"><input type="submit" name="page_site" value="$submit" /></div>
<h3>Advanced</h3>
{{ inc field_checkbox.tpl with $field=$rino_enc }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$verifyssl }}{{ endinc }}
{{ inc field_input.tpl with $field=$proxy }}{{ endinc }}
{{ inc field_input.tpl with $field=$proxyuser }}{{ endinc }}
{{ inc field_input.tpl with $field=$timeout }}{{ endinc }}
<div class="submit"><input type="submit" name="page_site" value="$submit" /></div>
</form>
</div>

36
view/admin_summary.tpl Normal file
View File

@@ -0,0 +1,36 @@
<div id='adminpage'>
<h1>$title - $page</h1>
<dl>
<dt>$pending.0</dt>
<dd>$pending.1</dt>
</dl>
<dl>
<dt>$users.0</dt>
<dd>$users.1</dd>
</dl>
{{ for $accounts as $p }}
<dl>
<dt>$p.0</dt>
<dd>$p.1</dd>
</dl>
{{ endfor }}
<dl>
<dt>$plugins.0</dt>
{{ for $plugins.1 as $p }}
<dd>$p</dd>
{{ endfor }}
</dl>
<dl>
<dt>$version.0</dt>
<dd>$version.1 - $build</dt>
</dl>
</div>

88
view/admin_users.tpl Normal file
View File

@@ -0,0 +1,88 @@
<script>
function confirm_delete(uname){
return confirm( "$confirm_delete".format(uname));
}
function confirm_delete_multi(){
return confirm("$confirm_delete_multi");
}
function selectall(cls){
$("."+cls).attr('checked','checked');
return false;
}
</script>
<div id='adminpage'>
<h1>$title - $page</h1>
<form action="$baseurl/admin/users" method="post">
<h3>$h_pending</h3>
{{ if $pending }}
<table id='pending'>
<thead>
<tr>
{{ for $th_pending as $th }}<th>$th</th>{{ endfor }}
<th></th>
<th></th>
</tr>
</thead>
<tbody>
{{ for $pending as $u }}
<tr>
<td class="created">$u.created</td>
<td class="name">$u.name</td>
<td class="email">$u.email</td>
<td class="checkbox"><input type="checkbox" class="pending_ckbx" id="id_pending_$u.hash" name="pending_$u.hash"/></td>
<td class="tools">
<a href="$baseurl/regmod/allow/$u.hash" title='$approve'><span class='icon like'></span></a>
<a href="$baseurl/regmod/deny/$u.hash" title='$deny'><span class='icon dislike'></span></a>
</td>
</tr>
{{ endfor }}
</tbody>
</table>
<div class='selectall'><a href='#' onclick="return selectall('pending_ckbx');">$select_all</a></div>
<div class="submit"><input type="submit" name="page_users_deny" value="$deny"/> <input type="submit" name="page_users_approve" value="$approve" /></div>
{{ else }}
<p>$no_pending</p>
{{ endif }}
<h3>$h_users</h3>
{{ if $users }}
<table id='users'>
<thead>
<tr>
<th></th>
{{ for $th_users as $th }}<th>$th</th>{{ endfor }}
<th></th>
<th></th>
</tr>
</thead>
<tbody>
{{ for $users as $u }}
<tr>
<td><img src="$u.micro" alt="$u.nickname" title="$u.nickname"></td>
<td class='name'><a href="$u.url" title="$u.nickname" >$u.name</a></td>
<td class='email'>$u.email</td>
<td class='register_date'>$u.register_date</td>
<td class='login_date'>$u.login_date</td>
<td class='lastitem_date'>$u.lastitem_date</td>
<td class='login_date'>$u.page-flags</td>
<td class="checkbox"><input type="checkbox" class="users_ckbx" id="id_user_$u.uid" name="user_$u.uid"/></td>
<td class="tools">
<a href="$baseurl/admin/users/block/$u.uid" title='{{ if $u.blocked }}$unblock{{ else }}$block{{ endif }}'><span class='icon block {{ if $u.blocked==0 }}dim{{ endif }}'></span></a>
<a href="$baseurl/admin/users/delete/$u.uid" title='$discard' onclick="return confirm_delete('$u.name')"><span class='icon drop'></span></a>
</td>
</tr>
{{ endfor }}
</tbody>
</table>
<div class='selectall'><a href='#' onclick="return selectall('users_ckbx');">$select_all</a></div>
<div class="submit"><input type="submit" name="page_users_block" value="$block/$unblock" /> <input type="submit" name="page_users_delete" value="$delete" onclick="return confirm_delete_multi()" /></div>
{{ else }}
NO USERS?!?
{{ endif }}
</form>
</div>

4
view/field.tpl Normal file
View File

@@ -0,0 +1,4 @@
{{ if $field.0==select }}
{{ inc field_select.tpl }}{{ endinc }}
{{ endif }}

6
view/field_checkbox.tpl Normal file
View File

@@ -0,0 +1,6 @@
<div class='field checkbox'>
<label for='id_$field.0'>$field.1</label>
<input type="checkbox" name='$field.0' id='id_$field.0' {{ if $field.2 }}checked="true"{{ endif }}>
<span class='field_help'>$field.3</span>
</div>

6
view/field_input.tpl Normal file
View File

@@ -0,0 +1,6 @@
<div class='field input'>
<label for='id_$field.0'>$field.1</label>
<input name='$field.0' id='id_$field.0' value="$field.2">
<span class='field_help'>$field.3</span>
</div>

8
view/field_select.tpl Normal file
View File

@@ -0,0 +1,8 @@
<div class='field select'>
<label for='id_$field.0'>$field.1</label>
<select name='$field.0' id='id_$field.0'>
{{ for $field.4 as $opt=>$val }}<option value="$opt" {{ if $opt==$field.2 }}selected="selected"{{ endif }}>$val</option>{{ endfor }}
</select>
<span class='field_help'>$field.3</span>
</div>

6
view/field_textarea.tpl Normal file
View File

@@ -0,0 +1,6 @@
<div class='field textarea'>
<label for='id_$field.0'>$field.1</label>
<textarea name='$field.0' id='id_$field.0'>$field.2</textarea>
<span class='field_help'>$field.3</span>
</div>

View File

@@ -123,7 +123,7 @@ $a->strings["Administrator"] = "Amministratore";
$a->strings["Friend/Connection Request"] = "Richieste di Amicizia/Connessione";
$a->strings["Examples: jojo@demo.friendika.com, http://demo.friendika.com/profile/jojo, testuser@identi.ca"] = "Esempi: jojo@demo.friendika.com, http://demo.friendika.com/profile/jojo, testuser@identi.ca";
$a->strings["Please answer the following:"] = "Rispondi al seguente:";
$a->strings["Does \$name know you?"] = "$name ti conosce?";
$a->strings["Does \$name know you?"] = "\$name ti conosce?";
$a->strings["Yes"] = "Si";
$a->strings["No"] = "No";
$a->strings["Add a personal note:"] = "Aggiungi una nota personale:";

View File

@@ -16,6 +16,8 @@ $langselector
<a id="nav-search-link" class="nav-link $nav.search.2" href="$nav.search.0">$nav.search.1</a>
<a id="nav-directory-link" class="nav-link $nav.directory.2" href="$nav.directory.0">$nav.directory.1</a>
{{ if $nav.admin }}<a id="nav-admin-link" class="nav-link $nav.admin.2" href="$nav.admin.0">$nav.admin.1</a>{{ endif }}
{{ if $nav.network }}
<a id="nav-network-link" class="nav-commlink $nav.network.2" href="$nav.network.0">$nav.network.1</a>
<span id="net-update" class="nav-ajax-left"></span>

View File

@@ -2530,7 +2530,88 @@ a.mail-list-link {
filter:alpha(opacity=100);
}
/**
* ADMIN
*/
#pending-update {
float:right;
color: #ffffff;
font-weight: bold;
background-color: #FF0000;
padding: 0em 0.3em;
}
#adminpage dl {
clear: left;
margin-bottom: 2px;
padding-bottom: 2px;
border-bottom: 1px solid black;
}
#adminpage dt {
width: 200px;
float: left;
font-weight: bold;
}
#adminpage dd {
margin-left: 200px;
}
#adminpage .field {
clear: left;
margin-bottom: 5px;
padding-bottom: 5px;
}
#adminpage .field label {
float: left;
width: 200px;
font-weight: bold;
}
#adminpage .field input,
#adminpage .field textarea {
width: 400px;
}
#adminpage .field textarea { height: 100px; }
#adminpage .field_help {
display: block;
margin-left: 200px;
color: #666666;
}
#adminpage h3 {
border-bottom: 1px solid #cccccc;
}
#adminpage .submit {
clear:left;
text-align: right;
}
#adminpage #pluginslist {
margin: 0px; padding: 0px;
}
#adminpage .plugin {
list-style: none;
display: block;
border: 1px solid #888888;
padding: 1em;
margin-bottom: 5px;
clear: left;
}
#adminpage .plugin .desc { margin-left: 2.5em;}
#adminpage .toggleplugin {
float:left;
margin-right: 1em;
}
#adminpage table {width:100%; border-bottom: 1p solid #000000; margin: 5px 0px;}
#adminpage table th { text-align: left;}
#adminpage td .icon { float: left;}
#adminpage table#users img { width: 16px; height: 16px; }
#adminpage table tr:hover { background-color: #bbc7d7; }
#adminpage .selectall { text-align: right; }
/**
* ICONS
*/
@@ -2569,7 +2650,11 @@ a.mail-list-link {
.language { background-position: -96px -32px; }
.prev { background-position: -112px -32px; }
.next { background-position: -128px -32px; }
.on { background-position: -144px -32px; }
.off { background-position: 0px -48px; }
.icon.dim { opacity: 0.3;filter:alpha(opacity=30); }
.attachtype {
display: block; width: 20px; height: 23px;

View File

@@ -2552,6 +2552,79 @@ a.mail-list-link {
top: 0px;
}
/**
* ADMIN
*/
#adminpage dl {
clear: left;
margin-bottom: 2px;
padding-bottom: 2px;
border-bottom: 1px solid black;
}
#adminpage dt {
width: 200px;
float: left;
font-weight: bold;
}
#adminpage dd {
margin-left: 200px;
}
#adminpage .field {
clear: left;
margin-bottom: 5px;
padding-bottom: 5px;
}
#adminpage .field label {
float: left;
width: 200px;
font-weight: bold;
}
#adminpage .field input,
#adminpage .field textarea {
width: 400px;
}
#adminpage .field textarea { height: 100px; }
#adminpage .field_help {
display: block;
margin-left: 200px;
color: #666666;
}
#adminpage h3 {
border-bottom: 1px solid #cccccc;
}
#adminpage .submit {
clear:left;
}
#adminpage #pluginslist {
margin: 0px; padding: 0px;
}
#adminpage .plugin {
list-style: none;
display: block;
border: 1px solid #888888;
padding: 1em;
margin-bottom: 5px;
clear: left;
}
#adminpage .plugin .toggle {
float:left;
margin-right: 1em;
}
#adminpage table {width:100%; border-bottom: 1p solid #000000; margin: 5px 0px;}
#adminpage table th { text-align: left;}
#adminpage td .icon { float: left;}
#adminpage table#users img { width: 16px; height: 16px; }
#adminpage table tr:hover { background-color: #bbc7d7; }
#adminpage .selectall { text-align: right; }
/**
* ICONS
*/
@@ -2590,6 +2663,11 @@ a.mail-list-link {
.language { background-position: -96px -32px; }
.prev { background-position: -112px -32px; }
.next { background-position: -128px -32px; }
.on { background-position: -144px -32px; }
.off { background-position: 0px -48px; }
.icon.dim { opacity: 0.3;filter:alpha(opacity=30); }
.attachtype {
display: block; width: 20px; height: 23px;