Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 937

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

Prvni sada zmen ve vetvi komentaru. Pridany tabulky pro komentare. Implementace drobeckove navigace a ukladani historie prochazeni (pomoci pole v session).

Zobrazit rozdíly:

freenetis/branches/comments/media/css/style.css
#show_application_password_link {
float: right;
margin-right: 40px;
}
.breadcrumbs {
font-weight: bold;
}
.ip_box {
border: 1px solid black;
}
freenetis/branches/comments/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ý',
......
'column headers' => 'Hlavičky sloupců',
'comment' => 'Komentář',
'comment of admin shown to user' => 'Komentář administrátora zobrazený uživateli',
'comments' => 'Komentáře',
'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/branches/comments/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/branches/comments/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/branches/comments/application/helpers/callback.php
{
echo html::anchor (url_lang::base().'ifaces/show/'.$item->iface_id, $item->iface_id, array('title' => url_lang::lang('texts.Show interface')));
}
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'));
}
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'));
}
}
freenetis/branches/comments/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/branches/comments/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');
/**
* 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/branches/comments/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/branches/comments/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/branches/comments/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/branches/comments/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);
}
......
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/branches/comments/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);
$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;
$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/branches/comments/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/branches/comments/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/branches/comments/application/controllers/devices.php
$grid->datasource($query);
$view = new View('main');
$view->title = $headline;
$view->breadcrumbs = url_lang::lang('texts.Devices');
$view->content = new View('show_all');
$view->content->headline = $headline;
$view->content->table = $grid;
......
}
}
$headline = url_lang::lang('texts.Device list of user').' '.$user->name.' '.$user->surname.' ('.url_lang::lang('texts.Member').' '.$user->member_id.' '.$user->member->name.')';
//$headline = url_lang::lang('texts.Device list of user').' '.$user->name.' '.$user->surname.' ('.url_lang::lang('texts.Member').' '.$user->member_id.' '.$user->member->name.')';
$headline = url_lang::lang('texts.Device list of user');
$view = new View('main');
......
});
});';
// 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('Users_Controller', '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('Users_Controller', '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.Devices');
$view->title = $headline;
$view->breadcrumbs = implode(' » ', $breadcrumbs);
$view->content = new View('devices_show_by_user');
$view->content->user_id = $user->id;
$view->content->member_id = $user->member_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', $device->user->member->id)) ? html::anchor(url_lang::base().'members/show/'.$device->user->member->id, "ID ".$device->user->member->id." - ".$device->user->member->name) : "ID ".$device->user->member->id." - ".$device->user->member->name;
$breadcrumbs[] = ($this->acl_check_view('Users_Controller', 'users',$device->user->member_id)) ? html::anchor (url_lang::base().'users/show_by_member/'.$device->user->member_id, url_lang::lang('texts.Users')) : url_lang::lang('texts.Users');
$breadcrumbs[] = ($this->acl_check_view('Users_Controller', 'users',$device->user->member_id)) ? html::anchor (url_lang::base().'users/show/'.$device->user->id, $device->user->name." ".$device->user->surname." (".$device->user->login.")") : $device->user->name." ".$device->user->surname." (".$device->user->login.")";
$breadcrumbs[] = ($this->acl_check_view(get_class($this),'devices',$device->user->member_id)) ? html::anchor (url_lang::base().'devices/show_by_user/'.$device->user_id, url_lang::lang('texts.Devices')) : url_lang::lang('texts.Devices');
$breadcrumbs[] = ($device->name != '') ? $device->name : $device_type;
$view->title = url_lang::lang('texts.Device').' '.$device->name;
$view->breadcrumbs = implode(' » ', $breadcrumbs);
$view->content = new View('devices_show');
$view->content->device = $device;
$view->content->device_type = $device_type;
freenetis/branches/comments/application/controllers/comments.php
<?php
/**
*
* @author Michal Kliment
* @copyright (c) 2011 Kliment Michal
* @license GNU GPLv3
* @license http://www.gnu.org/licenses/gpl.txt
*/
class Comments_Controller extends Controller
{
/**
* Adds new comments to comment thread
*
* @author Michal Kliment
* @param integer $comments_thread_id
*/
public function add ($comments_thread_id = NULL)
{
// bad parameter
if (!$comments_thread_id || !is_numeric($comments_thread_id))
Controller::warning(PARAMETER);
$comments_thread = new Comments_thread_Model($comments_thread_id);
// comment thread doesn't exist
if (!$comments_thread->id)
Controller::error(RECORD);
// finds parent of comment thread
$parent = $comments_thread->get_parent();
$breadcrumbs = array();
switch ($comments_thread->type)
{
// thread belongs to account
case 'account':
$link_back_url = url_lang::base().'transfers/show_by_account/'.$parent->id;
$breadcrumbs[] = html::anchor (url_lang::base().'members/show_all', url_lang::lang('texts.Members'));
$breadcrumbs[] = html::anchor(url_lang::base().'members/show/'.$parent->member_id,"ID ".$parent->member->id." - ".$parent->member->name);
$breadcrumbs[] = html::anchor ($link_back_url, url_lang::lang('texts.Transfers'));
$breadcrumbs[] = url_lang::lang('texts.Add comment');
break;
default:
Controller::error(RECORD);
break;
}
$form = new Forge(url::base().url::current(TRUE), '', 'POST', array('id' => 'article_form'));
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
$form->textarea('text')->label(url_lang::lang('text.Text').':')->rules('required');
$form->submit('submit')->value(url_lang::lang('texts.Save'));
special::required_forge_style($form, ' *', 'required');
// form is validate
if ($form->validate())
{
$form_data = $form->as_array();
$comment = new Comment_Model();
$comment->comments_thread_id = $comments_thread_id;
$comment->user_id = $this->session->get('user_id');
$comment->datetime = date('Y-m-d h:i:s');
$comment->text = $form_data['text'];
if ($comment->save())
$this->session->set_flash('message', url_lang::lang('texts.Comment has been successfully added').'.');
url::redirect($link_back_url);
}
$view = new View('main');
$view->title = url_lang::lang('texts.Add comment');
$view->breadcrumbs = implode(' » ', $breadcrumbs);
$view->content = new View('form');
$view->content->headline = url_lang::lang('texts.Add comment');
$view->content->link_back = '';
$view->content->form = $form->html();
$view->render(TRUE);
}
/**
* Edits comment
*
* @author Michal Kliment
* @param integer $comment_id
*/
public function edit ($comment_id = NULL)
{
// bad parameter
if (!$comment_id || !is_numeric ($comment_id))
Controller::warning (PARAMETER);
$comment = new Comment_Model($comment_id);
// comment doesn't exist
if (!$comment->id)
Controller::error(RECORD);
// finds parent of comment thread
$parent = $comment->comments_thread->get_parent();
$breadcrumbs = array();
switch ($comment->comments_thread->type)
{
// thread belongs to account
case 'account':
$link_back_url = url_lang::base().'transfers/show_by_account/'.$parent->id;
$breadcrumbs[] = html::anchor (url_lang::base().'members/show_all', url_lang::lang('texts.Members'));
$breadcrumbs[] = html::anchor(url_lang::base().'members/show/'.$parent->member_id,"ID ".$parent->member->id." - ".$parent->member->name);
$breadcrumbs[] = html::anchor ($link_back_url, url_lang::lang('texts.Transfers'));
$breadcrumbs[] = url_lang::lang('texts.Edit comment');
break;
default:
Controller::error(RECORD);
break;
}
$form = new Forge(url::base().url::current(TRUE), '', 'POST', array('id' => 'article_form'));
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
$form->textarea('text')->label(url_lang::lang('text.Text').':')->rules('required')->value($comment->text);
$form->submit('submit')->value(url_lang::lang('texts.Save'));
special::required_forge_style($form, ' *', 'required');
// form is validate
if ($form->validate())
{
$form_data = $form->as_array();
$comment = new Comment_Model($comment_id);
$comment->datetime = date('Y-m-d h:i:s');
$comment->text = $form_data['text'];
if ($comment->save())
$this->session->set_flash('message', url_lang::lang('texts.Comment has been successfully updated').'.');
url::redirect($link_back_url);
}
$title = url_lang::lang('texts.Edit comment');
$view = new View('main');
$view->title = $title;
$view->breadcrumbs = implode(' » ', $breadcrumbs);
$view->content = new View('form');
$view->content->headline = $title;
$view->content->link_back = '';
$view->content->form = $form->html();
$view->render(TRUE);
}
/**
* Deletes comment
*
* @author Michal Kliment
* @param integer $comment_id
*/
public function delete ($comment_id = NULL)
{
// bad parameter
if (!$comment_id || !is_numeric ($comment_id))
Controller::warning (PARAMETER);
$comment = new Comment_Model($comment_id);
// comment doesn't exist
if (!$comment->id)
Controller::error (RECORD);
// finds parent of comment thread
$parent = $comment->comments_thread->get_parent();
switch ($comment->comments_thread->type)
{
// thread belongs to account
case 'account':
$link_back_url = url_lang::base().'transfers/show_by_account/'.$parent->id;
if ($comment->delete())
$this->session->set_flash('message', url_lang::lang('texts.Comment has been successfully deleted').'.');
url::redirect ($link_back_url);
break;
default:
Controller::error(RECORD);
break;
}
}
}
?>
freenetis/branches/comments/application/upgrade_sql/upgrade_sql.php
return $svnid;
}
/**
* Set action log trigger with current state.
*/
function upgrade_sql_before()
{
$db = new Database();
$value = '1';
// array of sql queries that upgrade database
$upgrade_sql[get_SVN_rev()] = array(
try
{
$db->query("SELECT * FROM logs LIMIT 1");
}
catch (Exception $e)
{
$value = '0';
}
"CREATE TABLE IF NOT EXISTS `comments` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`comments_thread_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`text` text COLLATE utf8_czech_ci NOT NULL,
`datetime` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `comments_thread_id` (`comments_thread_id`,`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;",
$db->query("INSERT INTO config (name, value) VALUES ('action_logs_active', '".$value."');");
"CREATE TABLE IF NOT EXISTS `comments_threads` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`type` varchar(255) COLLATE utf8_czech_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;",
return true;
}
"ALTER TABLE `accounts` ADD `comments_thread_id` INT( 11 ) NULL DEFAULT NULL ,
ADD INDEX ( `comments_thread_id` )",
// array of sql queries that upgrade database
$upgrade_sql[get_SVN_rev()] = array(
"ALTER TABLE `jobs` ADD `comments_thread_id` INT( 11 ) NULL DEFAULT NULL ,
ADD INDEX ( `comments_thread_id` )",
// Primary key to name
"ALTER TABLE config ADD PRIMARY KEY (name);",
);
?>
freenetis/branches/comments/application/upgrade_sql/upgrade_sql_929.php
<?php
/**
* Set action log trigger with current state.
*/
function upgrade_sql_929_before()
{
$db = new Database();
$value = '1';
try
{
$db->query("SELECT * FROM logs LIMIT 1");
}
catch (Exception $e)
{
$value = '0';
}
$db->query("INSERT INTO config (name, value) VALUES ('action_logs_active', '".$value."');");
return true;
}
// array of sql queries that upgrade database
$upgrade_sql[929] = array(
// Primary key to name
"ALTER TABLE config ADD PRIMARY KEY (name);",
);
?>
freenetis/branches/comments/application/libraries/MY_Controller.php
$this->session = Session::instance();
$this->settings = new Settings();
$this->breadcrumbs = array();
// if true, freenetis will run in popup mode (without header and menu)
$this->popup = (isset($_GET['popup']) && $_GET['popup']) ? 1 : 0;
......
// boolean variable if user has active voip number (for menu rendering)
$this->user_has_voip = (bool) ORM::factory('voip_sip')->where('user_id',$this->user_id)->find_all()->count();
// updates paths
$this->update_paths();
}
/**
* Function to update paths
* @author MIchal Kliment
*/
private function update_paths ()
{
if (!is_array($this->session->get('paths')))
... Rozdílový soubor je zkrácen, protože jeho délka přesahuje max. limit.

Také k dispozici: Unified diff