Beispiel #1
0
 function createPrivate($title, $elems)
 {
     if (!isset($this->session->userdata['data']['logined'])) {
         die('Доступ запрещен');
     }
     $this->db->trans_begin();
     $url = short_url();
     $insert = array('name' => $title, 'sys_users_id' => $this->session->userdata['data']['sys_users_id'], 'url' => $url);
     $this->db->insert($this->config->item('table_tasks'), $insert);
     $i = 1;
     foreach ($elems as $elem) {
         if ($elem['task'] != '' || $elem['description'] != '') {
             $description = preg_replace("/(\\s){2,}/", ' ', $elem['description']);
             $this->db->insert($this->config->item('table_elems'), array('url' => $url, 'name' => trim($elem['task']), 'description' => $description, 'ord' => $i));
             $i++;
         }
     }
     if ($this->db->trans_status() === FALSE) {
         $this->db->trans_rollback();
         return FALSE;
     } else {
         $this->db->trans_commit();
         return $url;
     }
 }
function short_url()
{
    $CI =& get_instance();
    $letters = '123456789QWERTYUIPASDFGHJKLZXCVBNMqwertyuipasdfghjklzxcvbnm';
    $ll = strlen($letters) - 1;
    $len = 5;
    $ret = '';
    for ($i = 1; $i <= $len; $i++) {
        $p = mt_rand(0, $ll);
        $ret .= $letters[$p];
    }
    $CI->db->where('url', $ret);
    if ($CI->db->count_all_results($CI->config->item('table_tasks'))) {
        $ret = short_url();
    }
    return $ret;
}
Beispiel #3
0
 function publiccreate()
 {
     $this->load->library('form_validation');
     $this->form_validation->set_error_delimiters('<li>', '</li>');
     //$this->form_validation->set_rules('tasks', 'Список', 'required|trim|max_length[2048]');
     $this->form_validation->set_rules('emails', 'Электронные адреса', 'trim|callback_checkEmails|max_length[2048]');
     //
     $this->form_validation->set_rules('title', 'Наименование', 'trim');
     $this->form_validation->set_rules('expire', 'Срок годности', 'trim');
     $this->form_validation->set_message('required', 'Поле "%s" обязательно для заполнения');
     $this->form_validation->set_message('max_length', 'Превышен максимальный размер поля "%s"');
     if ($this->form_validation->run() == FALSE) {
         $errors = validation_errors();
         if ($errors != '') {
             $errors = '<div id="errors">
                        <ul>
                       ' . $errors . '
                        </ul>
                        </div>';
         }
         $con = $this->load->view('list/publiccreate', array('errors' => $errors), TRUE);
     } else {
         $data = array();
         $data['name'] = $this->input->post('title');
         if ($this->input->post('password')) {
             $data['password'] = sha1($this->input->post('password'));
         } else {
             $data['password'] = '';
         }
         $data['expire'] = $this->input->post('expire') * 3600 * 24 + time();
         $data['url'] = short_url();
         $tasks = $this->input->post('double');
         /*echo '<pre>';
           print_r($tasks);
           echo '</pre>';    
           return;*/
         if ($this->spisok->addTask($data, $tasks['double'])) {
             $this->sendEmails($this->input->post('emails'), $this->input->post('password'), $data);
             redirect(base_url() . 'sp/show/' . $data['url']);
         } else {
             $con = 'Что-то произошло и ваш список не был добавлен. Попробуйте еще раз';
         }
     }
     $this->showContent($con, '', 'Создание публичного списка');
 }
Beispiel #4
0
/**
 * Get short url from a post.
 *
 * @param int $post_id
 * @param bool $only_short_url Default false
 *
 * @return string|null
 */
function get_short_url($post_id, $only_short_url = false)
{
    return short_url()->get_short_url($post_id, $only_short_url);
}