예제 #1
0
 function saveEntitiesSearch($entityTypeId = null, $onlyUpdates = false)
 {
     $onlyUpdates = $onlyUpdates == 'true';
     $deleteEntitySearch = $onlyUpdates != true;
     if ($entityTypeId == 'null') {
         $entityTypeId = null;
     }
     if ($entityTypeId == null || $entityTypeId == config_item('entityTypeUser')) {
         $this->load->model('Users_Model');
         $this->Users_Model->saveUsersSearch($deleteEntitySearch, $onlyUpdates);
     }
     if ($entityTypeId == null || $entityTypeId == config_item('entityTypeTag')) {
         $this->load->model('Tags_Model');
         $this->Tags_Model->saveTagsSearch($deleteEntitySearch, $onlyUpdates);
     }
     if ($entityTypeId == null || $entityTypeId == config_item('entityTypeFeed')) {
         $this->load->model('Feeds_Model');
         $this->Feeds_Model->saveFeedsSearch($deleteEntitySearch, $onlyUpdates);
     }
     if ($entityTypeId == null || $entityTypeId == config_item('entityTypeEntry')) {
         $this->load->model('Entries_Model');
         $this->Entries_Model->saveEntriesSearch($deleteEntitySearch, $onlyUpdates);
     }
     return loadViewAjax(true, array('msg' => lang('Data updated successfully')));
 }
예제 #2
0
 function delete()
 {
     if (!$this->safety->allowByControllerName(__CLASS__ . '/edit')) {
         return errorForbidden();
     }
     return loadViewAjax($this->News_Model->delete($this->input->post('newId')));
 }
예제 #3
0
 function register()
 {
     if (!$this->safety->allowByControllerName('register')) {
         return errorForbidden();
     }
     $userId = $this->session->userdata('userId');
     $form = array('frmName' => 'frmRegister', 'buttons' => array('<button type="submit" class="btn btn-primary"><i class="fa fa-sign-in"></i> ' . lang('Register') . '</button>'), 'fields' => array('userEmail' => array('type' => 'text', 'label' => lang('Email')), 'userPassword' => array('type' => 'password', 'label' => lang('Password')), 'userFirstName' => array('type' => 'text', 'label' => lang('First name')), 'userLastName' => array('type' => 'text', 'label' => lang('Last name')), 'countryId' => array('type' => 'dropdown', 'label' => lang('Country'), 'appendNullOption' => true)));
     $form['rules'] = array(array('field' => 'userEmail', 'label' => $form['fields']['userEmail']['label'], 'rules' => 'trim|required|valid_email|callback__validate_exitsEmail'), array('field' => 'userFirstName', 'label' => $form['fields']['userFirstName']['label'], 'rules' => 'trim|required'), array('field' => 'userLastName', 'label' => $form['fields']['userLastName']['label'], 'rules' => 'trim|required'));
     $this->form_validation->set_rules($form['rules']);
     if ($this->input->post() != false) {
         $code = $this->form_validation->run();
         if ($code == true) {
             $this->Users_Model->register($userId, $this->input->post());
             $userEmail = $this->input->post('userEmail');
             if ($this->safety->login($this->input->post('userEmail'), $this->input->post('userPassword')) != true) {
                 return loadViewAjax(false);
             }
             $userId = $this->session->userdata('userId');
             $confirmEmailKey = random_string('alnum', 20);
             $this->Users_Model->updateConfirmEmailKey($userId, $userEmail, $confirmEmailKey);
             $this->Tasks_Model->addTask('sendEmailWelcome', array('userId' => $userId));
             $this->load->model('Entries_Model');
             $this->Entries_Model->addDefaultFeeds();
             return loadViewAjax($code, array('goToUrl' => base_url(), 'skipAppLink' => true));
         }
         return loadViewAjax($code);
     }
     $form['fields']['countryId']['source'] = $this->Countries_Model->selectToDropdown();
     $this->load->view('pageHtml', array('view' => 'includes/crForm', 'meta' => array('title' => lang('Signup')), 'form' => populateCrForm($form, array())));
 }
예제 #4
0
 function popupLogin()
 {
     if (!$this->safety->allowByControllerName('login')) {
         return errorForbidden();
     }
     $form = $this->_getFormLogin();
     $form['frmName'] = 'frmPopupLogin';
     $result = array('html' => $this->load->view('login', array('form' => $form, 'isPopUp' => true), true) . $this->my_js->getHtml(), 'title' => lang('Login'), 'showPopupLogin' => true);
     return loadViewAjax(true, $result);
 }
예제 #5
0
 function deletePicture($entityTypeId, $fileId)
 {
     $config = getEntityGalleryConfig($entityTypeId);
     if (!$this->safety->allowByControllerName($config['controller'])) {
         return errorForbidden();
     }
     if ($this->Files_Model->hasFileIdInEntityTypeId($entityTypeId, $fileId) == false) {
         return errorForbidden();
     }
     $this->Files_Model->deleteEntityFile($entityTypeId, $fileId);
     return loadViewAjax(true, array());
 }
예제 #6
0
 function saveEntitySef($entityTypeId, $entityId)
 {
     $entityConfig = getEntityConfig($entityTypeId);
     $controller = sprintf('%s/edit', $entityConfig['entityTypeName']);
     // TODO: hacer un config
     if (!$this->safety->allowByControllerName($controller)) {
         return errorForbidden();
     }
     $entitySef = $this->Commond_Model->saveEntitySef($entityTypeId, $entityId);
     if ($entitySef == null) {
         return error404();
     }
     $entityUrl = getEntityUrl($entityTypeId, $entitySef);
     return loadViewAjax(true, array('entityUrl' => $entityUrl));
 }
예제 #7
0
 function deleteOldEntriesByFeedId($feedId)
 {
     if (!$this->safety->allowByControllerName('feeds/edit')) {
         return errorForbidden();
     }
     return loadViewAjax(true, 'affected rows: ' . $this->Feeds_Model->deleteOldEntriesByFeedId($feedId));
 }
예제 #8
0
 function deleteDoc($testId)
 {
     if (!$this->safety->allowByControllerName(__CLASS__ . '/edit')) {
         return errorForbidden();
     }
     $this->load->model('Files_Model');
     $data = $this->Testing_Model->get($testId);
     if (!empty($data)) {
         $this->Files_Model->deleteFile(config_item('testDoc'), $data['testDocFileId']);
     }
     return loadViewAjax(true);
 }
예제 #9
0
 function feedsDelete()
 {
     if (!$this->safety->allowByControllerName('tools/feeds')) {
         return errorForbidden();
     }
     $aFeedId = (array) json_decode($this->input->post('aDelete'));
     foreach ($aFeedId as $feedId) {
         $this->Entries_Model->unsubscribeFeed($feedId, (int) $this->session->userdata('userId'));
     }
     return loadViewAjax(true);
 }
예제 #10
0
 function doImportStarred()
 {
     if (!$this->safety->allowByControllerName('import/starred')) {
         return errorForbidden();
     }
     set_time_limit(0);
     $this->load->model('Entries_Model');
     $userId = $this->session->userdata('userId');
     $config = array('upload_path' => './application/cache', 'allowed_types' => 'json', 'max_size' => 1024 * 8, 'encrypt_name' => false, 'is_image' => false, 'overwrite' => true, 'file_name' => 'import_starred_' . $userId . '.json');
     $this->load->library('upload', $config);
     if (!$this->upload->do_upload()) {
         return loadViewAjax(false, $this->upload->display_errors());
     }
     $this->db->trans_start();
     $fileName = './application/cache/import_starred_' . $userId . '.json';
     $json = (array) json_decode(file_get_contents($fileName), true);
     foreach ($json['items'] as $data) {
         $entryContent = '';
         if (element('summary', $data) != null) {
             $entryContent = $data['summary']['content'];
         } else {
             if (element('content', $data) != null) {
                 $entryContent = $data['content']['content'];
             }
         }
         $entry = array('entryTitle' => element('title', $data, '(title unknown)'), 'entryUrl' => (string) $data['alternate'][0]['href'], 'entryAuthor' => element('author', $data, null), 'entryDate' => date('Y-m-d H:i:s', $data['published']), 'entryContent' => (string) $entryContent);
         $feed = array('feedName' => element('title', $data['origin']), 'feedUrl' => substr($data['origin']['streamId'], 5), 'feedLink' => $data['origin']['htmlUrl'], 'feedName' => element('title', $data['origin']), 'feedSuggest' => true);
         $entry['feedId'] = $this->Entries_Model->addFeed($userId, $feed);
         $entry['entryId'] = $this->Entries_Model->saveEntry($entry);
         if ($entry['entryId'] == null) {
             $entry['entryId'] = $this->Entries_Model->getEntryIdByFeedIdAndEntryUrl($entry['feedId'], $entry['entryUrl']);
         }
         $this->Entries_Model->saveUserEntries($userId, $entry['feedId'], $entry['entryId']);
         $this->Entries_Model->saveTmpUsersEntries($userId, array(array('userId' => $userId, 'entryId' => $entry['entryId'], 'entryStarred' => true, 'entryRead' => true)));
     }
     $this->db->trans_complete();
     $this->Entries_Model->pushTmpUserEntries($userId);
     return loadViewAjax(true, array('msg' => lang('The import was successful'), 'goToUrl' => base_url(''), 'skipAppLink' => true));
 }
예제 #11
0
 function _saveRemoveAccount()
 {
     if (!$this->safety->allowByControllerName('profile/edit')) {
         return errorForbidden();
     }
     $this->Users_Model->removeAccount($this->session->userdata('userId'));
     $this->session->sess_destroy();
     return loadViewAjax(true, array('goToUrl' => base_url(''), 'skipAppLink' => true));
 }
예제 #12
0
function selectGallery($entityTypeId, $entityId)
{
    $CI =& get_instance();
    $CI->load->model('Files_Model');
    $files = $CI->Files_Model->selectEntityGallery($entityTypeId, $entityId, null, true);
    return loadViewAjax(true, array('files' => $files));
}
예제 #13
0
 function _saveShareByEmail()
 {
     if ($this->form_validation->run() == FALSE) {
         return loadViewAjax(false);
     }
     $this->load->model(array('Users_Model', 'Tasks_Model'));
     $userId = $this->session->userdata('userId');
     $entryId = $this->input->post('entryId');
     $userFriendEmail = $this->input->post('userFriendEmail');
     $sendMeCopy = $this->input->post('sendMeCopy') == 'on';
     $shareByEmailComment = trim($this->input->post('shareByEmailComment'));
     $userFriendId = $this->Users_Model->saveUserFriend($userId, $userFriendEmail, '');
     $shareByEmailId = $this->Users_Model->saveSharedByEmail(array('userId' => $userId, 'entryId' => $entryId, 'userFriendId' => $userFriendId, 'shareByEmailComment' => $shareByEmailComment));
     $params = array('userId' => $userId, 'entryId' => $entryId, 'userFriendEmail' => $userFriendEmail, 'sendMeCopy' => $sendMeCopy, 'shareByEmailComment' => $shareByEmailComment);
     $this->Tasks_Model->addTask('shareByEmail', $params);
     return loadViewAjax(true, array('notification' => lang('The email has been sent')));
 }
예제 #14
0
<?php

if (!isset($form['action'])) {
    $form['action'] = base_url() . $this->uri->uri_string();
}
$form = appendMessagesToCrForm($form);
return loadViewAjax(true, array('form' => $form));