Revize 1265
Přidáno uživatelem Ondřej Fibich před asi 13 roky(ů)
freenetis/branches/testing/application/i18n/cs_CZ/texts.php | ||
---|---|---|
'cannot parse fio listing header!' => 'Nelze parsovat hlavičku Fio výpisu!',
|
||
'cannot save form' => 'Nemohu uložit formulář',
|
||
'cannot save gps, this address point has already gps coordinates' => 'Nemohu uložit GPS, adresní bod má již přiřazeny GPS souřadnice',
|
||
'cannot sent message to reciever' => 'Nelze odeslat zprávu příjemci',
|
||
'cash' => 'Pokladna',
|
||
'cash flow' => 'Peněžní tok',
|
||
'cash drawn' => 'Výběry hotovosti',
|
||
... | ... | |
'channel' => 'Kanál',
|
||
'channel %s' => '%s. kanál',
|
||
'channel width' => 'Šířka kanálu',
|
||
'chars' => 'Znaků',
|
||
'check again' => 'Znovu zkontrolovat',
|
||
'choose date' => 'Vyberte datum',
|
||
'choose language' => 'Vyberte jazyk',
|
||
... | ... | |
'driver' => 'Ovladač',
|
||
'driver state' => 'Stav ovladače',
|
||
'duration' => 'Trvání',
|
||
'during sending an error appear' => 'Při odesílání zprávy se vyskytla chyba',
|
||
'due date' => 'Datum splatnosti',
|
||
'duplex' => 'Duplexní',
|
||
'economy' => 'Ekonomika',
|
||
... | ... | |
'error - it is not possible to remove engineer' => 'Chyba - nelze odebrat technika zařízení.',
|
||
'error - not enough money on origin account' => 'Chyba - nedostatek peněz na zdrojovém účtě.',
|
||
'error - payment notice credit boundary has not been set' => 'Chyba - hranice kreditu pro upozornění na placení nebyla nastavena.',
|
||
'error - sms not enabled' => 'Chaby - SMS nejsou povoleny',
|
||
'error - some fees have not been recounted' => 'Chyba - některé členské příspěvky nebyly přepočítány.',
|
||
'error - some fees have not been deducted' => 'Chyba - některé členské příspěvky nebyly strženy.',
|
||
'error - voip not enabled' => 'Chyba - VoIP není povoleno',
|
||
... | ... | |
'grouped works' => 'Shluklé práce',
|
||
'groups of users' => 'Skupiny uživatelů',
|
||
'growth of members' => 'Růst členů',
|
||
'have left' => 'Zbývá',
|
||
'hello' => 'Dobrý den',
|
||
'help' => 'Nápověda',
|
||
'help register' => 'Registr nápovědy',
|
||
... | ... | |
'i can\'t write the htaccess file' => 'Nemůžu zapisovat do souboru <code>.htaccess</code>.',
|
||
'id' => 'ID',
|
||
'id of member' => 'ID člena',
|
||
'param id with same value was used for another message before' => 'Byl použit parametr id s hodnotou, která již byla použita pro jinou zprávu',
|
||
'if for any reason this automatic config file creation doesn\'t work, don\'t worry' => 'Jestliže z nějakého důvodu toto automatické vytvoření konfiguračního souboru nebude fungovat, nezoufejte.',
|
||
'if you want to run more than one freenetis in a single database' => 'pokud chcete provozovat více než jednu FreeNetIS instalaci v jedné databázi',
|
||
'if you want to run multiple freenetis installations in a single database, change this' => 'Jestliže chcete provozovat několik FreeNetIS instalací v jedné databázi, změňte toto.',
|
||
... | ... | |
'key has been successfully added' => 'Klíč byl úspěšně přidán.',
|
||
'key has been successfully deleted' => 'Klíč byl úspěšně smazán.',
|
||
'key has been successfully updated' => 'Klíč byl úspěšně aktualizován.',
|
||
'lack of credit' => 'Nedostatek kreditu',
|
||
'language' => 'Jazyk',
|
||
'last changed author' => 'Autor poslední úpravy',
|
||
'last changed date' => 'Datum poslední úpravy',
|
||
... | ... | |
'message has been successfully updated' => 'Zpráva byla úspěšně upravena.',
|
||
'message is already active' => 'Zpráva je již aktivní',
|
||
'message is active, cannot be deleted' => 'Zpráva je aktivní, nemůže být smazána',
|
||
'message is too long' => 'Zpráva je příliš dlouhá',
|
||
'message will be splited to' => 'Zpráva bude rozdělena na',
|
||
'message name' => 'Název zprávy',
|
||
'messages' => 'Zprávy',
|
||
'messages for redirection' => 'Zprávy pro přesměrování',
|
||
... | ... | |
'phone invoices of user' => 'Telefonní faktury uživatele',
|
||
'phones' => 'Telefony',
|
||
'phones in invoice' => 'Telefonní čísla ve faktuře',
|
||
'php curl modul not installed' => 'PHP CURL modul není nainstalován',
|
||
'platform' => 'Platforma',
|
||
'please contact administrator' => 'Prosím kontaktujte administrátora.',
|
||
'please choose carefully your number' => 'Prosím vybírejte číslo opatrně!',
|
||
... | ... | |
'smokeping record has been successfully deleted' => 'Záznam smokepingu byl úspěšně smazán',
|
||
'smokeping record has been successfully updated' => 'Záznam smokepingu byl úspěšně aktualizován',
|
||
'sms message list' => 'Seznam SMS zpráv',
|
||
'sms message recieved' => 'SMS zpráva přijata',
|
||
'sms message send' => 'SMS zpráva odeslána',
|
||
'sms messages' => 'SMS zprávy',
|
||
'sms message has been successfully added' => 'SMS zpráva byla úspěšně pridána.',
|
||
'sms message has been successfully added' => 'SMS zpráva byla úspěšně přidána.',
|
||
'sms settings' => 'SMS nastavení',
|
||
'some phones wasn\'t founded' => 'Některé telefony nebyly nalezeny',
|
||
'someone from the ip address %s, probably you, requested to change your password' => 'někdo, patrně Vy, žádal z IP %s o změnu vašeho hesla',
|
||
... | ... | |
'tertiary dns' => 'Terciární DNS.',
|
||
'test mode' => 'Testovací mód',
|
||
'testing driver' => 'Test ovladače',
|
||
'text of message is too long' => 'Text zprávy je příliš dlouhý',
|
||
'text to parse' => 'Text k parsování',
|
||
'text for self cancel anchor' => 'Text pro odkaz na samozrušení přesměrování',
|
||
'thank you for your error report' => 'Děkujeme Vám za hlášení chyby',
|
||
... | ... | |
'types count' => 'Počet typů',
|
||
'unconfirmed works' => 'Nepotvrzené práce',
|
||
'unidentified transfers' => 'Neidentifikované platby',
|
||
'unknown error' => 'Neznámá chyba',
|
||
'unknown device' => 'Neznámé zařízení',
|
||
'unknown device text' => 'Text pro neznámé zařízení',
|
||
'unknown ip address' => 'Neznámá IP adresa',
|
||
... | ... | |
'works of report' => 'Práce ve výkazu',
|
||
'write email' => 'Napsat e-mail',
|
||
'write new message' => 'Napsat novou zprávu',
|
||
'written is' => 'Napsáno je',
|
||
'wrong or missing arguments' => 'Chybné, nebo chybějící argumenty',
|
||
'wrong call length' => 'Chybné trvání hovoru',
|
||
'wrong email' => 'Chybný e-mail',
|
||
'wrong input' => 'Chybný vstup',
|
||
... | ... | |
'wrong period' => 'Špatné období',
|
||
'wrong phone number' => 'Špatné telefonní číslo',
|
||
'wrong date format' => 'Chybný formát dat',
|
||
'wrong gateway connection informations' => 'Chybné informace k připojení k bráně',
|
||
'wrong phone number or identification of user' => 'Nesprávné telefonní číslo nebo identifikace odesílatele',
|
||
'wrong phone number of reciever' => 'Nesprávné telefonní číslo příjemce',
|
||
'year' => 'Rok',
|
||
'yearly' => 'ročně',
|
||
'yes' => 'ano',
|
freenetis/branches/testing/application/vendors/unit_tester/unit_testing_config.xml | ||
---|---|---|
<input></input>
|
||
</values>
|
||
</method>
|
||
<method name="show_all" autogenerate="on">
|
||
<attributes>
|
||
<attribute name="limit_results" default_value="100" />
|
||
<attribute name="order_by" default_value="id" />
|
||
<attribute name="order_by_direction" default_value="desc" />
|
||
<attribute name="page_word" default_value="" />
|
||
<attribute name="page" default_value="1" />
|
||
</attributes>
|
||
<values>
|
||
<input></input>
|
||
<input>
|
||
<param value="100" />
|
||
</input>
|
||
<input>
|
||
<param value="100" />
|
||
<param value="id" />
|
||
</input>
|
||
<input>
|
||
<param value="100" />
|
||
<param value="id" />
|
||
<param value="desc" />
|
||
</input>
|
||
<input>
|
||
<param value="100" />
|
||
<param value="id" />
|
||
<param value="desc" />
|
||
<param value="" />
|
||
</input>
|
||
<input>
|
||
<param value="100" />
|
||
<param value="id" />
|
||
<param value="desc" />
|
||
<param value="" />
|
||
<param value="1" />
|
||
</input>
|
||
</values>
|
||
</method>
|
||
<method name="show_unread" autogenerate="on">
|
||
<attributes>
|
||
<attribute name="limit_results" default_value="100" />
|
||
<attribute name="order_by" default_value="id" />
|
||
<attribute name="order_by_direction" default_value="desc" />
|
||
<attribute name="page_word" default_value="" />
|
||
<attribute name="page" default_value="1" />
|
||
</attributes>
|
||
<values>
|
||
<input></input>
|
||
<input>
|
||
<param value="100" />
|
||
</input>
|
||
<input>
|
||
<param value="100" />
|
||
<param value="id" />
|
||
</input>
|
||
<input>
|
||
<param value="100" />
|
||
<param value="id" />
|
||
<param value="desc" />
|
||
</input>
|
||
<input>
|
||
<param value="100" />
|
||
<param value="id" />
|
||
<param value="desc" />
|
||
<param value="" />
|
||
</input>
|
||
<input>
|
||
<param value="100" />
|
||
<param value="id" />
|
||
<param value="desc" />
|
||
<param value="" />
|
||
<param value="1" />
|
||
</input>
|
||
</values>
|
||
</method>
|
||
<method name="show" autogenerate="on">
|
||
<attributes>
|
||
<attribute name="sms_id" default_value="" />
|
||
... | ... | |
</input>
|
||
</values>
|
||
</method>
|
||
<method name="generate_subnet_address_book" autogenerate="on">
|
||
<attributes>
|
||
<attribute name="subnet_id" default_value="" />
|
||
</attributes>
|
||
<values>
|
||
<input></input>
|
||
<input>
|
||
<param value="" />
|
||
</input>
|
||
</values>
|
||
</method>
|
||
<method name="callback_valid_phone" autogenerate="off">
|
||
<attributes>
|
||
<attribute name="input" default_value=""/>
|
||
</attributes>
|
||
<values>
|
||
</values>
|
||
</method>
|
||
</controller>
|
||
<controller name="stats">
|
||
<method name="index" autogenerate="on">
|
||
... | ... | |
</values>
|
||
</method>
|
||
</model>
|
||
<model name="sms_message"></model>
|
||
<model name="sms_message">
|
||
<method name="count_of_unread_messages" autogenerate="on">
|
||
<attributes></attributes>
|
||
<values>
|
||
<input></input>
|
||
</values>
|
||
</method>
|
||
</model>
|
||
<model name="street">
|
||
<method name="get_street" autogenerate="off">
|
||
<attributes>
|
freenetis/branches/testing/application/models/user.php | ||
---|---|---|
* @package Model
|
||
*
|
||
* @property Member_Model $member
|
||
* @property ORM_Iterator $jobs
|
||
* @property ORM_Iterator $devices
|
||
* @property ORM_Iterator $logs
|
||
* @property ORM_Iterator $phone_invoices_user
|
||
* @property ORM_Iterator $sms_messages
|
||
* @property ORM_Iterator $private_phone_contacts
|
||
* @property ORM_Iterator $users_keys
|
||
* @property ORM_Iterator $device_admin
|
||
* @property ORM_Iterator $contacts
|
||
* @property ORM_Iterator $clouds
|
||
*/
|
||
class User_Model extends ORM
|
||
{
|
||
... | ... | |
public static $user = 2;
|
||
|
||
protected $belongs_to = array('member');
|
||
|
||
protected $has_many = array
|
||
(
|
||
'jobs', 'devices', 'logs', 'phone_invoices_users',
|
||
'jobs', 'devices', 'logs', 'phone_invoices_users', 'sms_messages',
|
||
'users' => 'private_phone_contacts', 'users_keys', 'device_admins'
|
||
);
|
||
protected $has_and_belongs_to_many = array('users_contacts' => 'contacts', 'clouds');
|
||
|
||
protected $has_and_belongs_to_many = array
|
||
(
|
||
'users_contacts' => 'contacts', 'clouds'
|
||
);
|
||
|
||
const ASSOCIATION = 1;
|
||
|
||
public static $arr_sql = array
|
freenetis/branches/testing/application/models/sms_message.php | ||
---|---|---|
<?php defined('SYSPATH') or die('No direct script access.');
|
||
/*
|
||
* This file is part of open source system FreeNetIS
|
||
* and it is release under GPLv3 licence.
|
||
* and it is released under GPLv3 licence.
|
||
*
|
||
* More info about licence can be found:
|
||
* http://www.gnu.org/licenses/gpl-3.0.html
|
||
... | ... | |
|
||
/**
|
||
* @package Model
|
||
* @property integer $user_id
|
||
* @property User_Model $user
|
||
* @property integer $sms_message_id
|
||
* @property Sms_message_Model $sms_message
|
||
* @property datetime $stamp
|
||
* @property datetime $send_date
|
||
* @property string $text
|
||
* @property string $sender
|
||
* @property string $receiver
|
||
* @property integer $driver
|
||
* @property integer $type
|
||
* @property integer $state
|
||
* @property string $message
|
||
*/
|
||
class Sms_message_Model extends ORM
|
||
{
|
||
public function get_all_records($limit_from = 0, $limit_results = 50, $order_by = 'id',
|
||
//// type conctansts
|
||
const RECEIVED = 0;
|
||
const SENT = 1;
|
||
|
||
//// state conctansts
|
||
// constants for recieved SMS
|
||
const RECEIVED_UNREAD = 0;
|
||
const RECEIVED_READ = 1;
|
||
// constants for sended SMS
|
||
const SENT_OK = 0;
|
||
const SENT_UNSENT = 1;
|
||
const SENT_FAILED = 2;
|
||
|
||
protected $belongs_to = array('user', 'sms_message_id' => 'sms_message');
|
||
|
||
/**
|
||
* Gets all SMS messages
|
||
*
|
||
* @param integer $limit_from
|
||
* @param integer $limit_results
|
||
* @param string $order_by
|
||
* @param string $order_by_direction
|
||
* @param array $filter_values
|
||
* @return ORM_Iterator
|
||
*/
|
||
public function get_all_records(
|
||
$limit_from = 0, $limit_results = 50, $order_by = 'id',
|
||
$order_by_direction = 'asc', $filter_values = array())
|
||
{
|
||
// order by check
|
||
... | ... | |
$order_by = 'id';
|
||
}
|
||
// order by direction check
|
||
$order_by_direction = strtolower($order_by_direction);
|
||
if ($order_by_direction != 'desc')
|
||
if (strtolower($order_by_direction) != 'desc')
|
||
{
|
||
$order_by_direction = 'asc';
|
||
}
|
||
... | ... | |
");
|
||
}
|
||
|
||
public function get_unread_messages($limit_from = 0, $limit_results = 50,
|
||
$order_by = 'id', $order_by_direction = 'asc', $filter_values = array())
|
||
/**
|
||
* Gets all unread SMS messages
|
||
*
|
||
* @param integer $limit_from
|
||
* @param integer $limit_results
|
||
* @param string $order_by
|
||
* @param string $order_by_direction
|
||
* @param array $filter_values
|
||
* @return ORM_Iterator
|
||
*/
|
||
public function get_unread_messages(
|
||
$limit_from = 0, $limit_results = 50,
|
||
$order_by = 'id', $order_by_direction = 'asc',
|
||
$filter_values = array())
|
||
{
|
||
// order by check
|
||
if (!$this->has_column($order_by))
|
||
... | ... | |
$order_by = 'id';
|
||
}
|
||
// order by direction check
|
||
$order_by_direction = strtolower($order_by_direction);
|
||
if ($order_by_direction != 'desc')
|
||
if (strtolower($order_by_direction) != 'desc')
|
||
{
|
||
$order_by_direction = 'asc';
|
||
}
|
||
... | ... | |
return $this->db->query("
|
||
SELECT *
|
||
FROM sms_messages
|
||
WHERE type=? AND state=?
|
||
WHERE type = ? AND state = ?
|
||
ORDER BY $order_by $order_by_direction
|
||
LIMIT ".intval($limit_from).", ".intval($limit_results)."
|
||
", Sms_Controller::$RECEIVED, Sms_Controller::$RECEIVED_UNREAD);
|
||
", array
|
||
(
|
||
Sms_message_Model::RECEIVED,
|
||
Sms_message_Model::RECEIVED_UNREAD
|
||
));
|
||
}
|
||
|
||
/**
|
||
* Gets count of all unread messages
|
||
*
|
||
* @return integer
|
||
*/
|
||
public function count_of_unread_messages()
|
||
{
|
||
return $this->db->query("
|
||
SELECT COUNT(*) AS count
|
||
FROM sms_messages
|
||
WHERE type = ? AND state = ?
|
||
", array
|
||
(
|
||
Sms_message_Model::RECEIVED,
|
||
Sms_message_Model::RECEIVED_UNREAD
|
||
))->current()->count;
|
||
}
|
||
|
||
}
|
freenetis/branches/testing/application/controllers/scheduler.php | ||
---|---|---|
/**
|
||
* Function sends SMS messages from db queue.
|
||
*
|
||
* @author Roman Sevcik
|
||
* @author Ondrej Fibich, Roman Sevcik
|
||
*/
|
||
private function send_quened_sms()
|
||
{
|
||
$model_sms_message = new Sms_message_Model();
|
||
$unsent_messages = $model_sms_message->where(
|
||
'type = ' . Sms_Controller::$SENT .
|
||
' AND state = ' . Sms_Controller::$SENT_UNSENT .
|
||
' AND send_date < CURRENT_TIMESTAMP'
|
||
)->limit(50)->find_all();
|
||
// gets unsended SMS
|
||
$unsent_messages = ORM::factory('sms_message')->where(array
|
||
(
|
||
'type' => Sms_message_Model::SENT,
|
||
'state' => Sms_message_Model::SENT_UNSENT
|
||
))->where('send_date < CURRENT_TIMESTAMP')->limit(10)->find_all();
|
||
|
||
// no SMS unsended => bye bye!
|
||
if (!count($unsent_messages))
|
||
{
|
||
return;
|
||
}
|
||
|
||
$sms_drivers = array();
|
||
|
||
if (count($unsent_messages) > 0)
|
||
foreach ($unsent_messages as $message)
|
||
// send all SMS
|
||
foreach ($unsent_messages as $m)
|
||
{
|
||
// init driver if not initialized before
|
||
if (!array_key_exists($m->driver, $sms_drivers))
|
||
{
|
||
switch ($message->driver)
|
||
$sms = Sms::factory($m->driver);
|
||
|
||
// wrong driver
|
||
if (!$sms)
|
||
{
|
||
case Sms::$KLIKNIAVOLEJ:
|
||
$m->state = Sms_message_Model::SENT_FAILED;
|
||
$m->message = __('Unknown driver');
|
||
$m->save();
|
||
continue;
|
||
}
|
||
|
||
$user = $this->settings->get('sms_user' . Sms::$KLIKNIAVOLEJ);
|
||
$password = $this->settings->get('sms_password' . Sms::$KLIKNIAVOLEJ);
|
||
$test_mode = $this->settings->get('sms_test_mode' . Sms::$KLIKNIAVOLEJ) - 1;
|
||
// gets variables from config
|
||
$user = Settings::get('sms_user' . $m->driver);
|
||
$password = Settings::get('sms_password' . $m->driver);
|
||
$hostname = Settings::get('sms_hostname' . $m->driver);
|
||
$test_mode = (Settings::get('sms_test_mode' . $m->driver) == 1);
|
||
|
||
$sms = new Sms_Klikniavolej();
|
||
$sms->user($user);
|
||
$sms->password($password);
|
||
$sms->sender($message->sender);
|
||
$sms->recipient($message->receiver);
|
||
if ($test_mode == Sms_Klikniavolej::$TEST_MODE_YES)
|
||
$sms->test(Sms_Klikniavolej::$TEST_MODE_YES);
|
||
$sms->text(htmlspecialchars_decode($message->text));
|
||
if ($sms->send())
|
||
{
|
||
$message->state = Sms_Controller::$SENT_OK;
|
||
$message->message = $sms->get_status();
|
||
}
|
||
else
|
||
{
|
||
$message->state = Sms_Controller::$SENT_FAILED;
|
||
$message->message = $sms->get_error();
|
||
}
|
||
$message->save();
|
||
break;
|
||
case Sms::$NEJLEVNEJSISMS:
|
||
// sets config vars to driver
|
||
$sms->set_hostname($hostname);
|
||
$sms->set_user($user);
|
||
$sms->set_password($password);
|
||
$sms->set_test($test_mode);
|
||
|
||
// save driver
|
||
$sms_drivers[$m->driver] = $sms;
|
||
}
|
||
|
||
// prepare message
|
||
$text = htmlspecialchars_decode($m->text);
|
||
|
||
// sends SMS
|
||
if ($sms_drivers[$m->driver]->send($m->sender, $m->receiver, $text))
|
||
{
|
||
$m->state = Sms_message_Model::SENT_OK;
|
||
$m->message = $sms_drivers[$m->driver]->get_status();
|
||
}
|
||
else
|
||
{
|
||
$m->state = Sms_message_Model::SENT_FAILED;
|
||
$m->message = $sms_drivers[$m->driver]->get_error();
|
||
}
|
||
|
||
$user = $this->settings->get('sms_user' . Sms::$NEJLEVNEJSISMS);
|
||
$password = $this->settings->get('sms_password' . Sms::$NEJLEVNEJSISMS);
|
||
|
||
$sms = new Sms_Nejlevnejsisms();
|
||
$sms->user($user);
|
||
$sms->password($password);
|
||
$sms->recipient($message->receiver);
|
||
$sms->text(htmlspecialchars_decode($message->text));
|
||
if ($sms->send())
|
||
{
|
||
$message->state = Sms_Controller::$SENT_OK;
|
||
$message->message = $sms->get_status();
|
||
}
|
||
else
|
||
{
|
||
$message->state = Sms_Controller::$SENT_FAILED;
|
||
$message->message = $sms->get_error();
|
||
}
|
||
$message->save();
|
||
case Sms::$SOUNDWINV100:
|
||
$user = $this->settings->get('sms_user' . Sms::$SOUNDWINV100);
|
||
$password = $this->settings->get('sms_password' . Sms::$SOUNDWINV100);
|
||
$hostname = $this->settings->get('sms_hostname' . Sms::$SOUNDWINV100);
|
||
|
||
|
||
$sms = new Sms_Soudvinv100();
|
||
$sms->user($user);
|
||
$sms->password($password);
|
||
$sms->hostname($hostname);
|
||
$sms->recipient('00' . $message->receiver);
|
||
$sms->text(htmlspecialchars_decode($message->text));
|
||
if ($sms->send())
|
||
{
|
||
$message->state = Sms_Controller::$SENT_OK;
|
||
$message->message = $sms->get_status();
|
||
}
|
||
else
|
||
{
|
||
$message->state = Sms_Controller::$SENT_FAILED;
|
||
$message->message = $sms->get_error();
|
||
}
|
||
$message->save();
|
||
break;
|
||
case Sms::$INACTIVE:
|
||
default:
|
||
$message->state = Sms_Controller::$SENT_FAILED;
|
||
$message->message = 'Neznámý ovladač';
|
||
$message->save();
|
||
}
|
||
}
|
||
// save message
|
||
$m->save();
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Function receive SMS messages from GSM gw.
|
||
*
|
||
* @author Roman Sevcik
|
||
* @author Ondrej Fibich, Roman Sevcik
|
||
*/
|
||
private function receive_sms()
|
||
{
|
||
if ($this->settings->get('sms_driver_state' . Sms::$SOUNDWINV100) == Sms::$DRIVER_ACTIVE)
|
||
$active_drivers = Sms::get_active_drivers();
|
||
|
||
// for each active driver
|
||
foreach ($active_drivers as $key => $driver)
|
||
{
|
||
$user = $this->settings->get('sms_user' . Sms::$SOUNDWINV100);
|
||
$password = $this->settings->get('sms_password' . Sms::$SOUNDWINV100);
|
||
$hostname = $this->settings->get('sms_hostname' . Sms::$SOUNDWINV100);
|
||
|
||
$sms = new Sms_Soudvinv100();
|
||
$sms->user($user);
|
||
$sms->password($password);
|
||
$sms->hostname($hostname);
|
||
|
||
// create driver
|
||
$sms = Sms::factory($key);
|
||
|
||
if (!$sms)
|
||
{
|
||
continue;
|
||
}
|
||
|
||
// sets vars to driver
|
||
$sms->set_hostname(Settings::get('sms_hostname' . $key));
|
||
$sms->set_user(Settings::get('sms_user' . $key));
|
||
$sms->set_password(Settings::get('sms_password' . $key));
|
||
|
||
// receive
|
||
if ($sms->receive())
|
||
{
|
||
// get messages
|
||
$messages = $sms->get_messages();
|
||
|
||
//print '<pre>';
|
||
//print_r ($messages);
|
||
//print '</pre>';
|
||
|
||
for ($i = 0; $i < count($messages); $i++)
|
||
|
||
foreach ($messages as $message)
|
||
{
|
||
if (strtolower($messages[$i]->text) === 'klima')
|
||
$recipient = Settings::get('sms_sim_card_number' . $key);
|
||
|
||
if ($recipient == null || $recipient == '')
|
||
{
|
||
print 'Sending answer to ' . $messages[$i]->sender;
|
||
$sms = new Sms_Soudvinv100();
|
||
$sms->user($user);
|
||
$sms->password($password);
|
||
$sms->hostname($hostname);
|
||
$sms->recipient('00' . $messages[$i]->sender);
|
||
$sms->text(htmlspecialchars_decode('Klima je nejlepsi, Klima je super, Klima je nej...! S pozdravem FreeNetIS'));
|
||
$sms->send();
|
||
$recipient = Settings::get('sms_sender_number');
|
||
}
|
||
elseif (strtolower($messages[$i]->text) === 'freenetis stav')
|
||
{
|
||
print 'Sending answer to ' . $messages[$i]->sender;
|
||
$sms = new Sms_Soudvinv100();
|
||
$sms->user($user);
|
||
$sms->password($password);
|
||
$sms->hostname($hostname);
|
||
$sms->recipient('00' . $messages[$i]->sender);
|
||
$sms->text(htmlspecialchars_decode('Vas aktualni kredit je 1240 CZK. S pozdravem FreeNetIS'));
|
||
$sms->send();
|
||
}
|
||
else
|
||
{
|
||
$recipient = $this->settings->get('sms_sim_card_number' . Sms::$SOUNDWINV100);
|
||
if ($recipient == null || $recipient == '')
|
||
$recipient = $this->settings->get('sms_sender_number');
|
||
|
||
$sms = new Sms_message_Model();
|
||
$sms->user_id = 1;
|
||
$sms->stamp = $messages[$i]->date;
|
||
$sms->send_date = $messages[$i]->date;
|
||
$sms->text = htmlspecialchars($messages[$i]->text);
|
||
$sms->sender = $messages[$i]->sender;
|
||
$sms->receiver = $recipient;
|
||
$sms->driver = Sms::$SOUNDWINV100;
|
||
$sms->type = Sms_Controller::$RECEIVED;
|
||
$sms->state = Sms_Controller::$RECEIVED_UNREAD;
|
||
$sms->save();
|
||
}
|
||
// save message to database
|
||
$sms_model = new Sms_message_Model();
|
||
$sms_model->user_id = NULL;
|
||
$sms_model->stamp = $message->date;
|
||
$sms_model->send_date = $message->date;
|
||
$sms_model->text = htmlspecialchars($message->text);
|
||
$sms_model->sender = $message->sender;
|
||
$sms_model->receiver = $recipient;
|
||
$sms_model->driver = $key;
|
||
$sms_model->type = Sms_message_Model::RECEIVED;
|
||
$sms_model->state = Sms_message_Model::RECEIVED_UNREAD;
|
||
$sms_model->save();
|
||
}
|
||
}
|
||
}
|
freenetis/branches/testing/application/controllers/settings.php | ||
---|---|---|
}
|
||
}
|
||
|
||
$data[__('DB schema revision')] = $this->settings->get('db_schema_version');
|
||
$data[__('DB schema revision')] = Settings::get('db_schema_version');
|
||
ob_start();
|
||
phpinfo();
|
||
$html = ob_get_contents();
|
||
... | ... | |
$this->form->input('title')
|
||
->label(__('Page title') . ':')
|
||
->rules('length[3,40]|required')
|
||
->value($this->settings->get('title'));
|
||
->value(Settings::get('title'));
|
||
|
||
$countries = ORM::factory('country')->select_list('id', 'country_name');
|
||
|
||
... | ... | |
->label(__('Country') . ':')
|
||
->rules('required')
|
||
->options($countries)
|
||
->selected($this->settings->get('default_country'));
|
||
->selected(Settings::get('default_country'));
|
||
|
||
// currency
|
||
$this->form->input('currency')
|
||
->label(__('Currency') . ':')
|
||
->rules('length[3,40]|required')
|
||
->value($this->settings->get('currency'));
|
||
->value(Settings::get('currency'));
|
||
|
||
// self-registration
|
||
$this->form->radio('self_registration')
|
||
->label(__('Self-registration') . ':')
|
||
->options($arr_bool)
|
||
->default($this->settings->get('self_registration'));
|
||
->default(Settings::get('self_registration'));
|
||
|
||
// forgotten password
|
||
$this->form->radio('forgotten_password')
|
||
->label(__('Forgotten password') . ':')
|
||
->options($arr_bool)
|
||
->default($this->settings->get('forgotten_password'));
|
||
->default(Settings::get('forgotten_password'));
|
||
|
||
$this->form->group('')
|
||
->label(__('E-mail settings'));
|
||
... | ... | |
$this->form->input('email_default_email')
|
||
->label(__('Default e-mail') . ':')
|
||
->rules('length[3,100]|valid_email')
|
||
->value($this->settings->get('email_default_email'));
|
||
->value(Settings::get('email_default_email'));
|
||
|
||
$this->form->group('')
|
||
->label(__('URL settings'));
|
||
... | ... | |
$this->form->radio('clean_urls')
|
||
->label(__('Clean URLs') . ':')
|
||
->options($arr_bool)
|
||
->default(!$this->settings->get('index_page'))
|
||
->default(!Settings::get('index_page'))
|
||
->help(__('URL addresses without index.php.'));
|
||
|
||
foreach ($htaccessFile as $line_num => $line)
|
||
... | ... | |
'native' => __('Native'),
|
||
'smtp' => __('SMTP'),
|
||
'sendmail' => __('Sendmail')
|
||
))->selected($this->settings->get('email_driver'));
|
||
))->selected(Settings::get('email_driver'));
|
||
|
||
$this->form->input('email_hostname')
|
||
->label(__('Hostname') . ':')
|
||
->value($this->settings->get('email_hostname'))
|
||
->value(Settings::get('email_hostname'))
|
||
->help(__('For SMTP settings only.'));
|
||
|
||
$this->form->input('email_port')
|
||
->label(__('Port') . ':')
|
||
->rules('valid_numeric')
|
||
->value($this->settings->get('email_port'))
|
||
->value(Settings::get('email_port'))
|
||
->help(__('For SMTP settings only.'));
|
||
|
||
$this->form->input('email_username')
|
||
->label(__('User name') . ':')
|
||
->value($this->settings->get('email_username'))
|
||
->value(Settings::get('email_username'))
|
||
->help(__('For SMTP settings only.'));
|
||
|
||
$this->form->input('email_password')
|
||
->label(__('Password') . ':')
|
||
->value($this->settings->get('email_username'))
|
||
->value(Settings::get('email_username'))
|
||
->help(__('For SMTP settings only.'));
|
||
|
||
$this->form->submit('Save');
|
||
... | ... | |
$this->form->dropdown('default_work_approval_template')
|
||
->label(__('Default approval template') . ':')
|
||
->options($arr_approval_templates)
|
||
->selected($this->settings->get('default_work_approval_template'))
|
||
->selected(Settings::get('default_work_approval_template'))
|
||
->rules('required');
|
||
|
||
$this->form->group('')
|
||
... | ... | |
$this->form->dropdown('default_work_report_approval_template')
|
||
->label(__('Default approval template') . ':')
|
||
->options($arr_approval_templates)
|
||
->selected($this->settings->get('default_work_report_approval_template'))
|
||
->selected(Settings::get('default_work_report_approval_template'))
|
||
->rules('required');
|
||
|
||
$this->form->group('')
|
||
... | ... | |
$this->form->dropdown('default_request_approval_template')
|
||
->label(__('Default approval template') . ':')
|
||
->options($arr_approval_templates)
|
||
->selected($this->settings->get('default_request_approval_template'))
|
||
->selected(Settings::get('default_request_approval_template'))
|
||
->rules('required');
|
||
|
||
$this->form->submit('Save');
|
||
... | ... | |
$this->form->input('voip_number_interval')
|
||
->label(__('Number interval') . ':')
|
||
->rules('length[19,19]|required')
|
||
->value(addslashes($this->settings->get('voip_number_interval')))
|
||
->value(addslashes(Settings::get('voip_number_interval')))
|
||
->callback(array($this, 'valid_voip_number_interval'));
|
||
|
||
$this->form->input('voip_number_exclude')
|
||
->label(__('Exclude numbers') . ':')
|
||
->rules('length[9,100]')
|
||
->value(addslashes($this->settings->get('voip_number_exclude')))
|
||
->value(addslashes(Settings::get('voip_number_exclude')))
|
||
->callback(array($this, 'valid_voip_number_exclude'));
|
||
|
||
$this->form->input('voip_sip_server')
|
||
->label(__('SIP server') . ':')
|
||
->rules('length[1,30]|required')
|
||
->value(addslashes($this->settings->get('voip_sip_server')));
|
||
->value(addslashes(Settings::get('voip_sip_server')));
|
||
|
||
$this->form->group('')
|
||
->label(__('Asterisk manager settings'));
|
||
... | ... | |
$this->form->input('voip_asterisk_hostname')
|
||
->label(__('Hostname') . ':')
|
||
->rules('length[1,50]')
|
||
->value($this->settings->get('voip_asterisk_hostname'));
|
||
->value(Settings::get('voip_asterisk_hostname'));
|
||
|
||
$this->form->input('voip_asterisk_user')
|
||
->label(__('User') . ':')
|
||
->rules('length[1,50]')
|
||
->value($this->settings->get('voip_asterisk_user'));
|
||
->value(Settings::get('voip_asterisk_user'));
|
||
|
||
$this->form->input('voip_asterisk_pass')
|
||
->label(__('Password') . ':')
|
||
->rules('length[1,50]')
|
||
->value($this->settings->get('voip_asterisk_pass'));
|
||
->value(Settings::get('voip_asterisk_pass'));
|
||
|
||
|
||
$this->form->group('')
|
||
... | ... | |
(
|
||
Billing::INACTIVE => __('Inactive'),
|
||
Billing::NFX_LBILLING => "lBilling - NFX"
|
||
))->selected($this->settings->get('voip_billing_driver'));
|
||
))->selected(Settings::get('voip_billing_driver'));
|
||
|
||
$this->form->input('voip_billing_partner')
|
||
->label(__('Partner') . ':')
|
||
->rules('length[1,50]')
|
||
->value($this->settings->get('voip_billing_partner'));
|
||
->value(Settings::get('voip_billing_partner'));
|
||
|
||
$this->form->input('voip_billing_password')
|
||
->label(__('Password') . ':')
|
||
->rules('length[1,50]')
|
||
->value($this->settings->get('voip_billing_password'));
|
||
->value(Settings::get('voip_billing_password'));
|
||
|
||
|
||
$this->form->group('')
|
||
... | ... | |
$this->form->input('voip_tariff_fixed')
|
||
->label(__('Fixed line number') . ':')
|
||
->rules('valid_numeric')
|
||
->value($this->settings->get('voip_tariff_fixed'));
|
||
->value(Settings::get('voip_tariff_fixed'));
|
||
|
||
$this->form->input('voip_tariff_cellphone')
|
||
->label(__('Cellphone number') . ':')
|
||
->rules('valid_numeric')
|
||
->value($this->settings->get('voip_tariff_cellphone'));
|
||
->value(Settings::get('voip_tariff_cellphone'));
|
||
|
||
$this->form->input('voip_tariff_voip')
|
||
->label(__('VoIP number') . ':')
|
||
->rules('valid_numeric')
|
||
->value($this->settings->get('voip_tariff_voip'));
|
||
->value(Settings::get('voip_tariff_voip'));
|
||
|
||
$this->form->submit('Save');
|
||
|
||
... | ... | |
if (!empty($message))
|
||
$view->content->message = $message;
|
||
|
||
$hostname = $this->settings->get('voip_asterisk_hostname');
|
||
$user = $this->settings->get('voip_asterisk_user');
|
||
$pass = $this->settings->get('voip_asterisk_pass');
|
||
$hostname = Settings::get('voip_asterisk_hostname');
|
||
$user = Settings::get('voip_asterisk_user');
|
||
$pass = Settings::get('voip_asterisk_pass');
|
||
|
||
$additional_info = null;
|
||
|
||
... | ... | |
*/
|
||
public function sms()
|
||
{
|
||
|
||
// access control
|
||
if (!$this->acl_check_edit(get_class($this), 'system'))
|
||
{
|
||
Controller::error(ACCESS);
|
||
|
||
$drivers = Sms::get_drivers();
|
||
}
|
||
|
||
foreach ($drivers as $key => $driver)
|
||
// enabled SMS?
|
||
if (!Sms::enabled())
|
||
{
|
||
$drivers[$key] = Sms::get_driver_name($key);
|
||
$view = new View('main');
|
||
$view->title = __('Settings') . ' - ' . __('SMS');
|
||
$view->content = new View('settings');
|
||
$view->content->current = 'sms';
|
||
$view->content->content = new View('sms/not_enabled');
|
||
$view->content->headline = __('Error - SMS not enabled');
|
||
$view->render(TRUE);
|
||
exit;
|
||
}
|
||
|
||
$drivers = Sms::get_active_drivers();
|
||
|
||
// creating of new forge
|
||
$this->form = new Forge('settings/sms');
|
||
... | ... | |
$this->form->input('sms_sender_number')
|
||
->label(__('Number of the sender') . ':')
|
||
->rules('length[12,12]|required|valid_phone')
|
||
->value($this->settings->get('sms_sender_number'));
|
||
->value(Settings::get('sms_sender_number'));
|
||
|
||
$this->form->dropdown('sms_driver')
|
||
->label(__('Default driver') . ':')
|
||
->rules('required')
|
||
->options($drivers)
|
||
->selected($this->settings->get('sms_driver'));
|
||
->selected(Settings::get('sms_driver'));
|
||
|
||
$this->form->input('sms_permit_extensions')
|
||
->label(__('Permit extensions') . ':')
|
||
->rules('required')
|
||
->value($this->settings->get('sms_permit_extensions'));
|
||
->value(Settings::get('sms_permit_extensions'));
|
||
|
||
|
||
$this->form->group('')
|
||
->label(Sms::get_driver_name(Sms::$KLIKNIAVOLEJ) . ' - ' .
|
||
__('Settings'));
|
||
/* Forms for all drivers */
|
||
|
||
$this->form->dropdown('sms_driver_state' . Sms::$KLIKNIAVOLEJ)
|
||
->label(__('Driver state') . ':')
|
||
->options(array
|
||
(
|
||
Sms::$DRIVER_INACTIVE => __('Inactive'),
|
||
Sms::$DRIVER_ACTIVE => __('Active')
|
||
))->selected($this->settings->get('sms_driver_state' . Sms::$KLIKNIAVOLEJ));
|
||
$aditional_info = '';
|
||
$drivers = Sms::get_drivers();
|
||
|
||
$this->form->input('sms_user' . Sms::$KLIKNIAVOLEJ)
|
||
->label(__('User') . ':')
|
||
->rules('length[1,50]')
|
||
->value($this->settings->get('sms_user' . Sms::$KLIKNIAVOLEJ));
|
||
foreach ($drivers as $driver)
|
||
{
|
||
$key = $driver['id'];
|
||
|
||
$this->form->input('sms_password' . Sms::$KLIKNIAVOLEJ)
|
||
->label(__('Password') . ':')
|
||
->rules('length[1,50]')
|
||
->value($this->settings->get('sms_password' . Sms::$KLIKNIAVOLEJ));
|
||
|
||
$this->form->dropdown('sms_test_mode' . Sms::$KLIKNIAVOLEJ)
|
||
->label(__('Test mode') . ':')
|
||
->options(array
|
||
(
|
||
Sms_Klikniavolej::$TEST_MODE_YES + 1 => __('Yes'),
|
||
Sms_Klikniavolej::$TEST_MODE_NO + 1 => __('No')
|
||
))->selected($this->settings->get('sms_test_mode' . Sms::$KLIKNIAVOLEJ));
|
||
/* Build form */
|
||
|
||
$this->form->group(Sms::get_driver_name($key));
|
||
|
||
$this->form->group('')
|
||
->label(Sms::get_driver_name(Sms::$NEJLEVNEJSISMS) . ' - ' .
|
||
__('Settings'));
|
||
$this->form->dropdown('sms_driver_state' . $key)
|
||
->label(__('Driver state') . ':')
|
||
->options(array
|
||
(
|
||
Sms::DRIVER_INACTIVE => __('Inactive'),
|
||
Sms::DRIVER_ACTIVE => __('Active')
|
||
))->selected(Settings::get('sms_driver_state' . $key));
|
||
|
||
$this->form->dropdown('sms_driver_state' . Sms::$NEJLEVNEJSISMS)
|
||
->label(__('Driver state') . ':')
|
||
->options(array
|
||
(
|
||
Sms::$DRIVER_INACTIVE => __('Inactive'),
|
||
Sms::$DRIVER_ACTIVE => __('Active')
|
||
))->selected($this->settings->get('sms_driver_state' . Sms::$NEJLEVNEJSISMS));
|
||
|
||
$this->form->input('sms_user' . Sms::$NEJLEVNEJSISMS)
|
||
->label(__('User') . ':')
|
||
->rules('length[1,50]')
|
||
->value($this->settings->get('sms_user' . Sms::$NEJLEVNEJSISMS));
|
||
|
||
$this->form->input('sms_password' . Sms::$NEJLEVNEJSISMS)
|
||
->label(__('Password') . ':')
|
||
->rules('length[1,50]')
|
||
->value($this->settings->get('sms_password' . Sms::$NEJLEVNEJSISMS));
|
||
// hostname not defined by config driver array?
|
||
if (!array_key_exists('hostname', $driver))
|
||
{
|
||
$this->form->input('sms_hostname' . $key)
|
||
->label(__('Hostname') . ':')
|
||
->rules('length[1,50]')
|
||
->value(Settings::get('sms_hostname' . $key));
|
||
}
|
||
|
||
$this->form->group('')
|
||
->label(Sms::get_driver_name(Sms::$SOUNDWINV100) . ' - ' .
|
||
__('Settings'));
|
||
|
||
$this->form->dropdown('sms_driver_state' . Sms::$SOUNDWINV100)
|
||
->label(__('Driver state') . ':')
|
||
->options(array
|
||
(
|
||
Sms::$DRIVER_INACTIVE => __('Inactive'),
|
||
Sms::$DRIVER_ACTIVE => __('Active')
|
||
))->selected($this->settings->get('sms_driver_state' . Sms::$SOUNDWINV100));
|
||
|
||
$this->form->input('sms_sim_card_number' . Sms::$SOUNDWINV100)
|
||
->label(__('Phone number of the SIM card') . ':')
|
||
->rules('length[12,12]|valid_phone')
|
||
->value($this->settings->get('sms_sim_card_number' . Sms::$SOUNDWINV100));
|
||
|
||
$this->form->input('sms_user' . Sms::$SOUNDWINV100)
|
||
->label(__('User') . ':')
|
||
->rules('length[1,50]')
|
||
->value($this->settings->get('sms_user' . Sms::$SOUNDWINV100));
|
||
|
||
$this->form->input('sms_password' . Sms::$SOUNDWINV100)
|
||
->label(__('Password') . ':')
|
||
->rules('length[1,50]')
|
||
->value($this->settings->get('sms_password' . Sms::$SOUNDWINV100));
|
||
|
||
$this->form->input('sms_hostname' . Sms::$SOUNDWINV100)
|
||
->label(__('Hostname') . ':')
|
||
->rules('length[1,50]')
|
||
->value($this->settings->get('sms_hostname' . Sms::$SOUNDWINV100));
|
||
$this->form->input('sms_user' . $key)
|
||
->label(__('User') . ':')
|
||
->rules('length[1,50]')
|
||
->value(Settings::get('sms_user' . $key));
|
||
|
||
$this->form->input('sms_password' . $key)
|
||
->label(__('Password') . ':')
|
||
->rules('length[1,50]')
|
||
->value(Settings::get('sms_password' . $key));
|
||
|
||
// test mode on?
|
||
if ($driver['test_mode_enabled'])
|
||
{
|
||
$this->form->dropdown('sms_test_mode' . $key)
|
||
->label(__('Test mode') . ':')
|
||
->options(array
|
||
(
|
||
1 => __('Yes'),
|
||
0 => __('No')
|
||
))->selected(Settings::get('sms_test_mode' . $key));
|
||
}
|
||
|
||
/* Testing of gates */
|
||
|
||
if (Settings::get('sms_driver_state' . $key) == Sms::DRIVER_ACTIVE)
|
||
{
|
||
// variables
|
||
$hostname = Settings::get('sms_hostname' . $key);
|
||
|
||
$aditional_info .= __('Testing driver') . ' : '
|
||
. Sms::get_driver_name($key)
|
||
. '......<span style="color:';
|
||
|
||
// sms
|
||
$sms = Sms::factory($key);
|
||
|
||
// loaded?
|
||
if (!$sms)
|
||
{
|
||
$aditional_info .= 'red">' . __('Load failed') . '</span><br />';
|
||
continue;
|
||
}
|
||
|
||
// sets vars to class
|
||
$sms->set_hostname(Settings::get('sms_hostname' . $key));
|
||
$sms->set_user(Settings::get('sms_user' . $key));
|
||
$sms->set_password(Settings::get('sms_password' . $key));
|
||
$sms->set_test(Settings::get('sms_test_mode' . $key) == 1);
|
||
|
||
if ($sms->test_conn())
|
||
{
|
||
$aditional_info .= 'green">OK</span><br />';
|
||
}
|
||
else
|
||
{
|
||
$aditional_info .= 'red">' . __('Failed') . '</span><br />';
|
||
}
|
||
}
|
||
}
|
||
|
||
$this->form->submit('Save');
|
||
|
||
special::required_forge_style($this->form, ' *', 'required');
|
||
... | ... | |
// check if variable exists
|
||
if ($config_model->check_exist_variable($name))
|
||
// update of variable
|
||
{
|
||
$issaved = $issaved && $config_model->update_variable($name, $value);
|
||
}
|
||
else
|
||
// insert new variable
|
||
{
|
||
$issaved = $issaved && $config_model->insert_variable($name, $value);
|
||
}
|
||
}
|
||
|
||
if ($issaved)
|
||
... | ... | |
$view->content->content = $this->form->html();
|
||
$view->content->headline = __('SMS');
|
||
$view->content->link_back = $this->links;
|
||
|
||
if (!empty($message))
|
||
$view->content->message = $message;
|
||
|
||
$aditional_info = null;
|
||
|
||
if ($this->settings->get('sms_driver_state' . Sms::$KLIKNIAVOLEJ) == Sms::$DRIVER_ACTIVE)
|
||
{
|
||
$sms = new Sms_Klikniavolej();
|
||
$sms->user($this->settings->get('sms_user' . Sms::$KLIKNIAVOLEJ));
|
||
$sms->password($this->settings->get('sms_password' . Sms::$KLIKNIAVOLEJ));
|
||
|
||
if ($sms->test_conn())
|
||
{
|
||
$aditional_info[] = __('Testing driver')
|
||
. ' : ' . Sms::get_driver_name(Sms::$KLIKNIAVOLEJ)
|
||
. '......<span style="color:green">OK</span>';
|
||
}
|
||
else
|
||
{
|
||
$aditional_info[] = __('Testing driver')
|
||
. ' : ' . Sms::get_driver_name(Sms::$KLIKNIAVOLEJ)
|
||
. '......<span style="color:red">'
|
||
. __('Failed') . '</span>';
|
||
}
|
||
}
|
||
|
||
if ($this->settings->get('sms_driver_state' . Sms::$SOUNDWINV100) == Sms::$DRIVER_ACTIVE)
|
||
{
|
||
$sms = new Sms_Soudvinv100();
|
||
$sms->user($this->settings->get('sms_user' . Sms::$SOUNDWINV100));
|
||
$sms->password($this->settings->get('sms_password' . Sms::$SOUNDWINV100));
|
||
$sms->hostname($this->settings->get('sms_hostname' . Sms::$SOUNDWINV100));
|
||
|
||
if ($sms->test_conn())
|
||
{
|
||
$aditional_info[] = __('Testing driver')
|
||
. ' : ' . Sms::get_driver_name(Sms::$SOUNDWINV100)
|
||
. '......<span style="color:green">OK</span>';
|
||
}
|
||
else
|
||
{
|
||
$aditional_info[] = __('Testing driver')
|
||
. ' : ' . Sms::get_driver_name(Sms::$SOUNDWINV100)
|
||
. '......<span style="color:red">'
|
||
. __('Failed') . '</span>';
|
||
}
|
||
}
|
||
|
||
$view->content->aditional_info = $aditional_info;
|
||
$view->content->additional_info = $aditional_info;
|
||
$view->render(TRUE);
|
||
}
|
||
|
||
... | ... | |
->label(__('Interval of update') . ': ' .
|
||
help::hint('ulogd_update_interval'))
|
||
->rules('required|valid_numeric')
|
||
->value($this->settings->get('ulogd_update_interval'));
|
||
->value(Settings::get('ulogd_update_interval'));
|
||
|
||
$this->form->group('')
|
||
->label(__('Active members') . ' ' .
|
||
... | ... | |
->label(__('Base') . ': ' .
|
||
help::hint('ulogd_active_count'))
|
||
->rules('required|valid_ulogd_active_count')
|
||
->value($this->settings->get('ulogd_active_count'));
|
||
->value(Settings::get('ulogd_active_count'));
|
||
|
||
$this->form->dropdown('ulogd_active_type')
|
||
->label(__('Type of traffic') . ': ' .
|
||
... | ... | |
'total' => __('both') . ' ('
|
||
. __('upload') . ' + '
|
||
. __('download') . ')'
|
||
))->selected($this->settings->get('ulogd_active_type'));
|
||
))->selected(Settings::get('ulogd_active_type'));
|
||
|
||
$this->form->input('ulogd_active_min')
|
||
->label(__('Minimum of traffic') . ': ' .
|
||
... | ... | |
);
|
||
$this->form->action_logs_active->disabled('disabled');
|
||
}
|
||
else if ($this->settings->get('action_logs_active') == 1)
|
||
else if (Settings::get('action_logs_active') == 1)
|
||
{
|
||
$this->form->action_logs_active->checked('checked');
|
||
}
|
||
... | ... | |
|
||
$this->form->ulogd_enabled->disabled('disabled');
|
||
}
|
||
else if ($this->settings->get('ulogd_enabled') == 1)
|
||
else if (Settings::get('ulogd_enabled') == 1)
|
||
{
|
||
$this->form->ulogd_enabled->checked('checked');
|
||
}
|
||
... | ... | |
->label(__('Info') . ':')
|
||
->rows(5)
|
||
->cols(100)
|
||
->value($this->settings->get('registration_info'));
|
||
->value(Settings::get('registration_info'));
|
||
|
||
$this->form->html_textarea('registration_license')
|
||
->label(__('License') . ':')
|
||
->rows(5)
|
||
->cols(100)
|
||
->value($this->settings->get('registration_license'));
|
||
->value(Settings::get('registration_license'));
|
||
|
||
$this->form->submit('Save');
|
||
|
freenetis/branches/testing/application/controllers/sms.php | ||
---|---|---|
/**
|
||
* SMS controller.
|
||
*
|
||
* @author Lubomir Buben, Roman Sevcik
|
||
* @author Lubomir Buben, Roman Sevcik, Ondrej Fibich
|
||
*
|
||
* @TODO correct functionality not confirmed - candidate for removal? (jsvitak)
|
||
* @TODO access rights missing (dzolo)
|
||
*/
|
||
class Sms_Controller extends Controller{
|
||
class Sms_Controller extends Controller
|
||
{
|
||
/**
|
||
* Contruct checks if SMS are enabled
|
||
*/
|
||
public function __construct()
|
||
{
|
||
parent::__construct();
|
||
|
||
if (!Sms::enabled())
|
||
{
|
||
$view = new View('main');
|
||
$view->title = __('SMS Messages');
|
||
$view->content = new View('sms/not_enabled');
|
||
$view->content->headline = __('Error - SMS not enabled');
|
||
$view->render(TRUE);
|
||
exit;
|
||
}
|
||
}
|
||
|
||
|
||
static public $RECEIVED = 0;
|
||
static public $SENT = 1;
|
||
|
||
static public $RECEIVED_UNREAD = 0;
|
||
static public $RECEIVED_READ = 1;
|
||
|
||
static public $SENT_OK = 0;
|
||
static public $SENT_UNSENT = 1;
|
||
static public $SENT_FAILED = 2;
|
||
|
||
/**
|
||
* Redirects to show all
|
||
*/
|
||
public function index()
|
||
{
|
||
url::redirect(url_lang::base().'sms/show_all');
|
||
url::redirect('sms/show_all');
|
||
}
|
||
|
||
/**
|
||
* This function show all messages in database
|
||
*
|
||
* @author Roman Sevcik
|
||
* @param <type> $limit_results
|
||
* @param <type> $order_by
|
||
* @param <type> $order_by_direction
|
||
* @param <type> $page_word
|
||
* @param <type> $page
|
||
* @param integer $limit_results
|
||
* @param string $order_by
|
||
* @param string $order_by_direction
|
||
* @param mixed $page_word
|
||
* @param string $page
|
||
*/
|
||
public function show_all($limit_results = 100, $order_by = 'id', $order_by_direction = 'desc', $page_word = null, $page = 1)
|
||
public function show_all(
|
||
$limit_results = 100, $order_by = 'id',
|
||
$order_by_direction = 'desc', $page_word = null, $page = 1)
|
||
{
|
||
// get new selector
|
||
if (is_numeric($this->input->get('record_per_page')))
|
||
$limit_results = (int) $this->input->get('record_per_page');
|
||
{
|
||
$limit_results = (int) $this->input->get('record_per_page');
|
||
}
|
||
|
||
// parameters control
|
||
$allowed_order_type = array('id', 'name', 'user_id');
|
||
$allowed_order_type = array('id', 'name', 'user_id', 'send_date', 'type');
|
||
|
||
if (!in_array(strtolower($order_by), $allowed_order_type))
|
||
$order_by = 'user_id';
|
||
if (strtolower($order_by_direction) != 'asc' && strtolower($order_by_direction) != 'desc')
|
||
$order_by_direction = 'asc';
|
||
{
|
||
$order_by = 'user_id';
|
||
}
|
||
|
||
if (strtolower($order_by_direction) != 'asc')
|
||
{
|
||
$order_by_direction = 'desc';
|
||
}
|
||
|
||
$model_sms_message = new Sms_message_Model();
|
||
|
||
$total_sms_message = $model_sms_message->count_all();
|
||
|
||
if (($sql_offset = ($page - 1) * $limit_results) > $total_sms_message)
|
||
$sql_offset = 0;
|
||
{
|
||
$sql_offset = 0;
|
||
}
|
||
|
||
$all_sms_message = $model_sms_message->get_all_records($sql_offset, (int)$limit_results, $order_by, $order_by_direction);
|
||
$all_sms_message = $model_sms_message->get_all_records(
|
||
$sql_offset, $limit_results,
|
||
$order_by, $order_by_direction
|
||
);
|
||
|
||
$headline = url_lang::lang('texts.SMS message list');
|
||
$grid = new Grid(url_lang::base().'sms', $headline, array(
|
||
'use_paginator' => true,
|
||
'use_selector' => true,
|
||
'current' => $limit_results, //current selected 'records_per_page' value
|
||
'selector_increace' => 100, // increace
|
||
'selector_min' => 100, // minimum where selector start
|
||
'selector_max_multiplier' => 10,
|
||
'base_url' => Config::get('lang').'/sms/show_all/'.$limit_results.'/'.$order_by.'/'.$order_by_direction,
|
||
'uri_segment' => 'page', // pass a string as uri_segment to trigger former 'label' functionality
|
||
'total_items' => $total_sms_message, // use db count query here of course
|
||
'items_per_page' => $limit_results, // it may be handy to set defaults for stuff like this in config/pagination.php
|
||
'style' => 'classic',
|
||
'order_by' => $order_by,
|
||
'order_by_direction' => $order_by_direction,
|
||
'limit_results' => $limit_results
|
||
$headline = __('SMS message list');
|
||
|
||
$grid = new Grid('sms', $headline, array
|
||
(
|
||
'use_paginator' => true,
|
||
'use_selector' => true,
|
||
'current' => $limit_results,
|
||
'selector_increace' => 100,
|
||
'selector_min' => 100,
|
||
'selector_max_multiplier' => 10,
|
||
'base_url' => Config::get('lang').'/sms/show_all/'
|
||
. $limit_results.'/'.$order_by.'/'.$order_by_direction,
|
||
'uri_segment' => 'page',
|
||
'total_items' => $total_sms_message,
|
||
'items_per_page' => $limit_results,
|
||
'style' => 'classic',
|
||
'order_by' => $order_by,
|
||
'order_by_direction' => $order_by_direction,
|
||
'limit_results' => $limit_results
|
||
));
|
||
|
||
$drivers = Sms::get_drivers();
|
||
foreach ($drivers as $key => $driver)
|
||
{
|
||
if ($this->settings->get('sms_driver_state'.$key) == Sms::$DRIVER_ACTIVE)
|
||
$drivers[$key] = Sms::get_driver_name($key);
|
||
else
|
||
unset($drivers[$key]);
|
||
}
|
||
$grid->add_new_button('sms/show_unread', __('Show unread messages'));
|
||
|
||
$grid->add_new_button(url_lang::base().'sms/show_unread', url_lang::lang('texts.Show unread messages'));
|
||
|
||
if (count($drivers) != 0)
|
||
$grid->add_new_button(url_lang::base().'sms/send', url_lang::lang('texts.Send message'));
|
||
$grid->order_field('id')->label(url_lang::lang('texts.id'));//->callback('VoIP_Controller::name');
|
||
$grid->order_field('send_date')->label(url_lang::lang('texts.Send date'));//->callback('VoIP_Controller::locked');
|
||
$grid->order_field('text')->label(url_lang::lang('texts.Text'));//->callback('VoIP_Controller::user_name');
|
||
$grid->order_callback_field('type')->label(url_lang::lang('texts.Type'))->callback('Sms_Controller::type');
|
||
$grid->callback_field('state')->label(url_lang::lang('texts.State'))->callback('Sms_Controller::state');
|
||
$grid->action_field('id') ->label(url_lang::lang('texts.Message'))->url(url_lang::base().'sms/show')->action(url_lang::lang('texts.Show'));
|
||
if (Sms::has_active_driver())
|
||
{
|
||
$grid->add_new_button('sms/send', __('Send message'));
|
||
}
|
||
|
||
$grid->order_field('id');
|
||
|
||
$grid->order_callback_field('send_date')
|
||
->callback('callback::datetime');
|
||
|
||
$grid->order_callback_field('text')
|
||
->callback('callback::limited_text');
|
||
|
||
$grid->order_callback_field('type')
|
||
->callback(array($this, 'type'))
|
||
->class('center');
|
||
|
||
$grid->callback_field('state')
|
||
->callback(array($this, 'state'));
|
||
|
||
$grid->grouped_action_field()
|
||
->add_action()
|
||
->icon_action('show')
|
||
->url('sms/show');
|
||
|
||
$grid->datasource($all_sms_message);
|
||
|
||
$view = new View('main');
|
||
$view->title = $headline;
|
||
$view->content = $grid;
|
||
$view->breadcrumbs = __('SMS messages');
|
||
$view->render(TRUE);
|
||
}
|
||
|
Také k dispozici: Unified diff
Novinky:
- prepsan modul SMS, zmeny:
-- arcitektonicky prepsano na navrhovy vzor tovarna pro jednoduche pridavani novych ovladacu a obecny pristup k ovladacum
-- opravena brana klikniavolej.cz
-- optimalizace odesilani SMS schedulerem
-- dynamicky formular pro nastaveni SMS bran dle aktualnich dostupnych ovladacu
-- odstranen ovladac pro nejlevnejsisms.cz
Opravy:
- oprava chyby v Selectoru menici nechtene jazyk pri odeslani
- oprava chybejicich ikon u zobrazeni zarizeni