Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 943

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

Merge z testingu do trunku - pridana podpora komentaru (zatim u prevodu a praci). Implementovana drobeckova navigace - zatim je treba vytvaret pouze rucne, automaticky az bude hierarchie kontroleru. Implementovano http://vyuka.slfree.net/mod/forum/discuss.php?d=1389, http://vyuka.slfree.net/mod/forum/discuss.php?d=1480 a http://vyuka.slfree.net/mod/forum/discuss.php?d=1644

Zobrazit rozdíly:

freenetis/trunk/kohana/media/css/style.css
#show_application_password_link {
float: right;
margin-right: 40px;
}
.breadcrumbs {
font-weight: bold;
}
.ip_box {
border: 1px solid black;
}
.help {
cursor: help;
}
freenetis/trunk/kohana/application/i18n/cs_CZ/texts.php
'add admin to redirection module' => 'Přidat správce do modulu přesměrování',
'add address point' => 'Přidat adresní bod',
'add backup' => 'Přidat zálohu',
'add comment' => 'Přidat komentář',
'add contact' => 'Přidat kontakt',
'add member fee payment by cash' => 'Přidat platbu členského příspěvku hotově',
'add new' => 'Přidat nový',
......
'collateral' => 'Vedlejší',
'column headers' => 'Hlavičky sloupců',
'comment' => 'Komentář',
'comment has been successfully added' => 'Komentář byl úspěšně přidán',
'comment has been successfully deleted' => 'Komentář byl úspěšně smazán',
'comment has been successfully updated' => 'Komentář byl úspěšně aktualizován',
'comment of admin shown to user' => 'Komentář administrátora zobrazený uživateli',
'comments' => 'Komentáře',
'comments count' => 'Počet komentářů',
'company' => 'Firemní',
'configuration files' => 'Konfigurační soubory',
'confirm' => 'Potvrdit',
......
'edit approval template item' => 'Upravit položku hlasovací šablony',
'edit approval type' => 'Upravit hlasovací typ',
'edit cloud' => 'Upravit oblast',
'edit comment' => 'Upravit komentář',
'edit contact' => 'Upravit kontakt',
'edit device' => 'Upravit zařízení',
'edit device admins' => 'Upravit správce zařízení',
freenetis/trunk/kohana/application/helpers/url.php
*/
public static function current($qs = FALSE)
{
return Router::$current_uri.($qs === TRUE ? Router::$query_string : '');
return rtrim(Router::$current_uri.($qs === TRUE ? Router::$query_string : ''),'/');
}
/**
......
*/
public static function previous()
{
return url::uri(server::http_referer());
return url::uri(rtrim(server::http_referer()),'/');
}
/**
......
if (substr($url, 0, strlen(url::base())) != url::base())
return "";
return substr($url, strlen(url::base()));
return rtrim(substr($url, strlen(url::base())),'/');
}
/**
......
return (substr(strtolower($uri),0,7) != 'http://' && substr(strtolower($uri),0,8) != 'https://' && substr(strtolower($uri),0,6) != 'ftp://') ? 'http://'.$uri : $uri;
}
/**
* Returns slice from url
*
* @author Michal Kliment
* @param string $url
* @param integer $offset
* @param integer $length
* @return string
*/
public static function slice ($url, $offset = 0, $length = NULL)
{
$segments = explode ('/', $url);
return implode ('/', array_slice ($segments, $offset, $length));
}
} // End url
freenetis/trunk/kohana/application/helpers/path.php
<?php defined('SYSPATH') or die('No direct script access.');
/**
* Path helper class.
*
* $Id: path.php
*
* @author Kliment Michal
* @copyright (c) 2011 Kliment Michal
*/
class path
{
/**
* Returns previous items from path history
*
* @author Michal Kliment
* @param integer $steps
* @return string
*/
public static function previous ($steps = 1)
{
$paths = Session::instance()->get('paths');
$last_path_id = Session::instance()->get('last_path_id');
$path = $paths[$last_path_id];
for ($i=count($path)-2;$i>=0;$i--)
{
if ($path[$i] != url::base().url::current())
$steps--;
if (!$steps)
return $path[$i];
}
return NULL;
}
}
?>
freenetis/trunk/kohana/application/helpers/callback.php
*/
public static function balance_field($item, $name)
{
$title = (isset($item->a_comment)) ? $item->a_comment : '';
if ($item->balance > 0)
echo '<span style="color:green">'.number_format((float)$item->balance, 2, ',', ' ').'</span>';
echo '<span style="color:green" title="'.$title.'" class="help">'.number_format((float)$item->balance, 2, ',', ' ').'</span>';
elseif ($item->balance < 0)
echo '<span style="color:red">'.number_format((float)$item->balance, 2, ',', ' ').'</span>';
echo '<span style="color:red" title="'.$title.'" class="help">'.number_format((float)$item->balance, 2, ',', ' ').'</span>';
else
echo $item->balance;
echo '<span class="help" title="'.$title.'">'.$item->balance.'</span>';
}
/**
......
{
echo html::anchor (url_lang::base().'ifaces/show/'.$item->iface_id, $item->iface_id, array('title' => url_lang::lang('texts.Show interface')));
}
/**
* Callback to print edit field
*
* @author
* @param <type> $item
* @param <type> $name
* @param array $args
*/
public function edit_field ($item, $name, $args = array())
{
if (Session::instance()->get('user_id') == $item->user_id)
echo html::anchor (url_lang::base().$args[0].'/edit/'.$item->id, url_lang::lang('texts.Edit'));
}
/**
* Callback to print delete field
*
*@author Michal Kliment
* @param <type> $item
* @param <type> $name
* @param array $args
*/
public function delete_field ($item, $name, $args = array())
{
if (Session::instance()->get('user_id') == $item->user_id)
echo html::anchor (url_lang::base().$args[0].'/delete/'.$item->id, url_lang::lang('texts.Delete'), array('class' => 'delete_link'));
}
/**
* Callback to print comments count with comments as title
*
* @author Michal Kliment
* @param <type> $item
* @param <type> $name
*/
public function comments_field ($item, $name)
{
echo "<span title='$item->comments' class='help'>$item->comments_count</span>";
}
/**
* Callback to print vote state with vote comments as title
*
* @author Michal Kliment
* @param <type> $item
* @param <type> $name
*/
public static function vote_state_field ($item, $name)
{
echo "<span title='$item->vote_comments' class='help'>";
echo '<span style="color: green">'.$item->agree_count.'</span>';
echo '/';
echo '<span style="color: red">'.$item->disagree_count.'</span>';
echo '/';
echo $item->abstain_count;
echo "</span>";
}
}
freenetis/trunk/kohana/application/helpers/url_lang.php
return url::redirect($lang.'/'.trim($uri, '/'), $method);
}
/**
* Returns uri from url, without lang segment
*
* @param string $url
* @return string
*/
public static function uri ($url)
{
$segments = explode ('/', url::uri($url));
array_shift ($segments);
return implode ('/',$segments);
}
}
freenetis/trunk/kohana/application/models/comment.php
<?php
/**
*
* @author Michal Kliment
* @copyright (c) 2011 Kliment Michal
* @license GNU GPLv3
* @license http://www.gnu.org/licenses/gpl.txt
*/
class Comment_Model extends ORM
{
protected $belongs_to = array('comments_thread', 'user');
/**
* Returns all comments belongs to thread
*
* @author Michal Kliment
* @param int $coments_thread_id
* @return MySQL Result
*/
public function get_all_comments_by_comments_thread ($coments_thread_id)
{
return $this->db->query("
SELECT c.*, CONCAT(u.name,' ',u.surname) AS user_name FROM comments c
LEFT JOIN users u ON c.user_id = u.id
WHERE comments_thread_id = ?
ORDER BY datetime DESC
", array($coments_thread_id));
}
}
?>
freenetis/trunk/kohana/application/models/member.php
}
$where = implode(" AND ",$where);
$where = ($where!='') ? 'WHERE '.$where : '';
return $this->db->query("SELECT
m.id, m.registration, m.name,
s.street, ap.street_number, t.town, t.quarter,
m.variable_symbol, a.id AS aid,
a.balance,
m.redirect
FROM members m
LEFT JOIN address_points ap ON m.address_point_id = ap.id
LEFT JOIN streets s ON ap.street_id = s.id
LEFT JOIN towns t ON ap.town_id = t.id
LEFT JOIN accounts a ON a.member_id = m.id AND m.id <> 1
$where
ORDER BY $order_by $order_by_direction
LIMIT $limit_from, $limit_results"
);
return $this->db->query("
SELECT id, registration, name, street, street_number, town, quarter, variable_symbol, aid, balance, redirect, GROUP_CONCAT(a_comment SEPARATOR ', \n\n') AS a_comment FROM
(
SELECT
m.id, m.registration, m.name,
s.street, ap.street_number, t.town, t.quarter,
m.variable_symbol, a.id AS aid,
a.balance,
m.redirect, CONCAT(u.surname,' ',u.name,' (',SUBSTRING(c.datetime,1,10),'):\n',c.text) AS a_comment
FROM members m
LEFT JOIN address_points ap ON m.address_point_id = ap.id
LEFT JOIN streets s ON ap.street_id = s.id
LEFT JOIN towns t ON ap.town_id = t.id
LEFT JOIN accounts a ON a.member_id = m.id AND m.id <> 1
LEFT JOIN comments_threads ct ON a.comments_thread_id = ct.id
LEFT JOIN comments c ON ct.id = c.comments_thread_id
LEFT JOIN users u ON c.user_id = u.id
$where
ORDER BY c.datetime DESC
) AS q
GROUP BY q.id
ORDER BY $order_by $order_by_direction
LIMIT $limit_from, $limit_results
");
}
/**
freenetis/trunk/kohana/application/models/job.php
return $this->db->query('SELECT q.*, (agree_count - disagree_count) AS approval_state FROM (SELECT j.*, CONCAT(u.name, \' \', u.surname) AS uname, v.vote, v.comment,
(SELECT COUNT(*) FROM votes WHERE vote = 1 AND votes.fk_id = j.id AND votes.type = 1) AS agree_count,
(SELECT COUNT(*) FROM votes WHERE vote = -1 AND votes.fk_id = j.id AND votes.type = 1) AS disagree_count,
(SELECT COUNT(*) FROM votes WHERE vote = 0 AND votes.fk_id = j.id AND votes.type = 1) AS abstain_count
(SELECT COUNT(*) FROM votes WHERE vote = 0 AND votes.fk_id = j.id AND votes.type = 1) AS abstain_count,
(SELECT COUNT(*) FROM comments c WHERE j.comments_thread_id = c.comments_thread_id) AS comments_count,
(
SELECT GROUP_CONCAT(user, " (",SUBSTRING(c.datetime,1,10),"): \n",c.text SEPARATOR ", \n\n") FROM
(
SELECT c.*, CONCAT(u.surname," ",u.name) AS user FROM comments c
LEFT JOIN users u ON c.user_id = u.id
ORDER BY datetime DESC
) AS c WHERE c.comments_thread_id = j.comments_thread_id GROUP BY c.user_id
) AS comments,
(
SELECT GROUP_CONCAT(comment SEPARATOR ", \n\n") FROM
(
SELECT v.fk_id, v.type, CONCAT(u.surname," ",u.name," (",SUBSTRING(v.time,1,10),"): \n",IF(v.vote=1,"'.url_lang::lang('texts.Agree').'",IF(v.vote=-1,"'.url_lang::lang('texts.Disagree').'","'.url_lang::lang('texts.Abstain').'")), IF(v.comment NOT LIKE ""," - ",""), v.comment) AS comment FROM votes v
LEFT JOIN users u ON v.user_id = u.id
ORDER BY v.vote DESC
) AS v
WHERE v.fk_id = j.id AND v.type = 1
GROUP BY fk_id
) AS vote_comments
FROM jobs j
LEFT JOIN users u ON j.user_id = u.id
LEFT JOIN votes v ON j.id = v.fk_id AND v.type =1 AND v.user_id = '.Session::instance()->get('user_id').'
......
return $this->db->query('SELECT q.*, (agree_count - disagree_count) AS approval_state FROM (SELECT j.*, CONCAT(u.name,\' \', u.surname) AS uname,
(SELECT COUNT(*) FROM votes WHERE vote = 1 AND votes.fk_id = j.id AND votes.type = 1) AS agree_count,
(SELECT COUNT(*) FROM votes WHERE vote = -1 AND votes.fk_id = j.id AND votes.type = 1) AS disagree_count,
(SELECT COUNT(*) FROM votes WHERE vote = 0 AND votes.fk_id = j.id AND votes.type = 1) AS abstain_count
(SELECT COUNT(*) FROM votes WHERE vote = 0 AND votes.fk_id = j.id AND votes.type = 1) AS abstain_count,
(SELECT COUNT(*) FROM comments c WHERE j.comments_thread_id = c.comments_thread_id) AS comments_count,
(
SELECT GROUP_CONCAT(user, " (",SUBSTRING(c.datetime,1,10),"): \n",c.text SEPARATOR ", \n\n") FROM
(
SELECT c.*, CONCAT(u.surname," ",u.name) AS user FROM comments c
LEFT JOIN users u ON c.user_id = u.id
ORDER BY datetime DESC
) AS c WHERE c.comments_thread_id = j.comments_thread_id GROUP BY c.user_id
) AS comments,
(
SELECT GROUP_CONCAT(comment SEPARATOR ", \n\n") FROM
(
SELECT v.fk_id, v.type, CONCAT(u.surname," ",u.name," (",SUBSTRING(v.time,1,10),"): \n",IF(v.vote=1,"'.url_lang::lang('texts.Agree').'",IF(v.vote=-1,"'.url_lang::lang('texts.Disagree').'","'.url_lang::lang('texts.Abstain').'")), IF(v.comment NOT LIKE ""," - ",""), v.comment) AS comment FROM votes v
LEFT JOIN users u ON v.user_id = u.id
ORDER BY v.vote DESC
) AS v
WHERE v.fk_id = j.id AND v.type = 1
GROUP BY fk_id
) AS vote_comments
FROM jobs j
LEFT JOIN users u ON j.user_id = u.id
WHERE j.state = 2 AND j.job_report_id IS NULL) AS q
......
return $this->db->query('SELECT q.*, (agree_count - disagree_count) AS approval_state FROM (SELECT j.*, CONCAT(u.name,\' \', u.surname) AS uname, t.amount as rating,
(SELECT COUNT(*) FROM votes WHERE vote = 1 AND votes.fk_id = j.id AND votes.type = 1) AS agree_count,
(SELECT COUNT(*) FROM votes WHERE vote = -1 AND votes.fk_id = j.id AND votes.type = 1) AS disagree_count,
(SELECT COUNT(*) FROM votes WHERE vote = 0 AND votes.fk_id = j.id AND votes.type = 1) AS abstain_count
(SELECT COUNT(*) FROM votes WHERE vote = 0 AND votes.fk_id = j.id AND votes.type = 1) AS abstain_count,
(SELECT COUNT(*) FROM comments c WHERE j.comments_thread_id = c.comments_thread_id) AS comments_count,
(
SELECT GROUP_CONCAT(user, " (",SUBSTRING(c.datetime,1,10),"): \n",c.text SEPARATOR ", \n\n") FROM
(
SELECT c.*, CONCAT(u.surname," ",u.name) AS user FROM comments c
LEFT JOIN users u ON c.user_id = u.id
ORDER BY datetime DESC
) AS c WHERE c.comments_thread_id = j.comments_thread_id GROUP BY c.user_id
) AS comments,
(
SELECT GROUP_CONCAT(comment SEPARATOR ", \n\n") FROM
(
SELECT v.fk_id, v.type, CONCAT(u.surname," ",u.name," (",SUBSTRING(v.time,1,10),"): \n",IF(v.vote=1,"'.url_lang::lang('texts.Agree').'",IF(v.vote=-1,"'.url_lang::lang('texts.Disagree').'","'.url_lang::lang('texts.Abstain').'")), IF(v.comment NOT LIKE ""," - ",""), v.comment) AS comment FROM votes v
LEFT JOIN users u ON v.user_id = u.id
ORDER BY v.vote DESC
) AS v
WHERE v.fk_id = j.id AND v.type = 1
GROUP BY fk_id
) AS vote_comments
FROM jobs j
LEFT JOIN users u ON j.user_id = u.id
LEFT JOIN transfers t ON j.transfer_id = t.id
......
return $this->db->query('SELECT q.*, (agree_count - disagree_count) AS approval_state FROM (SELECT j.*, CONCAT(u.name, \' \', u.surname) AS uname, v.vote, v.comment,
(SELECT COUNT(*) FROM votes WHERE vote = 1 AND votes.fk_id = j.id AND votes.type = 1) AS agree_count,
(SELECT COUNT(*) FROM votes WHERE vote = -1 AND votes.fk_id = j.id AND votes.type = 1) AS disagree_count,
(SELECT COUNT(*) FROM votes WHERE vote = 0 AND votes.fk_id = j.id AND votes.type = 1) AS abstain_count
(SELECT COUNT(*) FROM votes WHERE vote = 0 AND votes.fk_id = j.id AND votes.type = 1) AS abstain_count,
(SELECT COUNT(*) FROM comments c WHERE j.comments_thread_id = c.comments_thread_id) AS comments_count,
(
SELECT GROUP_CONCAT(user, " (",SUBSTRING(c.datetime,1,10),"): \n",c.text SEPARATOR ", \n\n") FROM
(
SELECT c.*, CONCAT(u.surname," ",u.name) AS user FROM comments c
LEFT JOIN users u ON c.user_id = u.id
ORDER BY datetime DESC
) AS c WHERE c.comments_thread_id = j.comments_thread_id GROUP BY c.user_id
) AS comments,
(
SELECT GROUP_CONCAT(comment SEPARATOR ", \n\n") FROM
(
SELECT v.fk_id, v.type, CONCAT(u.surname," ",u.name," (",SUBSTRING(v.time,1,10),"): \n",IF(v.vote=1,"'.url_lang::lang('texts.Agree').'",IF(v.vote=-1,"'.url_lang::lang('texts.Disagree').'","'.url_lang::lang('texts.Abstain').'")), IF(v.comment NOT LIKE ""," - ",""), v.comment) AS comment FROM votes v
LEFT JOIN users u ON v.user_id = u.id
ORDER BY v.vote DESC
) AS v
WHERE v.fk_id = j.id AND v.type = 1
GROUP BY fk_id
) AS vote_comments
FROM jobs j
LEFT JOIN users u ON j.user_id = u.id
LEFT JOIN votes v ON j.id = v.fk_id AND v.type =1 AND v.user_id = '.Session::instance()->get('user_id').'
......
return $this->db->query('SELECT q.*, (agree_count - disagree_count) AS approval_state FROM (SELECT j.*,
(SELECT COUNT(*) FROM votes WHERE vote = 1 AND votes.fk_id = j.id AND votes.type = 1) AS agree_count,
(SELECT COUNT(*) FROM votes WHERE vote = -1 AND votes.fk_id = j.id AND votes.type = 1) AS disagree_count,
(SELECT COUNT(*) FROM votes WHERE vote = 0 AND votes.fk_id = j.id AND votes.type = 1) AS abstain_count
(SELECT COUNT(*) FROM votes WHERE vote = 0 AND votes.fk_id = j.id AND votes.type = 1) AS abstain_count,
(SELECT COUNT(*) FROM comments c WHERE j.comments_thread_id = c.comments_thread_id) AS comments_count,
(
SELECT GROUP_CONCAT(user, " (",SUBSTRING(c.datetime,1,10),"): \n",c.text SEPARATOR ", \n\n") FROM
(
SELECT c.*, CONCAT(u.surname," ",u.name) AS user FROM comments c
LEFT JOIN users u ON c.user_id = u.id
ORDER BY datetime DESC
) AS c WHERE c.comments_thread_id = j.comments_thread_id GROUP BY c.user_id
) AS comments,
(
SELECT GROUP_CONCAT(comment SEPARATOR ", \n\n") FROM
(
SELECT v.fk_id, v.type, CONCAT(u.surname," ",u.name," (",SUBSTRING(v.time,1,10),"): \n",IF(v.vote=1,"'.url_lang::lang('texts.Agree').'",IF(v.vote=-1,"'.url_lang::lang('texts.Disagree').'","'.url_lang::lang('texts.Abstain').'")), IF(v.comment NOT LIKE ""," - ",""), v.comment) AS comment FROM votes v
LEFT JOIN users u ON v.user_id = u.id
ORDER BY v.vote DESC
) AS v
WHERE v.fk_id = j.id AND v.type = 1
GROUP BY fk_id
) AS vote_comments
FROM jobs j
WHERE j.state = 2 AND j.job_report_id IS NULL AND j.user_id = '.$user_id.') AS q');
}
......
return $this->db->query('SELECT q.*, (agree_count - disagree_count) AS approval_state FROM (SELECT j.*, t.amount as rating,
(SELECT COUNT(*) FROM votes WHERE vote = 1 AND votes.fk_id = j.id AND votes.type = 1) AS agree_count,
(SELECT COUNT(*) FROM votes WHERE vote = -1 AND votes.fk_id = j.id AND votes.type = 1) AS disagree_count,
(SELECT COUNT(*) FROM votes WHERE vote = 0 AND votes.fk_id = j.id AND votes.type = 1) AS abstain_count
(SELECT COUNT(*) FROM votes WHERE vote = 0 AND votes.fk_id = j.id AND votes.type = 1) AS abstain_count,
(SELECT COUNT(*) FROM comments c WHERE j.comments_thread_id = c.comments_thread_id) AS comments_count,
(
SELECT GROUP_CONCAT(user, " (",SUBSTRING(c.datetime,1,10),"): \n",c.text SEPARATOR ", \n\n") FROM
(
SELECT c.*, CONCAT(u.surname," ",u.name) AS user FROM comments c
LEFT JOIN users u ON c.user_id = u.id
ORDER BY datetime DESC
) AS c WHERE c.comments_thread_id = j.comments_thread_id GROUP BY c.user_id
) AS comments,
(
SELECT GROUP_CONCAT(comment SEPARATOR ", \n\n") FROM
(
SELECT v.fk_id, v.type, CONCAT(u.surname," ",u.name," (",SUBSTRING(v.time,1,10),"): \n",IF(v.vote=1,"'.url_lang::lang('texts.Agree').'",IF(v.vote=-1,"'.url_lang::lang('texts.Disagree').'","'.url_lang::lang('texts.Abstain').'")), IF(v.comment NOT LIKE ""," - ",""), v.comment) AS comment FROM votes v
LEFT JOIN users u ON v.user_id = u.id
ORDER BY v.vote DESC
) AS v
WHERE v.fk_id = j.id AND v.type = 1
GROUP BY fk_id
) AS vote_comments
FROM jobs j
LEFT JOIN transfers t ON j.transfer_id = t.id
WHERE j.state = 3 AND j.job_report_id IS NULL AND j.user_id = '.$user_id.') AS q');
freenetis/trunk/kohana/application/models/account.php
//protected $has_one = array();
protected $has_many = array('transfers');
protected $belongs_to = array('member', 'account_attribute');
protected $belongs_to = array('member', 'account_attribute', 'comments_thread');
//protected $belongs_to_many = array();
protected $has_and_belongs_to_many = array('bank_accounts');
freenetis/trunk/kohana/application/models/comments_thread.php
<?php
/**
*
* @author Michal Kliment
* @copyright (c) 2011 Kliment Michal
* @license GNU GPLv3
* @license http://www.gnu.org/licenses/gpl.txt
*/
class Comments_thread_Model extends ORM
{
protected $has_many = array('comments');
protected $has_one = array('account', 'job');
/**
* Return parent object of comment thread
*
* @author Michal Kliment
* @return ORM object
*/
public function get_parent ()
{
foreach ($this->has_one as $name)
{
// returns first match
if ($this->$name && $this->$name->id)
return $this->$name;
}
// cannot find parent
return NULL;
}
}
?>
freenetis/trunk/kohana/application/controllers/comments_threads.php
<?php
/**
*
* @author Michal Kliment
* @copyright (c) 2011 Kliment Michal
* @license GNU GPLv3
* @license http://www.gnu.org/licenses/gpl.txt
*/
class Comments_threads_Controller extends Controller
{
/**
* Adds new comment thread to type and foreign key
*
* @author Michal Kliment
* @param string $type
* @param integer$fk_id
*/
public function add ($type = NULL, $fk_id = NULL)
{
// bad parameter
if (!$type || !$fk_id || !is_numeric($fk_id))
Controller::warning(PARAMETER);
// creates model name
$model = ucfirst($type).'_Model';
// this model doesn't exist
if (!class_exists($model))
Controller::error(RECORD);
$object = new $model($fk_id);
// record doesn't exist or doesn't support comment thread
if (!$object->id || !$object->property_exists('comments_thread_id'))
Controller::error(RECORD);
// comment thread doesn't exist
if (!$object->comments_thread_id)
{
$comments_thread = new Comments_thread_Model();
$comments_thread->type = $type;
$comments_thread->save();
$object->comments_thread_id = $comments_thread->id;
$object->save();
}
url::redirect (url_lang::base().'comments/add/'.$object->comments_thread_id);
}
}
?>
freenetis/trunk/kohana/application/controllers/users.php
$grid->datasource($query);
$view = new View('main');
$view->breadcrumbs = url_lang::lang('texts.Users');
$view->title = url_lang::lang('texts.List of all users');
$view->content = $grid;
$view->render(TRUE);
......
'query_string' => $this->input->get(),
'filter' => $filter->view
));
//$grid->add_new_button(url_lang::base().'users/add', url_lang::lang('texts.Add new user'));
if ($this->acl_check_new(get_class($this),'users',$member_id))
$grid->add_new_button(url_lang::base().'users/add/'.$member_id, url_lang::lang('texts.Add new user'));
$grid->order_field('id')->label('ID');
$grid->order_field('name')->label(url_lang::lang('texts.Name'));
$grid->order_field('surname')->label(url_lang::lang('texts.Surname'));
......
$grid->action_field('id') ->label(url_lang::lang('texts.User')) ->url(url_lang::base().'users/edit') ->action(url_lang::lang('texts.Edit'));
//if ($this->acl_check_delete(get_class($this),'users',$member_id))
// $grid->action_field('id')->label(url_lang::lang('texts.Delete'))->url(url_lang::base().'users/delete')->action(url_lang::lang('texts.Delete'))->script('onclick="return potvrd(\''.url_lang::lang('texts.delete_user').'\');"');
$grid->datasource($query);
$grid->datasource($query);
// breadcrumbs navigation
$breadcrumbs = array();
$breadcrumbs[] = ($this->acl_check_view('Members_Controller','members')) ? html::anchor (url_lang::base().'members/show_all', url_lang::lang('texts.Members')) : url_lang::lang('texts.Members');
$breadcrumbs[] = ($this->acl_check_view('Members_Controller','members', $member->id)) ? html::anchor(url_lang::base().'members/show/'.$member->id, "ID $member->id - $member->name") : "ID $member->id - $member->name";
$breadcrumbs[] = url_lang::lang('texts.Users');
$view = new View('main');
$view->breadcrumbs = implode(" » ", $breadcrumbs);
$view->title = url_lang::lang('texts.List of users of member').' '.$member->name;
$view->content = $grid;
$view->render(TRUE);
......
if (!isset($user_id))
Controller::warning(PARAMETER);
$user_model = new User_Model();
$user_model->find($user_id);
if ($user_model->id == 0)
$user = new User_Model($user_id);
if ($user->id == 0)
Controller::error(RECORD);
$this->user_id = $user_id;
//check if logged user have access right to edit this user
if(!$this->acl_check_edit(get_class($this),'users',$user_model->member_id))
if(!$this->acl_check_edit(get_class($this),'users',$user->member_id))
Controller::error(ACCESS);
// check if user is not member-type and logged user have access right to edit member of user
if ($user_model->type != User_Model::$member && $this->acl_check_edit(get_class($this),'member', $user_model->member_id))
if ($user->type != User_Model::$member && $this->acl_check_edit(get_class($this),'member', $user->member_id))
{
$member_model = new Member_Model();
$members = $member_model->orderby('name')->find_all();
......
$arr_members[$member->id] = $member->name;
}
else
$arr_members[$user_model->member_id] = $user_model->member->name;
$arr_members[$user->member_id] = $user->member->name;
$form = new Forge(url_lang::base().'users/edit/'.$user_id, '', 'POST', array('id' => 'article_form'));
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
$form->group('')->label(url_lang::lang('texts.Basic information'));
$form->dropdown('member_id')->label(url_lang::lang('texts.Member name').':')->options($arr_members)->selected($user_model->member_id);
$form->dropdown('member_id')->label(url_lang::lang('texts.Member name').':')->options($arr_members)->selected($user->member_id);
if ($this->acl_check_edit(get_class($this),'login',$user_model->member_id))
if ($this->acl_check_edit(get_class($this),'login',$user->member_id))
$form->input('username')->label(url_lang::lang('texts.username').':')
->rules('required|length[3,50]')
->callback(array($this, 'valid_username'))->value($user_model->login);
->callback(array($this, 'valid_username'))->value($user->login);
$form->input('pre_title')->label(url_lang::lang('texts.pre title').':')->rules('length[3,40]')->value($user_model->pre_title);
$form->input('name')->label(url_lang::lang('texts.name').':')->rules('required|length[3,30]')->value($user_model->name);
$form->input('middle_name')->label(url_lang::lang('texts.middle name').':')->rules('length[3,30]')->value($user_model->middle_name);
$form->input('surname')->label(url_lang::lang('texts.surname').':')->rules('required|length[3,60]')->value($user_model->surname);
$form->input('post_title')->label(url_lang::lang('texts.post title').':')->rules('length[3,30]')->value($user_model->post_title);
$form->input('pre_title')->label(url_lang::lang('texts.pre title').':')->rules('length[3,40]')->value($user->pre_title);
$form->input('name')->label(url_lang::lang('texts.name').':')->rules('required|length[3,30]')->value($user->name);
$form->input('middle_name')->label(url_lang::lang('texts.middle name').':')->rules('length[3,30]')->value($user->middle_name);
$form->input('surname')->label(url_lang::lang('texts.surname').':')->rules('required|length[3,60]')->value($user->surname);
$form->input('post_title')->label(url_lang::lang('texts.post title').':')->rules('length[3,30]')->value($user->post_title);
$form->group('')->label(url_lang::lang('texts.Contact information'));
$form->group('')->label(url_lang::lang('texts.Additional information'));
$form->date('birthday')->label(url_lang::lang('texts.birthday').':')->years(date('Y')-100, date('Y'))->rules('required')->value(strtotime($user_model->birthday));
if ($this->acl_check_edit(get_class($this),'comment',$user_model->member_id))
$form->textarea('comment')->label(url_lang::lang('texts.Comment').':')->rules('length[0,250]')->value($user_model->comment);
$form->date('birthday')->label(url_lang::lang('texts.birthday').':')->years(date('Y')-100, date('Y'))->rules('required')->value(strtotime($user->birthday));
if ($this->acl_check_edit(get_class($this),'comment',$user->member_id))
$form->textarea('comment')->label(url_lang::lang('texts.Comment').':')->rules('length[0,250]')->value($user->comment);
$form->submit('submit')->value(url_lang::lang('texts.Edit'));
special::required_forge_style($form, ' *', 'required');
......
$user_data->surname = $form_data['surname'];
$user_data->post_title = $form_data['post_title'];
if ($this->acl_check_edit(get_class($this),'comment',$user_model->member_id))
if ($this->acl_check_edit(get_class($this),'comment',$user->member_id))
$user_data->comment = $form_data['comment'];
if ($user_data->save())
......
}
else
{
// breadcrumbs navigation
$breadcrumbs = array();
$breadcrumbs[] = ($this->acl_check_view('Members_Controller','members')) ? html::anchor (url_lang::base().'members/show_all', url_lang::lang('texts.Members')) : url_lang::lang('texts.Members');
$breadcrumbs[] = ($this->acl_check_view('Members_Controller','members', $user->member->id)) ? html::anchor(url_lang::base().'members/show/'.$user->member->id, "ID ".$user->member->id." - ".$user->member->name) : "ID ".$user->member->id." - ".$user->member->name;
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'users',$user->member_id)) ? html::anchor (url_lang::base().'users/show_by_member/'.$user->member_id, url_lang::lang('texts.Users')) : url_lang::lang('texts.Users');
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'users',$user->member_id)) ? html::anchor (url_lang::base().'users/show/'.$user->id, "$user->name $user->surname ($user->login)") : "$user->name $user->surname ($user->login)";
$breadcrumbs[] = url_lang::lang('texts.Edit');
$view = new View('main');
$view->title = url_lang::lang('texts.Editing of user');
$view->breadcrumbs = implode(' » ', $breadcrumbs);
$view->content = new View('form');
$view->content->headline = url_lang::lang('texts.Editing of user').' '.$user_model->pre_title.' '.$user_model->name.' '.$user_model->middle_name.' '.$user_model->surname.' '.$user_model->post_title;
$view->content->headline = url_lang::lang('texts.Editing of user').' '.$user->pre_title.' '.$user->name.' '.$user->middle_name.' '.$user->surname.' '.$user->post_title;
$view->content->form = $form->html();
$view->content->link_back = html::anchor(url_lang::base().'users/show/'.$user_model->id,url_lang::lang('texts.Back to this user'));
//$view->content->link_back = html::anchor(url_lang::base().'users/show/'.$user->id,url_lang::lang('texts.Back to this user'));
$view->content->link_back = '';
$view->render(TRUE);
}
} // end of edit function
......
{
if (!isset($user_id))
Controller::warning(PARAMETER);
$model_users = new User_Model($user_id);
if ($model_users->id == 0)
$user = new User_Model($user_id);
if ($user->id == 0)
Controller::error(RECORD);
if (!$this->acl_check_view(get_class($this),'users',$model_users->member_id))
if (!$this->acl_check_view(get_class($this),'users',$user->member_id))
Controller::error(ACCESS);
$model_contacts = new Contact_Model();
......
{
$voip = html::anchor(url_lang::base().'voip/show/'.$voip->current()->user_id,$voip->current()->name);
}
$aro_groups = $model_users->get_aro_groups_of_user($user_id);
$aro_groups = $user->get_aro_groups_of_user($user_id);
$breadcrumbs = array();
$breadcrumbs[] = ($this->acl_check_view('Members_Controller','members')) ? html::anchor (url_lang::base().'members/show_all', url_lang::lang('texts.Members')) : url_lang::lang('texts.Members');
$breadcrumbs[] = ($this->acl_check_view('Members_Controller','members', $user->member->id)) ? html::anchor(url_lang::base().'members/show/'.$user->member->id, "ID ".$user->member->id." - ".$user->member->name) : "ID ".$user->member->id." - ".$user->member->name;
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'users',$user->member_id)) ? html::anchor (url_lang::base().'users/show_by_member/'.$user->member_id, url_lang::lang('texts.Users')) : url_lang::lang('texts.Users');
$breadcrumbs[] = "$user->name $user->surname ($user->login)";
$view = new View('main');
$view->title = url_lang::lang('texts.Display user');
$view->breadcrumbs = implode(' » ', $breadcrumbs);
$view->content = new View('users_show');
$view->content->user_data = $model_users;
$view->content->user_data = $user;
$view->content->contacts = $contacts;
$view->content->contact_types = $arr_contact_types;
$view->content->message = $this->session->get_once('message');
......
if (isset($member_id))
{
$member = new Member_Model($member_id);
$form = new Forge(url_lang::base().'users/add/'.$member_id, '', 'POST', array('id' => 'article_form'));
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
......
else
{
$view->form = new View('registration');
// breadcrumbs navigation
$breadcrumbs = array();
$breadcrumbs[] = ($this->acl_check_view('Members_Controller','members')) ? html::anchor (url_lang::base().'members/show_all', url_lang::lang('texts.Members')) : url_lang::lang('texts.Members');
$breadcrumbs[] = ($this->acl_check_view('Members_Controller','members', $member->id)) ? html::anchor(url_lang::base().'members/show/'.$member->id, "ID ".$member->id." - ".$member->name) : "ID ".$member->id." - ".$member->name;
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'users',$member_id)) ? html::anchor (url_lang::base().'users/show_by_member/'.$member_id, url_lang::lang('texts.Users')) : url_lang::lang('texts.Users');;
$breadcrumbs[] = url_lang::lang('texts.Add');
$view = new View('main');
$view->title = url_lang::lang('texts.Add new user');
$view->breadcrumbs = implode(' » ', $breadcrumbs);
$view->content = new View('form');
$view->content->headline = url_lang::lang('texts.Add new user');
$view->content->link_back = html::anchor(url_lang::base().'members/show/'.$member_id,url_lang::lang('texts.Back to the member.'));
//$view->content->link_back = html::anchor(url_lang::base().'members/show/'.$member_id,url_lang::lang('texts.Back to the member.'));
$view->content->link_back = '';
$view->content->form = $form->html();
$view->render(TRUE);
}
......
}
} // end of add function
/**
* Shows works of user
*
* @author Michal Kliment
* @param integer $work_id
*/
public function show_work ($work_id = NULL)
{
Works_Controller::show ($work_id);
}
/**
* Callback for type field
......
Controller::error(RECORD);
}
$user_model = new User_Model($user_id);
$user = new User_Model($user_id);
if (!$user_model)
if (!$user)
{
Controller::error(RECORD);
}
......
// shows all users contact and also private zsers contact, if user have the rights
case 'show_all':
// rights
if (!$this->acl_check_view(get_class($this), 'additional_contacts', $user_model->member_id))
if (!$this->acl_check_view(get_class($this), 'additional_contacts', $user->member_id))
{
Controller::error(ACCESS);
}
......
->callback('Users_Controller::additional_contacts_type_callback');
$grid_contacts->field('value')->label(url_lang::lang('texts.Value'));
if ($this->acl_check_edit(get_class($this), 'additional_contacts', $user_model->member_id))
if ($this->acl_check_edit(get_class($this), 'additional_contacts', $user->member_id))
{
$grid_contacts->action_field('id')->label(url_lang::lang('texts.Edit'))
->url(url_lang::base().'users/additional_contacts/edit/'.$user_id)
->action(url_lang::lang('texts.Edit'));
}
if ($this->acl_check_delete(get_class($this), 'additional_contacts', $user_model->member_id))
if ($this->acl_check_delete(get_class($this), 'additional_contacts', $user->member_id))
{
$grid_contacts->action_field('id')->label(url_lang::lang('texts.Delete'))
->url(url_lang::base().'users/additional_contacts/delete/'.$user_id)
......
$grid_private_contacts = NULL;
$grid_contacts->datasource($contact_model->find_all_users_contacts($user_id));
if ($this->acl_check_new('Private_phone_contacts_Controller', 'contacts', $user_model->member_id))
if ($this->acl_check_new('Private_phone_contacts_Controller', 'contacts', $user->member_id))
{
$grid_private_contacts = new Grid(url::base().url::current(true), null, array(
'use_paginator' => false,
......
$grid_private_contacts->datasource($contact_model->find_all_private_users_contacts($user_id));
}
// breadcrumbs navigation
$breadcrumbs = array();
$breadcrumbs[] = ($this->acl_check_view('Members_Controller','members')) ? html::anchor (url_lang::base().'members/show_all', url_lang::lang('texts.Members')) : url_lang::lang('texts.Members');
$breadcrumbs[] = ($this->acl_check_view('Members_Controller','members', $user->member->id)) ? html::anchor(url_lang::base().'members/show/'.$user->member->id, "ID ".$user->member->id." - ".$user->member->name) : "ID ".$user->member->id." - ".$user->member->name;
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'users',$user->member_id)) ? html::anchor (url_lang::base().'users/show_by_member/'.$user->member_id, url_lang::lang('texts.Users')) : url_lang::lang('texts.Users');
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'users',$user->member_id)) ? html::anchor (url_lang::base().'users/show/'.$user->id, "$user->name $user->surname ($user->login)") : "$user->name $user->surname ($user->login)";
$breadcrumbs[] = url_lang::lang('texts.User contacts');
$view->breadcrumbs = implode(' » ', $breadcrumbs);
$view->content = new View('users/additional_contacts_show_all');
$view->content->grid_contacts = $grid_contacts;
$view->content->grid_private_contacts = $grid_private_contacts;
$view->content->user_id = $user_id;
$view->content->can_add = $this->acl_check_new(get_class($this), 'additional_contacts', $user_model->member_id);
$view->content->can_add = $this->acl_check_new(get_class($this), 'additional_contacts', $user->member_id);
break;
// adds user contacts
case 'add':
// rights
if (!$this->acl_check_new(get_class($this), 'additional_contacts', $user_model->member_id))
if (!$this->acl_check_new(get_class($this), 'additional_contacts', $user->member_id))
{
Controller::error(ACCESS);
}
......
}
else
{ // add relation
$issaved = $issaved && $contact_model->add($user_model);
$issaved = $issaved && $contact_model->add($user);
$issaved = $issaved && $contact_model->save();
}
}
......
$contact_model->value = $form->value->value;
$issaved = $issaved && $contact_model->save();
$issaved = $issaved && $contact_model->add($user_model);
$issaved = $issaved && $contact_model->add($user);
if ($form->type->value == Contact_Model::TYPE_PHONE)
{
......
}
}
// breadcrumbs navigation
$breadcrumbs = array();
$breadcrumbs[] = ($this->acl_check_view('Members_Controller','members')) ? html::anchor (url_lang::base().'members/show_all', url_lang::lang('texts.Members')) : url_lang::lang('texts.Members');
$breadcrumbs[] = ($this->acl_check_view('Members_Controller','members', $user->member->id)) ? html::anchor(url_lang::base().'members/show/'.$user->member->id, "ID ".$user->member->id." - ".$user->member->name) : "ID ".$user->member->id." - ".$user->member->name;
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'users',$user->member_id)) ? html::anchor (url_lang::base().'users/show_by_member/'.$user->member_id, url_lang::lang('texts.Users')) : url_lang::lang('texts.Users');
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'users',$user->member_id)) ? html::anchor (url_lang::base().'users/show/'.$user->id, "$user->name $user->surname ($user->login)") : "$user->name $user->surname ($user->login)";
$breadcrumbs[] = ($this->acl_check_view(get_class($this), 'additional_contacts', $user->member_id)) ? html::anchor(url_lang::base().'users/additional_contacts/show_all/'.$user_id, url_lang::lang('texts.User contacts')) : url_lang::lang('texts.User contacts');
$breadcrumbs[] = url_lang::lang('texts.Add');
$view->breadcrumbs = implode(' » ', $breadcrumbs);
$view->content = new View('users/additional_contacts_add');
$view->content->user_id = $user_id;
$view->content->form = $form->html();
break;
case 'edit':
// rights
if (!$this->acl_check_edit(get_class($this), 'additional_contacts', $user_model->member_id))
if (!$this->acl_check_edit(get_class($this), 'additional_contacts', $user->member_id))
{
Controller::error(ACCESS);
}
......
}
}
// breadcrumbs navigation
$breadcrumbs = array();
$breadcrumbs[] = ($this->acl_check_view('Members_Controller','members')) ? html::anchor (url_lang::base().'members/show_all', url_lang::lang('texts.Members')) : url_lang::lang('texts.Members');
$breadcrumbs[] = ($this->acl_check_view('Members_Controller','members', $user->member->id)) ? html::anchor(url_lang::base().'members/show/'.$user->member->id, "ID ".$user->member->id." - ".$user->member->name) : "ID ".$user->member->id." - ".$user->member->name;
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'users',$user->member_id)) ? html::anchor (url_lang::base().'users/show_by_member/'.$user->member_id, url_lang::lang('texts.Users')) : url_lang::lang('texts.Users');
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'users',$user->member_id)) ? html::anchor (url_lang::base().'users/show/'.$user->id, "$user->name $user->surname ($user->login)") : "$user->name $user->surname ($user->login)";
$breadcrumbs[] = ($this->acl_check_view(get_class($this), 'additional_contacts', $user->member_id)) ? html::anchor(url_lang::base().'users/additional_contacts/show_all/'.$user_id, url_lang::lang('texts.User contacts')) : url_lang::lang('texts.User contacts');
$breadcrumbs[] = url_lang::lang('texts.Edit');
$view->breadcrumbs = implode(' » ', $breadcrumbs);
$view->content = new View('users/additional_contacts_edit');
$view->content->contact_type = $enum_type_model->get_value($contact_model->type);
$view->content->country_code = $country_code;
......
// delete contacts
case 'delete':
// rights
if (!$this->acl_check_delete(get_class($this), 'additional_contacts', $user_model->member_id))
if (!$this->acl_check_delete(get_class($this), 'additional_contacts', $user->member_id))
{
Controller::error(ACCESS);
}
......
}
else
{ // delete just relation
$contact_model->remove($user_model);
$contact_model->remove($user);
$contact_model->save();
}
}
......
}
else
{
// breadcrumbs navigation
$breadcrumbs = array();
$breadcrumbs[] = ($this->acl_check_view('Members_Controller','members')) ? html::anchor (url_lang::base().'members/show_all', url_lang::lang('texts.Members')) : url_lang::lang('texts.Members');
$breadcrumbs[] = ($this->acl_check_view('Members_Controller','members', $user->member->id)) ? html::anchor(url_lang::base().'members/show/'.$user->member->id, "ID ".$user->member->id." - ".$user->member->name) : "ID ".$user->member->id." - ".$user->member->name;
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'users',$user->member_id)) ? html::anchor (url_lang::base().'users/show_by_member/'.$user->member_id, url_lang::lang('texts.Users')) : url_lang::lang('texts.Users');
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'users',$user->member_id)) ? html::anchor (url_lang::base().'users/show/'.$user->id, "$user->name $user->surname ($user->login)") : "$user->name $user->surname ($user->login)";
$breadcrumbs[] = url_lang::lang('texts.Change password');
$view = new View('main');
$view->title = url_lang::lang('texts.Change password');
$view->breadcrumbs = implode(' » ', $breadcrumbs);
$view->content = new View('form');
$view->content->headline = url_lang::lang('texts.Change password');
$links[] = html::anchor(url_lang::base().'members/show/'.$user->member_id, url_lang::lang('texts.Back to the member'));
$links[] = html::anchor(url_lang::base().'users/show/'.$user_id,url_lang::lang('texts.Back to this user'));
$view->content->link_back = implode(' | ', $links);
//$links[] = html::anchor(url_lang::base().'members/show/'.$user->member_id, url_lang::lang('texts.Back to the member'));
//$links[] = html::anchor(url_lang::base().'users/show/'.$user_id,url_lang::lang('texts.Back to this user'));
//$view->content->link_back = implode(' | ', $links);
$view->content->link_back = '';
$view->content->form = $form->html();
$view->render(TRUE);
}
......
}
else
{
// breadcrumbs navigation
$breadcrumbs = array();
$breadcrumbs[] = ($this->acl_check_view('Members_Controller','members')) ? html::anchor (url_lang::base().'members/show_all', url_lang::lang('texts.Members')) : url_lang::lang('texts.Members');
$breadcrumbs[] = ($this->acl_check_view('Members_Controller','members', $user->member->id)) ? html::anchor(url_lang::base().'members/show/'.$user->member->id, "ID ".$user->member->id." - ".$user->member->name) : "ID ".$user->member->id." - ".$user->member->name;
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'users',$user->member_id)) ? html::anchor (url_lang::base().'users/show_by_member/'.$user->member_id, url_lang::lang('texts.Users')) : url_lang::lang('texts.Users');
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'users',$user->member_id)) ? html::anchor (url_lang::base().'users/show/'.$user->id, "$user->name $user->surname ($user->login)") : "$user->name $user->surname ($user->login)";
$breadcrumbs[] = url_lang::lang('texts.Change application password');
$view = new View('main');
$view->title = url_lang::lang('texts.Change application password');
$view->breadcrumbs = implode(' » ', $breadcrumbs);
$view->content = new View('users/change_application_password');
$view->content->form = $form->html();
$view->content->user_id = $user_id;
freenetis/trunk/kohana/application/controllers/transfers.php
// headline
$headline = url_lang::lang('texts.Transfers of double-entry account');
// grid of transfers
$grid = new Grid(url_lang::base().'transfers', null, array(
$transfers_grid = new Grid(url_lang::base().'transfers', null, array(
//'separator' => '<br />-----------',
//'use_paginator' => false,
//'use_selector' => false,
......
'query_string' => $query_string,
'filter' => $filter->view
));
if ($this->acl_check_view('Accounts_Controller', 'accounts'))
$grid->add_new_button(url_lang::base().'members/show/'.$account->member_id, url_lang::lang('texts.Back to the member'));
if ($this->acl_check_new('Accounts_Controller', 'transfers', $account->member_id))
{
$grid->add_new_button(url_lang::base().'transfers/add_from_account/'.$account_id, url_lang::lang('texts.Send money to other account'), array(), help::hint('add_from_account'));
$transfers_grid->add_new_button(url_lang::base().'transfers/add_from_account/'.$account_id, url_lang::lang('texts.Send money to other account'), array(), help::hint('add_from_account'));
$billing = new Billing();
$account= ORM::factory('account')->where('id', $account_id)->find();
if ($billing->has_driver() && ($billing->get_account($account->member_id) != null))
$grid->add_new_button(url_lang::base().'transfers/add_voip/'.$account_id, url_lang::lang('texts.Recharge VoIP credit'));
$transfers_grid->add_new_button(url_lang::base().'transfers/add_voip/'.$account_id, url_lang::lang('texts.Recharge VoIP credit'));
}
if ($account->account_attribute_id == Account_attribute_Model::$credit)
{
if ($this->acl_check_edit('Accounts_Controller', 'transfers'))
$grid->add_new_button(url_lang::base().'transfers/recalculate_fees/'.$account->id, url_lang::lang('texts.Recount of member fees'), array('onclick' => 'return potvrd(\''.url_lang::lang('texts.Are you sure you want to recount fees of this member').'\')'), help::hint('recalculate_fees'));
$transfers_grid->add_new_button(url_lang::base().'transfers/recalculate_fees/'.$account->id, url_lang::lang('texts.Recount of member fees'), array('onclick' => 'return potvrd(\''.url_lang::lang('texts.Are you sure you want to recount fees of this member').'\')'), help::hint('recalculate_fees'));
if ($this->acl_check_edit('Accounts_Controller', 'transfers'))
$grid->add_new_button(url_lang::base().'transfers/recalculate_entrance_fees/'.$account->id, url_lang::lang('texts.Recount of entrance fees'), array('onclick' => 'return potvrd(\''.url_lang::lang('texts.Are you sure you want to recount entrance fees of this member').'\')'), help::hint('recalculate_entrance_fees'));
$transfers_grid->add_new_button(url_lang::base().'transfers/recalculate_entrance_fees/'.$account->id, url_lang::lang('texts.Recount of entrance fees'), array('onclick' => 'return potvrd(\''.url_lang::lang('texts.Are you sure you want to recount entrance fees of this member').'\')'), help::hint('recalculate_entrance_fees'));
}
$grid->order_field('id')->label('ID');
//$grid->order_field('trans_type')->label(url_lang::lang('texts.Type'))->bool(array(url_lang::lang('texts.Inbound'),url_lang::lang('texts.Outbound')));
$grid->order_field('name')->label(url_lang::lang('texts.Counteraccount'));
$grid->order_field('datetime')->label(url_lang::lang('texts.Date and time'));
$grid->order_callback_field('amount')->label(url_lang::lang('texts.Amount'))->callback('callback::amount_field');
$grid->order_field('text')->label(url_lang::lang('texts.Text'));
$grid->order_field('variable_symbol')->label(url_lang::lang('texts.VS'));
$transfers_grid->order_field('id')->label('ID');
//$transfers_grid->order_field('trans_type')->label(url_lang::lang('texts.Type'))->bool(array(url_lang::lang('texts.Inbound'),url_lang::lang('texts.Outbound')));
$transfers_grid->order_field('name')->label(url_lang::lang('texts.Counteraccount'));
$transfers_grid->order_field('datetime')->label(url_lang::lang('texts.Date and time'));
$transfers_grid->order_callback_field('amount')->label(url_lang::lang('texts.Amount'))->callback('callback::amount_field');
$transfers_grid->order_field('text')->label(url_lang::lang('texts.Text'));
$transfers_grid->order_field('variable_symbol')->label(url_lang::lang('texts.VS'));
if ($this->acl_check_view('Accounts_Controller', 'transfers', $account->member_id))
$grid->action_field('id')->label(url_lang::lang('texts.Transfer'))->url(url_lang::base().'transfers/show')->action(url_lang::lang('texts.Show'));
$transfers_grid->action_field('id')->label(url_lang::lang('texts.Transfer'))->url(url_lang::base().'transfers/show')->action(url_lang::lang('texts.Show'));
// transfers should not be edited
//if ($this->acl_check_edit('Accounts_Controller', 'transfers'))
// $grid->action_field('id')->label(url_lang::lang('texts.Transfer'))->url(url_lang::base().'transfers/edit')->action(url_lang::lang('texts.Edit'));
$grid->datasource($transfers);
// $transfers_grid->action_field('id')->label(url_lang::lang('texts.Transfer'))->url(url_lang::base().'transfers/edit')->action(url_lang::lang('texts.Edit'));
$transfers_grid->datasource($transfers);
if ($this->acl_check_view ('Members_Controller','comment',$account->member_id))
{
$comment_model = new Comment_Model();
$comments = $comment_model->get_all_comments_by_comments_thread($account->comments_thread_id);
$comments_grid = new Grid(url_lang::base().'members', null,array(
'separator' => '<br /><br />',
'use_paginator' => false,
'use_selector' => false,
));
$url = ($account->comments_thread_id) ? url_lang::base().'comments/add/'.$account->comments_thread_id : url_lang::base().'comments_threads/add/account/'.$account->id;
$comments_grid->add_new_button($url, url_lang::lang('texts.Add comment'));
//$comments_grid->field('id')->label('ID');
$comments_grid->field('text')->label(url_lang::lang('texts.Text'));
$comments_grid->callback_field('user_id')->label(url_lang::lang('texts.User'))->callback('callback::user_field');
$comments_grid->field('datetime')->label(url_lang::lang('texts.Time'));
$comments_grid->callback_field('user_id')->label(url_lang::lang('texts.Edit'))->callback('callback::edit_field','comments');
$comments_grid->callback_field('user_id')->label(url_lang::lang('texts.Delete'))->callback('callback::delete_field','comments');
$comments_grid->datasource($comments);
}
$view = new View('main');
$view->extra_scripts = "$(document).ready(function(){
$('#comments_grid').css('display','none');
$('#transfers_link, #comments_link').click(function (){
if (this.id == 'transfers_link')
{
$('#comments_grid').hide('slow');
$('#transfers_grid').show('slow');
}
else
{
$('#transfers_grid').hide('slow');
$('#comments_grid').show('slow');
}
return false;
});
});";
$breadcrumbs = array();
$breadcrumbs[] = html::anchor (url_lang::base().'members/show_all', url_lang::lang('texts.Members'));
$breadcrumbs[] = html::anchor(url_lang::base().'members/show/'.$account->member_id,"ID ".$account->member->id." - ".$account->member->name);
$breadcrumbs[] = url_lang::lang('texts.Transfers');
$view->title = $headline;
$view->breadcrumbs = implode(' » ', $breadcrumbs);
$view->content = new View('transfers/show_by_account');
$view->content->headline = $headline;
$view->content->account = $account;
......
$view->content->inbound = $inbound;
$view->content->outbound = $outbound;
$view->content->expiration_date = Members_Controller::get_expiration_date($account);
$view->content->grid = $grid;
$view->content->transfers_grid = $transfers_grid;
if ($this->acl_check_view ('Members_Controller','comment',$account->member_id))
$view->content->comments_grid = $comments_grid;
$view->content->message = $this->session->get_once('message');
$view->render(TRUE);
} // end of show_by_account function
......
//if ($this->acl_check_view('Members_Controller','members', $origin_account->member_id))
// $links[] = html::anchor(url_lang::base().'members/show/'.$origin_account->member_id, url_lang::lang('texts.Back to the member'));
$links[] = html::anchor(url_lang::base().'transfers/show_by_account/'.$origin_account_id, url_lang::lang('texts.Back to account transfers'));
//$links[] = html::anchor(url_lang::base().'transfers/show_by_account/'.$origin_account_id, url_lang::lang('texts.Back to account transfers'));
$breadcrumbs = array();
$breadcrumbs[] = html::anchor (url_lang::base().'members/show_all', url_lang::lang('texts.Members'));
$breadcrumbs[] = html::anchor(url_lang::base().'members/show/'.$origin_account->member_id,"ID ".$origin_account->member->id." - ".$origin_account->member->name);
$breadcrumbs[] = html::anchor(url_lang::base().'transfers/show_by_account/'.$origin_account->id, url_lang::lang('texts.Transfers'));
$breadcrumbs[] = url_lang::lang('texts.Add new transfer');
$headline = url_lang::lang('texts.Add new transfer');
$view = new View('main');
$view->breadcrumbs = implode(' » ', $breadcrumbs);
$view->extra_scripts = '$(document).ready(function(){
$("#account_type").change(function(){
$("#aname").html(\'<option value="">'.url_lang::lang('texts.Loading data, please wait').'...</option>\');
......
$view->content = new View('form');
$view->content->headline = $headline;
$view->content->form = $form->html();
$view->content->link_back = implode (' | ', $links);
$view->content->link_back = '';
$view->render(TRUE);
}
freenetis/trunk/kohana/application/controllers/members.php
$grid->datasource($query);
$view = new View('main');
$view->title = $headline;
$view->breadcrumbs = url_lang::lang('texts.Members');
$view->content = new View('show_all');
$view->content->table = $grid;
$view->content->headline = $headline;
......
if (!$member_id || !is_numeric($member_id))
Controller::warning(PARAMETER);
$member = new Member_Model($member_id);
$this->member = $member = new Member_Model($member_id);
// member doesn't exist
if (!$member->id)
......
$user_links[] = html::anchor(url_lang::base().'users/change_application_password/'.$user->id, url_lang::lang('texts.Change application password'));
}
// breadcrumbs navigation
$breadcrumbs = array();
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'members')) ? html::anchor (url_lang::base().'members/show_all', url_lang::lang('texts.Members')) : url_lang::lang('texts.Members');
$breadcrumbs[] = "ID $member->id - $member->name";
$view = new View('main');
$view->title = $title;
$view->breadcrumbs = implode(' » ', $breadcrumbs);
$view->content = new View('members_show');
$view->content->title = $title;
$view->content->member = $member;
......
else
{
$headline = url_lang::lang('texts.Add new member');
$view = new View('main');
// breadcrumbs navigation
$breadcrumbs = array();
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'members')) ? html::anchor (url_lang::base().'members/show_all', url_lang::lang('texts.Members')) : url_lang::lang('texts.Members');
$breadcrumbs[] = $headline;
$view = new View('main');
$view->breadcrumbs = implode(' » ', $breadcrumbs);
$view->title = $headline;
$view->content = new View('form');
$view->content->headline = $headline;
$view->content->form = $form->html();
$view->content->link_back = html::anchor(url_lang::base().'members/show_all/',url_lang::lang('texts.Back to list of members'));
$view->content->link_back = '';
//$view->content->link_back = html::anchor(url_lang::base().'members/show_all/',url_lang::lang('texts.Back to list of members'));
$view->render(TRUE);
}
......
}
else
{
$headline = url_lang::lang('texts.Edit member');
// breadcrumbs navigation
$breadcrumbs = array();
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'members')) ? html::anchor (url_lang::base().'members/show_all', url_lang::lang('texts.Members')) : url_lang::lang('texts.Members');
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'members', $member->id)) ? html::anchor (url_lang::base().'members/show/'.$member->id, "ID $member->id - $member->name") : "ID $member->id - $member->name";
$breadcrumbs[] = $headline;
$view = new View('main');
$view->title = url_lang::lang('texts.Edit member');
$view->breadcrumbs = implode(' » ', $breadcrumbs);
$view->title = $headline;
$view->content = new View('form');
$view->content->headline = url_lang::lang('texts.Editing of member').' '.$member->name;
$view->content->form = $form->html();
$view->content->link_back = html::anchor(url_lang::base().'members/show/'.$member->id,url_lang::lang('texts.Back to the member'));
//$view->content->link_back = html::anchor(url_lang::base().'members/show/'.$member->id,url_lang::lang('texts.Back to the member'));
$view->content->link_back = '';
$view->render(TRUE);
}
} // end of edit function
......
$this->session->set_flash('message', url_lang::lang('texts.Error - cant end membership.'));
url::redirect(url_lang::base().'members/show/'.(int)$member_id);
}
$headline = url_lang::lang('texts.End membership');
$view = new View('main');
$view->title = $headline;
$view->content = new View('form');
$view->content->headline = $headline;
$view->content->form = $form->html();
$view->content->link_back = html::anchor(url_lang::base().'members/show/'.$member_id,url_lang::lang('texts.Back to the member'));
$view->render(TRUE);
$headline = url_lang::lang('texts.End membership');
// breadcrumbs navigation
$breadcrumbs = array();
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'members')) ? html::anchor (url_lang::base().'members/show_all', url_lang::lang('texts.Members')) : url_lang::lang('texts.Members');
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'members', $member->id)) ? html::anchor (url_lang::base().'members/show/'.$member->id, "ID $member->id - $member->name") : "ID $member->id - $member->name";
$breadcrumbs[] = $headline;
$view = new View('main');
$view->breadcrumbs = implode(' » ', $breadcrumbs);
$view->title = $headline;
$view->content = new View('form');
$view->content->headline = $headline;
$view->content->form = $form->html();
//$view->content->link_back = html::anchor(url_lang::base().'members/show/'.$member_id,url_lang::lang('texts.Back to the member'));
$view->content->link_back = '';
$view->render(TRUE);
}
/**
......
$max_page = $count / $limit_results;
if($count % $limit_results >0) $max_page++;
$members = $member_model->get_all_members_to_registration($min, $limit_results);
$headline = url_lang::lang('texts.Administration of members registrations');
// breadcrumbs navigation
$breadcrumbs = array();
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'members')) ? html::anchor (url_lang::base().'members/show_all', url_lang::lang('texts.Members')) : url_lang::lang('texts.Members');
$breadcrumbs[] = $headline;
$view = new View('main');
$view->title = url_lang::lang('texts.Administration of members registrations');
$view->breadcrumbs = implode(' » ', $breadcrumbs);
$view->title = $headline;
$view->content = new View('members/registration');
$view->content->members = $members;
$view->content->page = $page;
......
}
}
$headline = url_lang::lang('texts.Export of registration');
// breadcrumbs navigation
$breadcrumbs = array();
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'members')) ? html::anchor (url_lang::base().'members/show_all', url_lang::lang('texts.Members')) : url_lang::lang('texts.Members');
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'members',$member->id)) ? html::anchor (url_lang::base().'members/show/'.$member->id, "ID $member->id - $member->name") : "ID $member->id - $member->name";
$breadcrumbs[] = $headline;
$view = new View('main');
$view->title = url_lang::lang('texts.Export of registration');
$view->breadcrumbs = implode(' » ', $breadcrumbs);
$view->title = $headline;
$view->content = new View('form');
$view->content->headline = url_lang::lang('texts.Export of registration');
$view->content->link_back = html::anchor(url_lang::base().'members/show/'.$member_id, url_lang::lang('texts.Back to the member'));
//$view->content->link_back = html::anchor(url_lang::base().'members/show/'.$member_id, url_lang::lang('texts.Back to the member'));
$view->content->link_back = '';
$view->content->form = $form->html();
$view->render(TRUE);
}
freenetis/trunk/kohana/application/controllers/json.php
echo json_encode($arr_fees);
}
public function update_paths()
{
$url = $this->input->post('url');
$paths = $this->session->get('paths');
$path = $paths[$this->session->get('last_path_id')];
if ($path[count($path)-1] == $url)
{
$paths[] = $path;
unset ($paths[$this->session->get('last_path_id')][count($path)-1]);
$this->session->set('last_path_id',count($paths)-1);
}
else
{
foreach ($paths as $id => $path)
{
if ($path[count($path)-1] == $url)
{
$paths[] = $path;
unset ($paths[$id][count($path)-1]);
$this->session->set('last_path_id',count($paths)-1);
break;
}
}
}
$this->session->set('paths', $paths);
}
public function insert_path()
{
$url = $this->input->post('url');
$paths = $this->session->get('paths');
$path = $paths[$this->session->get('last_path_id')];
$paths[][] = $paths[$this->session->get('last_path_id')][count($path)-1];
unset ($paths[$this->session->get('last_path_id')][count($path)-1]);
$this->session->set('last_path_id',count($paths)-1);
$this->session->set('paths', $paths);
}
}
freenetis/trunk/kohana/application/controllers/works.php
$grid->order_field('hours')->label(url_lang::lang('texts.Hours'));
$grid->order_field('km')->label(url_lang::lang('texts.Km'));
$grid->order_callback_field('suggest_amount')->label(url_lang::lang('texts.Suggest amount'))->callback('Works_Controller::suggest_amount');
$grid->order_callback_field('approval_state')->label(url_lang::lang('texts.State'))->help(help::hint('approval_state'))->callback('Works_Controller::vote_state_field');
$grid->order_callback_field('approval_state')->label(url_lang::lang('texts.State'))->help(help::hint('approval_state'))->callback('callback::vote_state_field');
$grid->order_callback_field('comments_count')->label(url_lang::lang('texts.Comments count'))->callback('callback::comments_field');;
// user can vote -> show columns for form items
if ($can_vote)
......
$view = new View('main');
$view->title = url_lang::lang('texts.Pending works');
$view->breadcrumbs = url_lang::lang('texts.Pending works');
$view->content = new View('works');
$view->content->grid = $grid;
$view->render(TRUE);
......
$grid->order_field('hours')->label(url_lang::lang('texts.Hours'));
$grid->order_field('km')->label(url_lang::lang('texts.Km'));
$grid->order_callback_field('rating')->label(url_lang::lang('texts.Rating'))->callback('Works_Controller::rating');
$grid->order_callback_field('approval_state')->label(url_lang::lang('texts.State'))->help(help::hint('approval_state'))->callback('Works_Controller::vote_state_field');
$grid->order_callback_field('approval_state')->label(url_lang::lang('texts.State'))->help(help::hint('approval_state'))->callback('callback::vote_state_field');
$grid->order_callback_field('comments_count')->label(url_lang::lang('texts.Comments count'))->callback('callback::comments_field');
// access control
if ($this->acl_check_view('Users_Controller','work'))
......
$view = new View('main');
$view->title = url_lang::lang('texts.Approved works');
$view->breadcrumbs = url_lang::lang('texts.Approved works');
$view->content = new View('works');
$view->content->grid = $grid;
$view->render(TRUE);
......
$grid->order_field('hours')->label(url_lang::lang('texts.Hours'));
$grid->order_field('km')->label(url_lang::lang('texts.Km'));
$grid->order_callback_field('suggest_amount')->label(url_lang::lang('texts.Suggest amount'))->callback('Works_Controller::suggest_amount');
$grid->order_callback_field('approval_state')->label(url_lang::lang('texts.State'))->help(help::hint('approval_state'))->callback('Works_Controller::vote_state_field');
$grid->order_callback_field('approval_state')->label(url_lang::lang('texts.State'))->help(help::hint('approval_state'))->callback('callback::vote_state_field');
$grid->order_callback_field('comments_count')->label(url_lang::lang('texts.Comments count'))->callback('callback::comments_field');
// access control
if ($this->acl_check_view('Users_Controller','work'))
......
$view = new View('main');
$view->title = url_lang::lang('texts.Rejected works');
$view->breadcrumbs = url_lang::lang('texts.Rejected works');
$view->content = new View('works');
$view->content->grid = $grid;
$view->render(TRUE);
......
$pending_works_grid->field('date')->label(url_lang::lang('texts.Date'));
$pending_works_grid->field('hours')->label(url_lang::lang('texts.Hours'));
$pending_works_grid->field('km')->label(url_lang::lang('texts.Km'));
$pending_works_grid->callback_field('suggest_amount')->label(url_lang::lang('texts.Suggest amount'))->callback('Works_Controller::suggest_amount');
... Rozdílový soubor je zkrácen, protože jeho délka přesahuje max. limit.

Také k dispozici: Unified diff