Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 908

Přidáno uživatelem Michal Kliment před více než 13 roky(ů)

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.

Zobrazit rozdíly:

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 '&nbsp';
}
......
*/
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