function add_link()
 {
     $this->setTemplate('edit_link');
     if (!ProjectLink::canAdd(logged_user(), active_project())) {
         flash_error(lang('no access permissions'));
         $this->redirectTo('links', 'index');
     }
     // if
     $project_link = new ProjectLink();
     $project_link_data = array_var($_POST, 'project_link');
     if (is_array(array_var($_POST, 'project_link'))) {
         $project_link->setFromAttributes($project_link_data);
         $project_link->setCreatedById(logged_user()->getId());
         $project_link->setProjectId(active_project()->getId());
         try {
             DB::beginWork();
             $project_link->save();
             ApplicationLogs::createLog($project_link, active_project(), ApplicationLogs::ACTION_ADD);
             DB::commit();
             flash_success(lang('success add link'));
             $this->redirectTo('links');
         } catch (Exception $e) {
             DB::rollback();
             tpl_assign('error', $e);
         }
         // try
     }
     tpl_assign('project_link', $project_link);
     tpl_assign('project_link_data', $project_link_data);
 }