Revize 908
Přidáno uživatelem Michal Kliment před více než 13 roky(ů)
freenetis/trunk/kohana/application/i18n/cs_CZ/texts.php | ||
---|---|---|
'forward dns zone file was successfully generated' => 'Dopředný zónový soubor DNS byl úspěšně vygenerován',
|
||
'forward records' => 'Dopředné záznamy',
|
||
'fourth-degree certified engineers' => 'Certifikování technici čtvrtého stupně',
|
||
'free' => 'Volná',
|
||
'frequence' => 'Frekvence',
|
||
'from/to' => 'Od/komu',
|
||
'from' => 'Od',
|
||
'from2' => 'z',
|
||
'fixed calls' => 'Volání na pevnou linku',
|
||
'gateway' => 'Brána',
|
||
'gateway information' => 'Informace o bráně',
|
||
... | ... | |
'upload bank transfers listing' => 'Nahrát bankovní výpis',
|
||
'url addresses without index' => 'URL adresy bez index.php.',
|
||
'url settings' => 'Nastavení URL',
|
||
'used' => 'Použito',
|
||
'user' => 'Uživatel',
|
||
'user acceptation' => 'Potvrzení uživatelem',
|
||
'user can disable redirection' => 'Uživatel může zrušit přesměrování',
|
freenetis/trunk/kohana/application/i18n/cs_CZ/help.php | ||
---|---|---|
'recalculate_fees' => 'Pro primární strhávání členských příspěvků používejte funkci pro globální strhávání členských příspěvků v Účetním deníku. Tuto funkci používejte opatrně a to jen v případě, že máte správně strženy všechny členské příspěvky pro všechny členy od založení sdružení až po současné datum. Pak můžete tomuto členovi přepočítat stržení členských příspěvků v případě, že u něj došlo k nutnosti je přepočítat, např. chybné datum vstupu, vznikla nutnost přidat přerušení členství apod.',
|
||
'recalculate_entrance_fees' => 'Pro primární strhávání vstupních příspěvků používejte funkci pro globální strhávání v účetním deníku. Tuto funkci používejte jen v případě, že došlo k nějakému omylu, například, že měl zaplatit vstupní a pak se ukázalo, že nemusel.',
|
||
'service' => 'Je-li pro tuto IP adresu zapnuta služba, pak je tato IP adresa využívána pro Radius. Typicky jde o IP adresy aktivních síťových prvků, na které je se možné pomocí Radiusu přihlásit.',
|
||
'subnet_used_ips' => 'Jedná se procentuální vyjádření využití IP adres v podsíti. Červené zbarvení značí docházející IP adresy, zelené pak nevyužitou podsít (zbytečně velká?).',
|
||
'total_traffic' => 'Jedná se o celkový provoz člena od spuštění ulogd.',
|
||
'ulogd_active' => 'Jedná se o seznam (z pohledu typu provozu) příliš aktivních členů. Tento seznam se používá například pro vyhodnocování QoSu pro členy (členové z tohoto seznamu jsou mírně znevýhodněni oproti ostatním členům), aktualizuje při každé aktualizaci ulogd, viz. Nastavení - Logování - Ulogd - Interval aktualizace.',
|
||
'ulogd_active_button' => 'Určuje, zda-li byl člen označen jako Aktivní = příliš aktivní z pohledu provozu. Členové ze seznamu aktivních členů jsou například mírně znevýhodněni oproti ostatním členům u vyhodnocování QoSu pro členy. Viz. Nastavení - Logování - Aktivní členové',
|
freenetis/trunk/kohana/application/helpers/callback.php | ||
---|---|---|
{
|
||
if ($item->ip_address_id)
|
||
echo html::anchor(url_lang::base()."ip_addresses/show/$item->ip_address_id", $item->ip_address);
|
||
else if ($item->ip_address != '')
|
||
echo '<span style="color: green">'.$item->ip_address.'</span>';
|
||
else
|
||
echo ' ';
|
||
}
|
||
... | ... | |
*/
|
||
static function device_field($item, $name)
|
||
{
|
||
echo html::anchor(url_lang::base()."devices/show/$item->device_id", $item->device_name);
|
||
if ($item->device_id)
|
||
echo html::anchor(url_lang::base()."devices/show/$item->device_id", $item->device_name);
|
||
else if ($item->device_name != '')
|
||
echo $item->device_name;
|
||
else if (!$item->ip_address_id)
|
||
echo '<span style="color: green">'.url_lang::lang('texts.Free').'</span>';
|
||
}
|
||
|
||
/**
|
||
... | ... | |
|
||
echo VoIP_calls_Controller::number($number, $args[0], $args[1]);
|
||
}
|
||
|
||
/**
|
||
* Callback to print value of used (e. g. used of ip addresses in subnet)
|
||
*
|
||
* @author Michal Kliment
|
||
* @param <type> $item
|
||
* @param <type> $name
|
||
*/
|
||
public function used_field ($item, $name)
|
||
{
|
||
$color = '';
|
||
|
||
if ($item->used > 80)
|
||
$color = 'red';
|
||
|
||
if ($item->used < 20)
|
||
$color = 'green';
|
||
|
||
echo ($color != '') ? '<span style="color: '.$color.'">'.$item->used.' %</span>' : $item->used.' %';
|
||
}
|
||
}
|
freenetis/trunk/kohana/application/models/subnet.php | ||
---|---|---|
return $this->db->query("
|
||
SELECT s.id AS subnet_id, s.redirect, s.name AS subnet_name,
|
||
CONCAT(network_address,'/', 32-log2((~inet_aton(netmask) & 0xffffffff) + 1)) AS cidr, network_address, netmask,
|
||
c.name AS cloud
|
||
c.name AS cloud,
|
||
ROUND((SELECT COUNT(*) FROM ip_addresses WHERE subnet_id = s.id)/((~inet_aton(s.netmask) & 0xffffffff)-1)*100,1) AS used
|
||
FROM subnets s
|
||
LEFT JOIN clouds c ON s.cloud_id = c.id
|
||
$where
|
freenetis/trunk/kohana/application/controllers/subnets.php | ||
---|---|---|
if ($this->acl_check_view('Devices_Controller', 'subnet'))
|
||
$grid->add_new_button(url_lang::base().'subnets/address_map', url_lang::lang('texts.Address map'));
|
||
|
||
//$grid->order_field('subnet_id')->label('ID')->class('center');
|
||
$grid->order_callback_field('subnet_name')->label(url_lang::lang('texts.Name'))->callback('callback::subnet_field');
|
||
$grid->order_field('cidr')->label(url_lang::lang('texts.Network address'));
|
||
//$grid->order_field('network_address')->label(url_lang::lang('texts.Network address'));
|
||
//$grid->order_field('netmask')->label(url_lang::lang('texts.Netmask'));
|
||
$grid->order_field('redirect')->label(url_lang::lang('texts.Redir'))->bool(array(url_lang::lang('texts.No'),url_lang::lang('texts.Yes')))->class('center');
|
||
//$grid->order_field('cloud')->label(url_lang::lang('texts.Cloud'))->class('center');
|
||
//$grid->order_field('OSPF_area_id')->label(url_lang::lang('texts.OSPF area ID'));
|
||
//$grid->order_field('segment')->label(url_lang::lang('texts.Segment'));
|
||
//if ($this->acl_check_view('Devices_Controller', 'subnet'))
|
||
// $grid->action_field('id')->label(url_lang::lang('texts.Subnet')) ->url(url_lang::base().'subnets/show') ->action(url_lang::lang('texts.Show'))->class('center');
|
||
$grid->order_callback_field('used')->label(url_lang::lang('texts.Used'))->callback('callback::used_field')->class('center')->help(help::hint('subnet_used_ips'));
|
||
|
||
if ($this->acl_check_edit('Devices_Controller', 'subnet'))
|
||
$grid->action_field('subnet_id')->label(url_lang::lang('texts.Subnet')) ->url(url_lang::base().'subnets/edit') ->action(url_lang::lang('texts.Edit'))->class('center');
|
||
if ($this->acl_check_new('Messages_Controller', 'subnet'))
|
||
... | ... | |
// ip addresses of subnet
|
||
$ip_model = new Ip_address_Model();
|
||
$ips = $ip_model->get_ip_addresses_of_subnet($subnet_id);
|
||
|
||
$total_available = (~ip2long($subnet->netmask) & 0xffffffff)-1;
|
||
|
||
$used = round(count($ips)/$total_available*100,1);
|
||
|
||
$network = ip2long($subnet->network_address);
|
||
|
||
$ip_addresses = array();
|
||
|
||
for ($i=1; $i <= $total_available; $i++)
|
||
{
|
||
$ip_addresses[$i] = new stdClass();
|
||
$ip_addresses[$i]->ip_address_id = NULL;
|
||
$ip_addresses[$i]->device_id = NULL;
|
||
$ip_addresses[$i]->device_name = NULL;
|
||
$ip_addresses[$i]->member_id = NULL;
|
||
$ip_addresses[$i]->ip_address = long2ip($network+$i);
|
||
}
|
||
|
||
foreach ($ips as $ip)
|
||
$ip_addresses[ip2long($ip->ip_address)-$network] = $ip;
|
||
|
||
$grid = new Grid(url_lang::base().'subnets/show/'.$subnet_id, url_lang::lang('texts.IP addresses'), array(
|
||
'use_paginator' => false,
|
||
'use_selector' => false
|
||
... | ... | |
$grid->callback_field('device_name')->label(url_lang::lang('texts.Device'))->callback('callback::device_field');
|
||
//$grid->field('member_name')->label(url_lang::lang('texts.Member'));
|
||
$grid->callback_field('member_name')->label(url_lang::lang('texts.Member'))->callback('callback::member_field');
|
||
$grid->datasource($ips);
|
||
$grid->datasource($ip_addresses);
|
||
|
||
$headline = url_lang::lang('texts.Subnet').' '.$subnet->name;
|
||
$view = new View('main');
|
||
... | ... | |
$view->content->grid = $grid;
|
||
$view->content->link_back = html::anchor(url_lang::base().'subnets/show_all', url_lang::lang('texts.Back to all subnets'));
|
||
$view->content->headline = $headline;
|
||
$view->content->total_available = $total_available;
|
||
$view->content->total_used = count($ips);
|
||
$view->content->used = $used;
|
||
$view->render(TRUE);
|
||
} // end of show
|
||
|
freenetis/trunk/kohana/application/views/subnets_show.php | ||
---|---|---|
<th><?php echo url_lang::lang('texts.Area') ?></th>
|
||
<td><?php echo $area->name ?></td>
|
||
</tr>
|
||
<tr>
|
||
<th><?php echo url_lang::lang('texts.Used') ?> <?php echo help::hint('subnet_used_ips') ?></th>
|
||
<td><?php
|
||
$color = '';
|
||
if ($used > 80) $color = 'red';
|
||
if ($used < 20) $color = 'green';
|
||
echo ($color != '') ? "<span style='color: $color'>$used %</span>" : "$used %";
|
||
?> (<?php echo $total_used ?> <?php echo url_lang::lang('texts.from2') ?> <?php echo $total_available ?>)</td>
|
||
</tr>
|
||
</table>
|
||
<br /><br />
|
||
<?php echo $grid ?>
|
Také k dispozici: Unified diff
Merge z testingu do trunku: U zobrazeni podsite pridany radky oznacujici prazdne IP adresy. U vypisu vsech podsiti pridan sloupec s hodnotou vytizeni IP adres v jednotlive podsiti.