giving this it's own home
This commit is contained in:
parent
2c09289c81
commit
5d5e62380b
47
README
Normal file
47
README
Normal file
@ -0,0 +1,47 @@
|
||||
Copyright (c) 2012/2013, James Finstrom
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
------------------------------------------------------------------------------
|
||||
Now that that's is out of the way....
|
||||
|
||||
Hello world, FreePBX module edition.
|
||||
|
||||
THE GOAL
|
||||
---------
|
||||
Create a skeliton people (mainly me but probably you) can build off of.
|
||||
This will be losely documented and should serve as an example.
|
||||
This is setup for those who learn by example code.
|
||||
|
||||
SPAM
|
||||
--------
|
||||
Please note that my contributions and what I do is made possible because
|
||||
of my awesome employer. Please consider buying stuff from them to keep me
|
||||
employed. I like paying my bills they make that possible too. If anything
|
||||
I do helps you please consider buying a Rhino Card or server to show my
|
||||
time diung this stuff makes the company money.
|
||||
|
||||
TODO:
|
||||
-------
|
||||
page
|
||||
function
|
||||
module xml <-- Done
|
||||
|
37
functions.inc.php
Normal file
37
functions.inc.php
Normal file
@ -0,0 +1,37 @@
|
||||
<?php
|
||||
/* $Id$ */
|
||||
class HelloWorld_conf {
|
||||
function get_filename() {
|
||||
$files = array(
|
||||
'extensions_additional.conf'
|
||||
);
|
||||
return $files;
|
||||
}//get_filename()
|
||||
//This function is called for every file defined in 'get_filename()' function above
|
||||
function generateConf($file) {
|
||||
global $version,$amp_conf,$astman;
|
||||
foreach ($this->get_filename() as $f){
|
||||
if(!file_exists($amp_conf['ASTETCDIR'] . "/$f")) {
|
||||
touch($amp_conf['ASTETCDIR'] . "/$f");
|
||||
}//if
|
||||
}//foreach
|
||||
switch($file) {
|
||||
case extensions_additional.conf:
|
||||
return $this->generate_extensions_conf($version);
|
||||
break;
|
||||
}//switch
|
||||
}//generateConf
|
||||
function generate_extensions_conf($ast_version) {
|
||||
global $ext
|
||||
//create a dialplan
|
||||
//www.freepbx.org/trac/wiki/ApiExtensions
|
||||
$id = 'app-HelloWorld';
|
||||
$dial = '*42';
|
||||
$ext->add($id, $dial, '', new ext_answer(''));
|
||||
$ext->add($id, $dial, '', new ext_playback('hello-world'));
|
||||
$ext->add($id, $dial, '', new ext_macro('hangupcall'));
|
||||
return $ext->generateConf();
|
||||
}//generate_extensions_conf()
|
||||
}//class HelloWorld
|
||||
|
||||
?>
|
29
install.php
Normal file
29
install.php
Normal file
@ -0,0 +1,29 @@
|
||||
<?php
|
||||
/* $Id$ */
|
||||
global $db;
|
||||
global $amp_conf;
|
||||
|
||||
if (! function_exists("out")) {
|
||||
function out($text) {
|
||||
echo $text."<br />";
|
||||
}
|
||||
}
|
||||
|
||||
if (! function_exists("outn")) {
|
||||
function outn($text) {
|
||||
echo $text;
|
||||
}
|
||||
}
|
||||
|
||||
$sql = "CREATE TABLE IF NOT EXISTS HelloWorld_settings (
|
||||
hwid varchar(32) NOT NULL default '',
|
||||
hwset varchar(32) NOT NULL default '',
|
||||
PRIMARY KEY (hwid)
|
||||
);";
|
||||
|
||||
$check = $db->query($sql);
|
||||
if (DB::IsError($check)) {
|
||||
die_freepbx( "Can not create `HelloWorld` table: " . $check->getMessage() . "\n");
|
||||
}
|
||||
|
||||
?>
|
26
module.xml
Normal file
26
module.xml
Normal file
@ -0,0 +1,26 @@
|
||||
<module>
|
||||
<rawname>HelloWorld</rawname>
|
||||
<name>Hello World</name>
|
||||
<version>0.1.0.0</version>
|
||||
<candisable>yes</candisable>
|
||||
<canuninstall>yes</canuninstall>
|
||||
<changelog>
|
||||
*0.1.0.0* Original Release (beta)
|
||||
</changelog>
|
||||
<description>
|
||||
provides a hello world example
|
||||
</description>
|
||||
<info>http://github.com/jfinstrom/</info>
|
||||
<menuitems>
|
||||
<HelloWorld>Hello World</HelloWorld>
|
||||
</menuitems>
|
||||
<depends>
|
||||
<module>core</module>
|
||||
<version>ge2.2</version>
|
||||
</depends>
|
||||
<type>setup</type>
|
||||
<category>Basic</category>
|
||||
<location>x</location>
|
||||
<md5sum>x</md5sum>
|
||||
</module>
|
||||
|
25
page.HelloWorld.php
Normal file
25
page.HelloWorld.php
Normal file
@ -0,0 +1,25 @@
|
||||
<?
|
||||
//Check if user is "logged in"
|
||||
if (!defined('FREEPBX_IS_AUTH')) { die('No direct script access allowed'); }
|
||||
//Handling form stuff....
|
||||
isset($_REQUEST['action'])?$action = $_REQUEST['action']:$action='';
|
||||
//the item we are currently displaying
|
||||
isset($_REQUEST['itemid'])?$itemid=$db->escapeSimple($_REQUEST['itemid']):$itemid='';
|
||||
|
||||
switch ($action) {
|
||||
case "add":
|
||||
needreload();
|
||||
break;
|
||||
case "delete":
|
||||
needreload();
|
||||
redirect_standard();
|
||||
break;
|
||||
case "edit":
|
||||
needreload();
|
||||
redirect_standard();
|
||||
break;
|
||||
echo "<h2>"._("Hello World")."</h2>";
|
||||
|
||||
}
|
||||
|
||||
?>
|
20
uninstall.php
Normal file
20
uninstall.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?
|
||||
global $db;
|
||||
|
||||
if (! function_exists("out")) {
|
||||
function out($text) {
|
||||
echo $text."<br />";
|
||||
}
|
||||
}
|
||||
|
||||
if (! function_exists("outn")) {
|
||||
function outn($text) {
|
||||
echo $text;
|
||||
}
|
||||
}
|
||||
//Johnny Drop Tables
|
||||
out("Dropping all relevant tables");
|
||||
$sql = "DROP TABLE `HelloWorld_settings`";
|
||||
$result = $db->query($sql);
|
||||
|
||||
?>
|
Loading…
Reference in New Issue
Block a user