146 lines
5.8 KiB
PHP
146 lines
5.8 KiB
PHP
|
|
<?php
|
||
|
|
if(!defined('OSTADMININC') || !$thisuser->isadmin()) die('Zugriff verweigert');
|
||
|
|
|
||
|
|
|
||
|
|
$info['phrase']=($errors && $_POST['phrase'])?Format::htmlchars($_POST['phrase']):$cfg->getAPIPassphrase();
|
||
|
|
$select='SELECT * ';
|
||
|
|
$from='FROM '.API_KEY_TABLE;
|
||
|
|
$where='';
|
||
|
|
$sortOptions=array('date'=>'created','ip'=>'ipaddr');
|
||
|
|
$orderWays=array('DESC'=>'DESC','ASC'=>'ASC');
|
||
|
|
//Sorting options...
|
||
|
|
if($_REQUEST['sort']) {
|
||
|
|
$order_column =$sortOptions[$_REQUEST['sort']];
|
||
|
|
}
|
||
|
|
|
||
|
|
if($_REQUEST['order']) {
|
||
|
|
$order=$orderWays[$_REQUEST['order']];
|
||
|
|
}
|
||
|
|
$order_column=$order_column?$order_column:'ipaddr';
|
||
|
|
$order=$order?$order:'ASC';
|
||
|
|
$order_by=" ORDER BY $order_column $order ";
|
||
|
|
|
||
|
|
$total=db_count('SELECT count(*) '.$from.' '.$where);
|
||
|
|
$pagelimit=1000;//No limit.
|
||
|
|
$page=($_GET['p'] && is_numeric($_GET['p']))?$_GET['p']:1;
|
||
|
|
$pageNav=new Pagenate($total,$page,$pagelimit);
|
||
|
|
$pageNav->setURL('admin.php',$qstr.'&sort='.urlencode($_REQUEST['sort']).'&order='.urlencode($_REQUEST['order']));
|
||
|
|
$query="$select $from $where $order_by";
|
||
|
|
//echo $query;
|
||
|
|
$result = db_query($query);
|
||
|
|
$showing=db_num_rows($result)?$pageNav->showing():'';
|
||
|
|
$negorder=$order=='DESC'?'ASC':'DESC'; //Negate the sorting..
|
||
|
|
$deletable=0;
|
||
|
|
?>
|
||
|
|
<div class="msg">API Schlüssel</div>
|
||
|
|
<hr>
|
||
|
|
<div><b><?=$showing?></b></div>
|
||
|
|
<table width="100%" border="0" cellspacing=1 cellpadding=2>
|
||
|
|
<form action="admin.php?t=api" method="POST" name="api" onSubmit="return checkbox_checker(document.forms['api'],1,0);">
|
||
|
|
<input type=hidden name='t' value='api'>
|
||
|
|
<input type=hidden name='do' value='mass_process'>
|
||
|
|
<tr><td>
|
||
|
|
<table border="0" cellspacing=0 cellpadding=2 class="dtable" align="center" width="100%">
|
||
|
|
<tr>
|
||
|
|
<th width="7px"> </th>
|
||
|
|
<th>API Schlüssel</th>
|
||
|
|
<th width="10" nowrap>AKtiv</th>
|
||
|
|
<th width="100" nowrap> IP Adresse</th>
|
||
|
|
<th width="150" nowrap>
|
||
|
|
<a href="admin.php?t=api&sort=date&order=<?=$negorder?><?=$qstr?>" title="Sortieren Nach Erstellungsdatum <?=$negorder?>">Erstellt</a></th>
|
||
|
|
</tr>
|
||
|
|
<?
|
||
|
|
$class = 'row1';
|
||
|
|
$total=0;
|
||
|
|
$active=$inactive=0;
|
||
|
|
$sids=($errors && is_array($_POST['ids']))?$_POST['ids']:null;
|
||
|
|
if($result && db_num_rows($result)):
|
||
|
|
$dtpl=$cfg->getDefaultTemplateId();
|
||
|
|
while ($row = db_fetch_array($result)) {
|
||
|
|
$sel=false;
|
||
|
|
$disabled='';
|
||
|
|
if($row['isactive'])
|
||
|
|
$active++;
|
||
|
|
else
|
||
|
|
$inactive++;
|
||
|
|
|
||
|
|
if($sids && in_array($row['id'],$sids)){
|
||
|
|
$class="$class highlight";
|
||
|
|
$sel=true;
|
||
|
|
}
|
||
|
|
?>
|
||
|
|
<tr class="<?=$class?>" id="<?=$row['id']?>">
|
||
|
|
<td width=7px>
|
||
|
|
<input type="checkbox" name="ids[]" value="<?=$row['id']?>" <?=$sel?'checked':''?>
|
||
|
|
onClick="highLight(this.value,this.checked);">
|
||
|
|
<td> <?=$row['apikey']?></td>
|
||
|
|
<td><?=$row['isactive']?'<b>Ja</b>':'Nein'?></td>
|
||
|
|
<td> <?=$row['ipaddr']?></td>
|
||
|
|
<td> <?=Format::db_datetime($row['created'])?></td>
|
||
|
|
</tr>
|
||
|
|
<?
|
||
|
|
$class = ($class =='row2') ?'row1':'row2';
|
||
|
|
} //end of while.
|
||
|
|
else: //nothin' found!! ?>
|
||
|
|
<tr class="<?=$class?>"><td colspan=5><b>Abfrage ergab 0 Treffer</b> <a href="admin.php?t=api">Index Liste</a></td></tr>
|
||
|
|
<?
|
||
|
|
endif; ?>
|
||
|
|
|
||
|
|
</table>
|
||
|
|
</td></tr>
|
||
|
|
<?
|
||
|
|
if(db_num_rows($result)>0): //Show options..
|
||
|
|
?>
|
||
|
|
<tr>
|
||
|
|
<td align="center">
|
||
|
|
<?php
|
||
|
|
if($inactive) {?>
|
||
|
|
<input class="button" type="submit" name="enable" value="Aktivieren"
|
||
|
|
onClick='return confirm("Wollen sie wirklich die gewählten Schlüssel aktivieren?");'>
|
||
|
|
<?php
|
||
|
|
}
|
||
|
|
if($active){?>
|
||
|
|
|
||
|
|
<input class="button" type="submit" name="disable" value="Deaktivieren"
|
||
|
|
onClick='return confirm("Wollen sie wirklich die gewählten Schlüssel deaktivieren?");'>
|
||
|
|
<?}?>
|
||
|
|
|
||
|
|
<input class="button" type="submit" name="delete" value="Löschen"
|
||
|
|
onClick='return confirm("Wollen sie wirklich die gewählten Schlüssel löschen?");'>
|
||
|
|
</td>
|
||
|
|
</tr>
|
||
|
|
<?
|
||
|
|
endif;
|
||
|
|
?>
|
||
|
|
</form>
|
||
|
|
</table>
|
||
|
|
<br/>
|
||
|
|
<div class="msg">Neue IP hinzufügen</div>
|
||
|
|
<hr>
|
||
|
|
<div>
|
||
|
|
Eine neue IP Adresse hinzufügen. <font class="error"><?=$errors['ip']?></font>
|
||
|
|
<form action="admin.php?t=api" method="POST" >
|
||
|
|
<input type=hidden name='t' value='api'>
|
||
|
|
<input type=hidden name='do' value='add'>
|
||
|
|
Neue IP:
|
||
|
|
<input name="ip" size=30 value="<?=($errors['ip'])?Format::htmlchars($_REQUEST['ip']):''?>" />
|
||
|
|
<font class="error">* </font>
|
||
|
|
<input class="button" type="submit" name="add" value="Hinzufügen">
|
||
|
|
</form>
|
||
|
|
</div>
|
||
|
|
<br/>
|
||
|
|
<div class="msg">API Passwort</div>
|
||
|
|
<hr>
|
||
|
|
<div>
|
||
|
|
Passwort muss mindestens 3 Worte beinhalten. Erforderlich, um einen API-Schlüssel erzeugen.<br/>
|
||
|
|
<form action="admin.php?t=api" method="POST" >
|
||
|
|
<input type=hidden name='t' value='api'>
|
||
|
|
<input type=hidden name='do' value='update_phrase'>
|
||
|
|
Passwort:
|
||
|
|
<input name="phrase" size=50 value="<?=Format::htmlchars($info['phrase'])?>" />
|
||
|
|
<font class="error">* <?=$errors['phrase']?></font>
|
||
|
|
<input class="button" type="submit" name="update" value="Bestätigen">
|
||
|
|
</form>
|
||
|
|
<br/><br/>
|
||
|
|
<div><i>Bitte beachten Sie, dass durch eine Änderung des Passwortes, vorhandene Schlüssel nicht ungültig werden. Für einen neuen Schlüssel müssen Sie den alten löschen und neu hinzufügen.</i></div>
|
||
|
|
</div>
|