PHP Classes
elePHPant
Icontem

File: admin.php

Recommend this page to a friend!
  Classes of Dave Smith  >  PHP dotGo Engine  >  admin.php  >  Download  
File: admin.php
Role: Application script
Content type: text/plain
Description: Administration Script
Class: PHP dotGo Engine
Interact with SMS messages sent to your site
Author: By
Last change:
Date: 3 years ago
Size: 5,289 bytes
 

 

Contents

Class file image Download
<?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('<','&lt;',$dotgo->showResponse($keyword));?></div>
<?php
}
?>
</body>
</html>