Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 1693

Přidáno uživatelem Ondřej Fibich před asi 12 roky(ů)

Vydani:

- freenetis 1.0.1 - fixes #296, #298, #299, #305, #309, #310

Zobrazit rozdíly:

freenetis/trunk/kohana/application/i18n/cs_CZ/texts.php
'channel' => 'Kanál',
'channel %s' => '%s. kanál',
'channel width' => 'Šířka kanálu',
'charge voip credit' => 'Dobít VoIP kredit',
'chars' => 'Znaků',
'check again' => 'Znovu zkontrolovat',
'children interfaces' => 'Položky bridge',
......
'email already exists in database' => 'E-mail je již v databázi',
'e-mail from' => 'E-mail Od',
'e-mail to' => 'E-mail Komu',
'empty' => 'Prázdný',
'empty input' => 'Prázdný vstup',
'email address' => 'emailová adresa',
'e-mail "%s" has been sent for %d e-mail addresses' => 'E-mail "%s" byl odeslán pro %d e-mailových adres.',
freenetis/trunk/kohana/application/vendors/deb/freenetis/control
Priority: optional
Section: web
Pre-Depends: debconf (>= 0.5) | debconf-2.0
Depends: coreutils, wget, grep, apache2, php5, php5-curl, libapache2-mod-php5, php5-mysql | php5-mysqli, mysql-client
Suggests: mysql-server (>= 5.0.0), mysql-client
Depends: coreutils, wget, grep, apache2, php5, php5-curl, libapache2-mod-php5, php5-mysql | php5-mysqli, mysql-client, php5-mcrypt, php5-gd
Suggests: mysql-server (>= 5.0.0), mysql-client
Architecture: all
Maintainer: Ondrej Fibich <ondrej.fibich@gmail.com>
Homepage: http://www.freenetis.org
freenetis/trunk/kohana/application/vendors/deb/freenetis/changelog
freenetis (1.0.0~rc13) unstable; urgency=low
* Restrict local installation (#289)
-- Ondrej Fibich <ondrej.fibich@gmail.com> Tue, 21 Aug 2012 08:37:46 +0200
freenetis (1.0.0) stable; hight
* Official release 1.0.0
-- Ondrej Fibich <ondrej.fibich@gmail.com> Thu, 23 Aug 2012 10:37:46 +0200
freenetis (1.0.1) stable; hight
* Fix release (#296, #298, #299, #305, #309, #310)
-- Ondrej Fibich <ondrej.fibich@gmail.com> Tue, 28 Aug 2012 09:28:44 +0200
freenetis/trunk/kohana/application/helpers/callback.php
{
if (empty($item->message_id))
{
echo '&nbsp;';
echo '&nbsp;-&nbsp;';
}
else
{
......
public static function message_field($item, $name)
{
// system messages
if ($item->type >= 0)
if ($item->type > 0)
{
// system messages
echo __($item->message);
}
elseif ($item->type == 0)
else if ($item->type === NULL)
{
// user messages
echo $item->message;
// null value means no message
echo '<span style="color: #999">' . __('No redirection') . '</span>';
}
else
{
// null value means no message
echo __('No redirection');
// user messages
echo $item->message;
}
}
......
if ($message->type == Message_Model::CONTACT_INFORMATION ||
$message->type == Message_Model::CANCEL_MESSAGE ||
$message->type == Message_Model::UNKNOWN_DEVICE_MESSAGE)
$message->type == Message_Model::UNKNOWN_DEVICE_MESSAGE)
{
echo '&nbsp;';
}
......
{
$message = new Message_Model($item->id);
echo html::anchor(
url::base().'redirection/?id='.$message->id,
__('Preview'), array('target' => '_blank')
);
if (empty($message->text))
{
echo '<span class="red">' . __('Empty') . '</span>';
}
else
{
echo html::anchor(
url::base().'redirection/?id='.$message->id,
__('Preview'), array('target' => '_blank')
);
}
}
/**
freenetis/trunk/kohana/application/models/town.php
* Not exists - create it a return it
*
* @author Michal Kliment
* @param string $zip_code zip code
* @param string $zip_code zip code (if set to FALSE, do not search by ZIP code)
* @param string $town town
* @param string $quarter quarter
* @return Town_Model
*/
public function get_town($zip_code = NULL, $town = NULL, $quarter = NULL)
{
$towns = $this->where(array
(
'zip_code' => $zip_code,
'town' => $town,
'quarter' => $quarter
))->find_all();
if ($zip_code === FALSE) // do not search
{
$zip_code_where = '';
}
else if (empty($zip_code))
{
$zip_code_where = ' AND zip_code IS NULL';
}
else
{
$zip_code_where = ' AND LOWER(zip_code) = ' . $this->db->escape(strtolower($zip_code));
}
if (empty($quarter))
{
$quarter_where = ' AND quarter IS NULL';
}
else
{
$quarter_where = ' AND LOWER(quarter) = ' . $this->db->escape(strtolower($quarter));
}
$towns = $this->db->query("
SELECT *
FROM towns
WHERE LOWER(town) = ? $zip_code_where $quarter_where
", strtolower($town));
if (count($towns) == 0)
{
freenetis/trunk/kohana/application/models/ip_address.php
* @property bool $service
* @property integer $whitelisted
* @property integer $member_id
* @property Member_Model $member
*/
class Ip_address_Model extends ORM
{
protected $belongs_to = array('iface', 'subnet');
protected $belongs_to = array('iface', 'subnet', 'member');
/**
* No whitelist means, that is ip address can be redirected in any time
......
", Message_Model::SELF_CANCEL_DISABLED);
}
/**
* Gets all ip addresses including their redirections.
* Used in member's profile screen.
*
* @author Jiri Svitak
* @param integer $member_id
* @param integer $sql_offset
* @param integer $limit_results
* @param string $order_by
* @param string $order_by_direction
* @return Mysql_Result
*/
public function get_ips_and_redirections_of_member($member_id)
public function get_ips_and_redirections_of_member(
$member_id, $sql_offset, $limit_results,
$order_by, $order_by_direction)
{
// order by
if (strtolower($order_by) == 'ip_address')
{
$order_by = 'inet_aton(ip.ip_address)';
}
else
{
$order_by = $this->db->escape_column($order_by);
}
// order by direction
if (strtolower($order_by_direction) != 'asc')
{
$order_by_direction = 'desc';
}
return $this->db->query("
SELECT ip.id AS ip_address_id, ip.ip_address, ip.whitelisted,
m.id AS message_id, m.name AS message, m.type, ? AS member_id
m.id AS message_id, m.name AS message, m.type, ? AS member_id,
mip.datetime AS active_redir_datetime
FROM ip_addresses ip
LEFT JOIN ifaces i ON ip.iface_id = i.id
LEFT JOIN devices d ON i.device_id = d.id
......
LEFT JOIN messages_ip_addresses mip ON mip.ip_address_id = ip.id
LEFT JOIN messages m ON m.id = mip.message_id
WHERE u.member_id = ? OR ip.member_id = ?
ORDER BY inet_aton(ip.ip_address) ASC,
ORDER BY $order_by $order_by_direction,
m.self_cancel DESC, mip.datetime ASC
LIMIT " . intval($sql_offset) . ", " . intval($limit_results) . "
", $member_id, $member_id, $member_id);
}
/**
* Gets count of all ip addresses including their redirections.
* Used in member's profile screen.
*
* @author Ondřej Fibich
* @param integer $member_id
* @return integer
*/
public function count_ips_and_redirections_of_member($member_id)
{
return $this->db->query("
SELECT COUNT(*) AS total
FROM ip_addresses ip
LEFT JOIN ifaces i ON ip.iface_id = i.id
LEFT JOIN devices d ON i.device_id = d.id
LEFT JOIN users u ON d.user_id = u.id
LEFT JOIN messages_ip_addresses mip ON mip.ip_address_id = ip.id
LEFT JOIN messages m ON m.id = mip.message_id
WHERE u.member_id = ? OR ip.member_id = ?
", $member_id, $member_id, $member_id)->current()->total;
}
/**
* Counts all ip addresses by member and subnet
freenetis/trunk/kohana/application/models/street.php
*/
public function get_street($street = NULL, $town_id = NULL)
{
$streets = $this->where(array
(
'street' => $street,
'town_id' => $town_id
))->find_all();
$streets = $this->db->query("
SELECT *
FROM streets
WHERE town_id = ? AND LOWER(street) = ?
", $town_id, strtolower($street));
if (count($streets) == 0)
{
freenetis/trunk/kohana/application/controllers/ifaces.php
try
{
$iface->transaction_start();
$old_type = $iface->type;
$iface->name = $form_data['name'];
$iface->type = $form_data['itype'];
......
$im_connect_to->link_id = $lm->id;
$im_connect_to->save_throwable();
}
// disconnect
else if (isset($_POST['change_link']) && $_POST['change_link'])
{
$iface->link_id = null;
}
// do not changes link commonly, but if type changed we must
// look if the current link can be used on new type
// this code resolves (#310)
else if ($old_type != $iface->type)
{
$mediums = $iface->get_types_has_link_with_medium($iface->type);
if ($iface->link_id &&
!array_key_exists($iface->link->medium, $mediums))
{
$iface->link_id = null;
}
}
}
else
{
freenetis/trunk/kohana/application/controllers/transfers.php
));
// payment cash link
if ($this->acl_check_new('Accounts_Controller', 'transfers', $account->member_id))
if ($this->acl_check_new('Accounts_Controller', 'transfers'))
{
$transfers_grid->add_new_button(
'transfers/add_member_fee_payment_by_cash/' .
$account->member->id, __('Payment by cash')
);
}
if ($this->acl_check_new('Accounts_Controller', 'transfers', $account->member_id))
{
$transfers_grid->add_new_button(
'transfers/add_from_account/' . $account_id,
__('Send money to other account'),
......
__('Back to transfers of account')
);
$headline = __('Add new VoIP transfer');
$headline = __('Charge VoIP credit');
$info[] = __('Information') . ' : ' . __('Transfer will be effected within 15 minutes.');
$view = new View('main');
$view->title = $headline;
freenetis/trunk/kohana/application/controllers/voip.php
->label('User');
$grid->order_link_field('member_id')
->link('users/show', 'mname')
->label('User');
->link('members/show', 'mname')
->label('Member');
$grid->callback_field('regseconds')
->label('')
......
$view->title = __('Change member limit');
$view->breadcrumbs = $breadcrumbs->html();
$view->content = new View('form');
$view->content->headline = 'VoIP' . __('Limit of member');
$view->content->headline = 'VoIP ' . __('Limit of member');
$view->content->form = $form->html();
$view->render(TRUE);
}
freenetis/trunk/kohana/application/controllers/members.php
* @param string $order_by_direction sorting direction
*/
public function show(
$member_id = NULL, $order_by = 'member_id',
$order_by_direction = 'ASC')
$member_id = NULL, $limit_results = 20, $order_by = 'ip_address',
$order_by_direction = 'ASC', $page_word = null, $page = 1)
{
// parameter is wrong
if (!$member_id || !is_numeric($member_id))
......
(
'separator' => '<br /><br />',
'use_paginator' => false,
'use_selector' => false,
'order_by' => $order_by,
'order_by_direction' => $order_by_direction,
'variables' => $member_id.'/'
'use_selector' => false
));
$voip_grid->field('id')
......
$membership_interrupts_grid->datasource($membership_interrupts);
// activated redirections of member, including short statistic of whitelisted IP addresses
$ip_model = new Ip_address_Model();
$ip_addresses = $ip_model->get_ips_and_redirections_of_member($member_id);
$total_ips = $ip_model->count_ips_and_redirections_of_member($member_id);
// get new selector
if (is_numeric($this->input->get('record_per_page')))
$limit_results = (int) $this->input->get('record_per_page');
// limit check
if (($sql_offset = ($page - 1) * $limit_results) > $total_ips)
$sql_offset = 0;
$ip_addresses = $ip_model->get_ips_and_redirections_of_member(
$member_id, $sql_offset, $limit_results,
$order_by, $order_by_direction
);
$redir_grid = new Grid('members', null, array
(
'use_paginator' => false,
'use_selector' => false
'selector_increace' => 20,
'selector_min' => 20,
'selector_max_multiplier' => 10,
'current' => $limit_results,
'base_url' => Config::get('lang'). '/members/show/' . $member_id . '/'
. $limit_results.'/'.$order_by.'/'.$order_by_direction,
'uri_segment' => 'page',
'total_items' => $total_ips,
'items_per_page' => $limit_results,
'style' => 'classic',
'order_by' => $order_by,
'order_by_direction' => $order_by_direction,
'limit_results' => $limit_results,
'variables' => $member_id . '/',
'url_array_ofset' => 1,
'query_string' => $this->input->get(),
));
if ($this->acl_check_new('Messages_Controller', 'member'))
if ($this->acl_check_new('Messages_Controller', 'member') &&
$total_ips < 1000) // limited count
{
$redir_grid->add_new_button(
'redirect/activate_to_member/'.$member_id,
......
);
}
$redir_grid->callback_field('ip_address')
$redir_grid->order_callback_field('ip_address')
->label(__('IP address'))
->callback('callback::ip_address_field');
$redir_grid->callback_field('whitelisted')
$redir_grid->order_callback_field('whitelisted')
->label(__('Whitelist').'&nbsp;'.help::hint('whitelist'))
->callback('callback::whitelisted_field');
$redir_grid->callback_field('message')
$redir_grid->order_callback_field('message')
->label(__('Activated redirection').'&nbsp;'.help::hint('activated_redirection'))
->callback('callback::message_field');
......
{
$redir_grid->callback_field('redirection')
->label(__('Canceling of message for redirection'))
->callback("callback::cancel_redirection_of_member");
->callback('callback::cancel_redirection_of_member');
}
$redir_grid->datasource($ip_addresses);
freenetis/trunk/kohana/application/controllers/settings.php
// set logs checkbox value to db
Settings::set('action_logs_active', $action_logs_active);
//$config_model->update_variable('ulogd_enabled', $ulogd_enabled);
Settings::set('ulogd_enabled', $ulogd_enabled);
Settings::set('syslog_ng_mysql_api_enabled', $syslog_ng_mysql_api_enabled);
$issaved = true;
......
{
Members_traffic_Model::create_tables(TRUE);
Ulog2_ct_Model::create_functions();
Settings::set('ulogd_enabled', 1);
}
catch (Exception $e)
{
......
else
{
Ulog2_ct_Model::destroy_functions();
Settings::set('ulogd_enabled', 0);
}
foreach ($form_data as $name => $value)
freenetis/trunk/kohana/application/controllers/json.php
echo json_encode($arr_ifaces);
}
/**
* Function return address of given user
*
* @author David Raska
*/
public function get_user_address()
{
$user_id = (int) $this->input->get('user_id');
if ($user_id)
{
$um = new User_Model($user_id);
$result = array(
'country_id' => $um->member->address_point->country_id,
'town_id' => $um->member->address_point->town_id,
'street_id' => $um->member->address_point->street_id,
'street_number' => $um->member->address_point->street_number,
);
echo json_encode($result);
}
}
}
freenetis/trunk/kohana/application/controllers/js.php
$this->views['devices_add']->arr_devices = $device->select_list_device_with_user($user_id);
}
private function _js_devices_add_simple()
{
$this->address_point_streets();
$this->address_point_gps();
}
private function _js_devices_add_filter()
{
$this->views['devices_add'] = View::factory('js/devices_add_filter');
freenetis/trunk/kohana/application/controllers/devices.php
{
$selected_engineer = $found_engineer->id;
}
$arr_users[$um->id] = $um->get_name_with_login();
}
else
{
......
$selected_street_id = 0;
$selected_street_number = '';
$selected_town_id = 0;
$arr_users = array
(
NULL => '----- '.__('select user').' -----'
) + $um->select_list_grouped();
}
$arr_users = array
(
NULL => '----- '.__('select user').' -----'
) + $um->select_list_grouped();
// enum types for device
$enum_type_model = new Enum_type_Model();
$types = $enum_type_model->get_values(Enum_type_Model::DEVICE_TYPE_ID);
freenetis/trunk/kohana/application/libraries/MY_ORM
<?php defined('SYSPATH') or die('No direct script access.');
/*
* This file is part of open source system FreenetIS
* and it is released under GPLv3 licence.
*
* More info about licence can be found:
* http://www.gnu.org/licenses/gpl-3.0.html
*
* More info about project can be found:
* http://www.freenetis.org/
*
*/
/**
* Parent of all models.
* We don not use ORM_Core, because it do not allow to use code complemention in IDE.
*
* @author Ondřej Fibich
*/
class ORM extends ORM_Core {
}
freenetis/trunk/kohana/application/views/installation/index.php
<?php echo html::stylesheet('media/css/jquery-ui.css') ?>
<?php echo html::stylesheet('media/css/jquery.autocomplete.css') ?>
<?php echo html::stylesheet('media/css/jquery.validate.password.css') ?>
<?php echo html::script('media/js/messages_cs', FALSE) ?>
<?php echo html::script('media/js/jquery.min', FALSE) ?>
<?php echo html::script('media/js/jquery-ui.min', FALSE) ?>
<?php echo html::script('media/js/js', FALSE) ?>
<?php echo html::script('media/js/jquery.min', FALSE) ?>
<?php echo html::script('media/js/jquery-ui.min', FALSE) ?>
<?php echo html::script('media/js/jquery.autocomplete.min', FALSE) ?>
<?php echo html::script('media/js/jquery.validate.min', FALSE) ?>
<?php echo html::script('media/js/jquery.validate.password', FALSE) ?>
<?php echo html::script('media/js/jquery.metadata', FALSE) ?>
<?php echo html::script('media/js/jquery.tablesorter.min', FALSE) ?>
<?php echo html::script('media/js/messages_cs', FALSE) ?>
<?php echo html::script('media/js/php.min', FALSE) ?>
<script type="text/javascript">
freenetis/trunk/kohana/application/views/transfers/show_by_account.php
<?php
$links = array();
$links[] = html::anchor('transfers/show_by_account/'.$account->id.'#transfers', __('Transfers'), array('id' => 'transfers_link'));
if ($this->acl_check_view ('Members_Controller', 'comment', $account->member_id))
{
$links[] = html::anchor('transfers/show_by_account/'.$account->id.'#transfers', __('Transfers'), array('id' => 'transfers_link'));
$links[] = html::anchor('transfers/show_by_account/'.$account->id.'#comments', __('Comments'), array('id' => 'comments_link'));
}
echo implode(' | ', $links);
?>
if ($links):
echo implode(' | ', $links); ?>
<br />
<br />
<?php endif; ?>
<table class="extended" style="float:left">
<tr>
<th><?php echo __('Account ID')?></th>
freenetis/trunk/kohana/application/views/js/__pieces/address_point_street.php
$('#domicile_town_id').trigger('change');
});
$('#user_id').live('change', function()
{
$.ajax({
url: '<?php echo url_lang::base() ?>json/get_user_address',
async: false,
data: {user_id: $(this).val()},
dataType: 'json',
success: function(data)
{
$('#town_id').val(data['town_id']).change();
$('#street_id').val(data['street_id']);
$('#country_id').val(data['country_id']);
$('#street_number').val(data['street_number']).change();
}
});
});
function town_dropdown_change(el)
{
var val = parseInt(el.val(), 10);
freenetis/trunk/kohana/system/libraries/Database.php
*/
public function __construct($config = array())
{
// Parse the DSN, creating an array to hold the connection parameters
$db = array
(
'type' => 'mysql',
'user' => FALSE,
'pass' => FALSE,
'host' => FALSE,
'port' => FALSE,
'socket' => FALSE,
'database' => FALSE
);
if (!is_array($config) && count($config))
{
// Parse the DSN, creating an array to hold the connection parameters
$db = array
(
'type' => 'mysql',
'user' => FALSE,
'pass' => FALSE,
'host' => FALSE,
'port' => FALSE,
'socket' => FALSE,
'database' => FALSE
);
// Reset the connection array to the database config
$this->config['connection'] = $db;
// Reset the connection array to the database config
$this->config['connection'] = $db;
if (Config::get('db_type') != '')
$this->config['connection']['type'] = Config::get('db_type');
if (Config::get('db_type') != '')
$this->config['connection']['type'] = Config::get('db_type');
$this->config['connection']['user'] = Config::get('db_user');
$this->config['connection']['pass'] = Config::get('db_password');
$this->config['connection']['host'] = Config::get('db_host');
$this->config['connection']['database'] = Config::get('db_name');
$this->config['connection']['user'] = Config::get('db_user');
$this->config['connection']['pass'] = Config::get('db_password');
$this->config['connection']['host'] = Config::get('db_host');
$this->config['connection']['database'] = Config::get('db_name');
$this->config['table_prefix'] = Config::get('db_table_prefix');
$this->config['table_prefix'] = Config::get('db_table_prefix');
}
else
{
$this->config['connection'] = $config;
}
// Set driver name
$driver = 'Database_'.ucfirst($this->config['connection']['type']).'_Driver';
freenetis/trunk/kohana/version.php
* The current version of FreenetIS.
* This value must be changed by developers in a new release of FreenetIS.
*/
define('FREENETIS_VERSION', '1.0.0');
define('FREENETIS_VERSION', '1.0.1');

Také k dispozici: Unified diff