<?php
 
//administration interface
 
//for use with dotgo class ver 0.1 beta
 
session_start();
 
 
include('dotgo.class.php');
 
include('dotgo.admin.php');
 
$dotgo = new dotgoAdmin();
 
 
if( empty($_REQUEST['key']) ){
 
    
 
    if( !empty($_SESSION['dotgo_key']) ){
 
        
 
        if( $dotgo->authenticateAdmin($_SESSION['dotgo_key']) === false ){
 
            
 
            die('did not authenticate');
 
            
 
        }
 
        
 
    }else{
 
        
 
        die('admin key required!');
 
        
 
    }
 
    
 
    
 
}elseif( $dotgo->authenticateAdmin($_REQUEST['key']) === true ){
 
    
 
    $_SESSION['dotgo_key'] = $_REQUEST['key'];
 
    header('location: '.$_SERVER['PHP_SELF']);
 
    exit;
 
    
 
}else{
 
    
 
    die('did not authenticate');
 
    
 
}
 
 
$dbConnected = $dotgo->dbConnect();
 
if( empty($dbConnected) ){
 
    
 
    die('problem connecting to database: '.mysqli_connect_error());
 
    
 
}
 
 
$id = ( empty($_GET['id']) ) ? 0 : (int) $_GET['id'];
 
 
if( !empty($_REQUEST['formPosted']) ){
 
    
 
    $newKeyword = ( !empty($_REQUEST['newKeyword']) ) ? $_REQUEST['newKeyword'] : '';
 
    $content = ( !empty($_REQUEST['content']) ) ? $_REQUEST['content'] : '';
 
    $type = ( !empty($_REQUEST['type']) ) ? $_REQUEST['type'] : '';
 
    
 
    if( !empty($_REQUEST['remove']) ){
 
        
 
        $dotgo->deleteKeyword($id);
 
        
 
        header('location: '.$_SERVER['PHP_SELF']);
 
        exit;
 
        
 
    }
 
    if( !empty($newKeyword) ){
 
        
 
        $dotgo->addKeyword($newKeyword,$id);
 
        
 
    }
 
    
 
    if( empty($id) ){
 
        
 
        if( empty($dotgo->helper) ){
 
            
 
            header('location: '.$_SERVER['PHP_SELF']);
 
            exit;
 
            
 
        }
 
        
 
    }else{
 
        
 
        $dotgo->updateKeyword($id,$content,$type);
 
        
 
        if( empty($dotgo->helper) ){
 
            
 
            header('location: '.$_SERVER['PHP_SELF'].'?id='.$id);
 
            exit;
 
            
 
        }
 
        
 
    }
 
    
 
}else{
 
    
 
}
 
 
$keywords = $dotgo->keywordList($id);
 
 
if( empty($id) ){
 
    
 
    $dotgo->helper .= 'List of primary keywords, add a new keyword or select one already added.<br>';
 
    
 
}else{
 
    
 
    $dotgo->helper .= 'List of child keywords, add new children if required.<br>';
 
    
 
    $keyword = $dotgo->keywordDetail($id);
 
    
 
    if( empty($keyword['id']) ){
 
        
 
        header('location: '.$_SERVER['PHP_SELF']);
 
        exit;
 
        
 
    }elseif( empty($keyword['content']) ){
 
        
 
        $dotgo->helper .= 'You need to add content for the selected response type.<br>';    
 
        
 
    }
 
    
 
}
 
 
?>
 
<!DOCTYPE html>
 
<html>
 
    <head>
 
        <title>dotgo administration</title>
 
        <style>
 
            a {
 
                color: black;
 
                text-decoration: underline;
 
            }
 
            a:hover {
 
                color: red;
 
           }
 
        </style>
 
    </head>
 
    <body>
 
        <h3>dotgo Administration</h3>
 
        <div id="breadcrumb"><?PHP echo $dotgo->showBreadcrumb($id);?></div>
 
        <div id="keywords" style="margin-top: 10px; margin-bottom: 10px;">
 
            <strong>keywords...</strong><br>
 
<?php
 
if( !empty($keywords) ){
 
    for($x=0;$x<count($keywords);$x++){
 
?>
 
            <a href="?id=<?PHP echo $keywords[$x]['id'];?>"><?PHP echo $keywords[$x]['keyword'];?></a><br>
 
<?php
 
    }
 
}else{
 
?>
 
            none
 
<?php
 
}
 
?>
 
        </div>
 
        <form method="POST">
 
            <label for="newKeyword">Add new keyword:</label> <input type="text" name="newKeyword"><br><br>
 
<?php
 
if( !empty($id) ){
 
?>
 
            This is a 
 
            <input type="radio" name="type" value="msg"<?PHP echo ( $keyword['responseType'] == 'msg' ) ? ' checked' : '';?>> message 
 
            <input type="radio" name="type" value="qry"<?PHP echo ( $keyword['responseType'] == 'qry' ) ? ' checked' : '';?>> query
 
            <input type="radio" name="type" value="ctm"<?PHP echo ( $keyword['responseType'] == 'ctm' ) ? ' checked' : '';?>> custom content
 
            <input type="radio" name="type" value="rss"<?PHP echo ( $keyword['responseType'] == 'rss' ) ? ' checked' : '';?>> rss feed 
 
            <input type="radio" name="type" value="eng"<?PHP echo ( $keyword['responseType'] == 'eng' ) ? ' checked' : '';?>> engine<br>
 
            <textarea name="content" style="width: 480px; height: 120px;"><?PHP echo $keyword['content'];?></textarea><br>
 
<?php
 
    if( empty($keywords) ){
 
?>
 
            <input type="checkbox" name="remove" value="1"> remove this keyword<br><br>
 
<?php
 
    }
 
}
 
?>
 
            <input type="hidden" name="formPosted" value="1"><input type="submit" name="formSubmit" value="Submit">
 
        </form>
 
        <hr>
 
        <div id="helper"><strong>Notes...</strong><br><?PHP echo $dotgo->helper;?></div>
 
<?php
 
if( !empty($id) ){
 
?>
 
        <div id="dotgoQuery" style="margin-top: 10px;"><strong>Text request: </strong><?PHP echo $dotgo->dotgoQuery;?> <strong>to</strong> <?PHP echo $dotgo->channel;?></div>
 
        <div id="dotgoResponse" style="margin-top: 10px;"><strong>Response...</strong><br><?PHP echo str_replace('<','<',$dotgo->showResponse($keyword));?></div>
 
<?php
 
}
 
?>
 
    </body>
 
</html>
 
 
 |