Ejemplo n.º 1
0
 public static function send($event)
 {
     $live = \Control\Live::getInstance();
     $conf = \Control\Core::conf();
     // Поиск шаблона письма по имени события
     $mail = $this->find(array('event' => $event, 'active' => 1));
     if (!empty($mail)) {
         // Замена тегов в письме на значения переменных
         $tags = explode(',', $mail->tags);
         foreach ($tags as $tag) {
             $tag = explode('.', $tag);
             if (is_array($GLOBALS[$tag[0]])) {
                 $value = $GLOBALS[$tag[0]][$tag[1]];
             } elseif (is_object($GLOBALS[$tag[0]])) {
                 $value = $GLOBALS[$tag[0]]->{$tag}[1];
             } else {
                 $value = $GLOBALS[$tag[0]];
             }
             $subject = str_replace('{' . $tag[0] . '.' . $tag[1] . '}', $value, $mail->subject);
             $message = str_replace('{' . $tag[0] . '.' . $tag[1] . '}', $value, $mail->message);
         }
         $mail_to = $user->email;
         $mail_from = $conf->site_mail;
         // Отправка письма
         if (!empty($subject) && !empty($message)) {
             $headers = 'MIME-Version: 1.0' . "\r\n";
             $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
             $headers .= 'To: ' . $live->user->name . ' <' . $mail_to . '>' . "\r\n";
             $headers .= 'From: ' . $conf->site_name . ' <' . $mail_from . '>' . "\r\n";
             mail($mail_to, $subject, $message, $headers);
         }
     }
 }
Ejemplo n.º 2
0
 public function settingsAction()
 {
     $conf = \Control\Core::conf();
     $form = new \Control\Forms();
     $form->setTitle('Wysiwygs');
     $form->setTemplate('form');
     $obj = new \stdClass();
     $obj->type = 'select';
     $obj->id = 'wysiwygs_name';
     $obj->status = 'db';
     $obj->value = !empty($conf->settings['wysiwyg']) ? $conf->settings['wysiwyg'] : '';
     $obj->options = 'a:4:{s:6:"module";s:8:"Wysiwygs";s:6:"entity";s:7:"Wysiwyg";s:5:"index";s:4:"name";s:5:"title";s:5:"title";}';
     $obj->caption = 'Визивиг';
     $form->addObject($obj);
     $form->addHTML('<div id="wysiwygs_info"><br/><br/><br/></div>');
     $form->addFooter(array('type' => 'button', 'id' => 'save', 'value' => 'Сохранить', 'action' => 'wysiwygs_save_settings()'));
     $output = $form->render();
     return $output;
 }
Ejemplo n.º 3
0
 public function optionsAction($page = null)
 {
     $conf = \Control\Core::conf();
     $live = \Control\live::getInstance();
     $json = array();
     /*
             $qb = $this->em->createQueryBuilder();
             $qb->add('select', 'm')
                 ->add('from', '\Menu\Entities\Menu m')
                 ->add('where', $qb->expr()->andX(
                     'm.module = ?1',
                     $qb->expr()->orX(
                         'm.page = ?2',
                         $qb->expr()->like('m.childs', '?2')
                     )
                 ))
                 ->setParameter(1, 'data')
                 ->setParameter(2, $page)
             ;
             $info = $qb->getQuery()->getResult();
             
             if (!empty($info))
             {
                 $options = $info[0]->options;
                 echo $options .', ';
                 
                 $this->$options();
             }*/
     $json[] = array('title' => 'Добавить тип данных', 'href' => '#Data/add');
     $childs = array();
     $data_types = $this->repDataType->findBy(array());
     if (!empty($data_types)) {
         foreach ($data_types as $data_type) {
             $childs_right = array();
             $childs_right[] = array('type' => 'link_img_list', 'href' => '#Data/listFields/' . $data_type->name);
             $childs_right[] = array('type' => 'link_img_edit', 'href' => '#Data/edit/' . $data_type->id);
             $childs_bottom = array();
             $data_fields = $this->repDataField->findBy(array('data_name' => $data_type->name));
             if (!empty($data_fields)) {
                 foreach ($data_fields as $data_field) {
                     $childs_bottom[] = array('title' => $data_field->title, 'href' => '#Data/editField/' . $data_field->id);
                 }
             }
             $childs_spoiler = array('id' => 'data_options_type_' . $data_type->id, 'items' => $childs_bottom);
             $childs[] = array('name' => $data_type->name, 'title' => $data_type->title, 'action' => "acSlideToggle('data_options_type_" . $data_type->id . "')", 'childs_right' => $childs_right, 'childs_spoiler' => $childs_spoiler);
         }
     }
     $json[] = array('title' => 'Список данных', 'href' => '#Data/list', 'childs' => $childs);
     $json[] = array('title' => '');
     $json[] = array('title' => 'Добавить шаблон', 'href' => '#Data/addTemplate');
     $childs = array();
     $data_templates = $this->repDataTemplate->findAll();
     if (!empty($data_templates)) {
         foreach ($data_templates as $data_template) {
             $childs[] = array('name' => $data_template->name, 'title' => !empty($data_template->title) ? $data_template->title : $data_template->name, 'href' => '#Data/editTemplate/' . $data_template->id);
         }
     }
     $json[] = array('title' => 'Список Шаблонов', 'href' => '#Data/listTemplates', 'childs' => $childs);
     // $json[] = array('title'=>'Настройки', 'href'    => '#Data/settings' );
     $output = json_encode($json);
     return $output;
 }
Ejemplo n.º 4
0
        case '999':
        default:
            $error = 'No error code avaiable';
    }
    echo $error;
} elseif (empty($_FILES[$fileElementName]['tmp_name']) || $_FILES[$fileElementName]['tmp_name'] == 'none') {
    $error = 'No file was uploaded..';
    echo $error;
} else {
    // Подключение классов
    require_once 'system/modules/Control/Config.php';
    require_once 'system/modules/Control/Core.php';
    require_once 'system/modules/Control/Engine.php';
    require_once 'system/modules/Control/Live.php';
    \Control\Core::init();
    $conf = \Control\Core::conf();
    $live = \Control\Live::getInstance();
    $em = \Control\Core::em();
    $con = $em->getConnection();
    $code = $live->user->id;
    $id = $fileElementName;
    $name = $_FILES[$fileElementName]['name'];
    $ext = explode('.', $name);
    $ext = $ext[count($ext) - 1];
    $path = '/temp/files/' . $code . '_' . $id . '.' . $ext;
    $size = $_FILES[$fileElementName]['size'];
    $time = time();
    if (rename($_FILES[$fileElementName]['tmp_name'], $root_dir . '' . $path)) {
        $file_id = $con->executeQuery("SELECT `id` FROM {$db_prefix}files_temp WHERE `user`='{$code}' AND `path`='{$path}'")->fields['id'];
        // пользователь перезагрузил файл - обновляем запись в базе
        if ($file_id > 0) {
Ejemplo n.º 5
0
 public function set_additional_field($field, $value)
 {
     $db_prefix = \Control\Core::conf()->db_prefix;
     $this->db = \Control\Core::db();
     if ($this->db->Execute("SELECT `{$field}` FROM {$this->conf->db_prefix}users_additional_data WHERE `id`='{$this->id}'")->RecordCount() == 1) {
         $this->db->Execute("UPDATE {$this->conf->db_prefix}users_additional_data SET `{$field}`='{$value}' WHERE `id`='{$this->id}'");
     } else {
         $this->db->Execute("INSERT INTO {$this->conf->db_prefix}users_additional_data SET `{$field}`='{$value}', `id`='{$this->id}'");
     }
 }
Ejemplo n.º 6
0
 public function editProfileAction()
 {
     $conf = \Control\Core::conf();
     $db = \Control\Core::db();
     $live = \Control\Live::getInstance();
     $user = $live->user;
     $time = time();
     $fields = explode($conf->ac_sep, $_POST['fields']);
     $new_values = str_replace($conf->ac_con, '&', $_POST['new_values']);
     $new_values = explode($conf->ac_sep, $new_values);
     $values_sql = array();
     for ($i = 0; $i < count($fields); $i++) {
         $field = data::quote_smart($fields[$i]);
         switch ($field) {
             case 'pass':
                 $pass = $new_values[$i];
                 break;
             case 'pass2':
                 $pass2 = $new_values[$i];
                 break;
             default:
                 $value = data::quote_smart($new_values[$i]);
                 $values_sql[] = sprintf("`%s`='%s'", $field, $value);
         }
     }
     if (!empty($pass) && !empty($pass2)) {
         // если изменился пароль, генерируем хэш
         if ($pass == $pass2) {
             $hash = $_SESSION['user_hash'] = md5($user->id . ':' . $user->login . ':' . md5($pass) . ':' . $user->salt);
             $values_sql[] = sprintf("`hash`='%s'", $hash);
         } else {
             echo 'Пароли не совпадают.';
             exit;
         }
     }
     $values_sql = implode(',', $values_sql);
     $db->Execute("UPDATE {$conf->db_prefix}users SET {$values_sql} WHERE `id`='{$user->id}'");
 }