Example #1
0
 public function buildLinks()
 {
     $links = array();
     $dataPath = Utils::dataViewPath('navigations');
     $menuItems = (include $dataPath . '/sub.php');
     $c = app()->controller->id;
     foreach ($menuItems as $itemInfo) {
         if (is_array($itemInfo[1])) {
             $firstController = '';
             foreach ($itemInfo[1] as $cId => $title) {
                 if (empty($firstController)) {
                     $firstController = $cId;
                 }
                 if ($c == $cId) {
                     $links[t($itemInfo[0])] = url($firstController);
                     $links[t($title)] = url(param('adminUrl') . $cId);
                     break;
                 }
             }
         } else {
             if ($c == $itemInfo) {
                 $links[t($itemInfo[1])] = url(param('adminUrl') . $c);
                 break;
             }
         }
     }
     $links[] = $this->getLastTitle();
     return $links;
 }
Example #2
0
 public function search()
 {
     $criteria = new CDbCriteria();
     $criteria->order = 'id DESC';
     $criteria->compare('apartment_id', $this->apartment_id, true);
     return new CActiveDataProvider($this, array('criteria' => $criteria, 'pagination' => array('pageSize' => param('adminPaginationPageSize', 20))));
 }
Example #3
0
 private function standardizeData($data)
 {
     $result = array();
     if (is_array($data) && !empty($data)) {
         $i = 0;
         $model = str_replace('_', ' ', app()->controller->getModel(null)->tableName());
         foreach ($data as $item) {
             // Title
             if (!isset($item['title'])) {
                 $item['title'] = ucfirst($item['action']);
             }
             // Confirm message
             if (!isset($item['confirm'])) {
                 $action = strtolower($item['title']);
                 $item['confirm'] = str_replace(array('{action}', '{model}'), array($action, $model), $this->confirmMsg);
             }
             // Url
             if (!isset($item['params'])) {
                 $item['params'] = array();
             }
             $item['url'] = url(param('adminUrl') . app()->controller->id . '/bulk' . ucfirst($item['action']), $item['params']);
             $result[$i]['label'] = t($item['title']);
             $result[$i]['url'] = '#';
             $result[$i]['linkOptions']['bulkUrl'] = $item['url'];
             if (isset($item['confirm'])) {
                 $result[$i]['linkOptions']['confirmMsg'] = $item['confirm'];
             }
             $i++;
         }
     }
     return $result;
 }
Example #4
0
 public function actionSaveSort()
 {
     $objTypeId = Yii::app()->request->getParam('id', NULL);
     $sort = Yii::app()->request->getParam('sort');
     if (count($sort) >= param('searchMaxField', 15)) {
         HAjax::jsonError(tt('Search max field ') . param('searchMaxField', 3));
     }
     if ($objTypeId !== NULL && $sort && is_array($sort)) {
         $elements = SearchForm::getSearchFields();
         $sql = "DELETE FROM {{search_form}} WHERE obj_type_id=:id AND status!=:status";
         Yii::app()->db->createCommand($sql)->execute(array(':id' => $objTypeId, ':status' => SearchFormModel::STATUS_NOT_REMOVE));
         $i = 3;
         foreach ($sort as $field) {
             if (!isset($elements[$field])) {
                 continue;
             }
             $search = new SearchFormModel();
             $search->attributes = array('obj_type_id' => $objTypeId, 'field' => $field, 'status' => $elements[$field]['status'], 'sorter' => $i, 'formdesigner_id' => isset($elements[$field]['formdesigner_id']) ? $elements[$field]['formdesigner_id'] : 0);
             $search->save();
             $i++;
         }
         // delete assets js cache
         ConfigurationModel::clearGenerateJSAssets();
         HAjax::jsonOk();
     }
     HAjax::jsonError();
 }
Example #5
0
 function settings($action)
 {
     global $_out, $_struct;
     if (($xml = $this->getDataXML()) && ($e = $xml->getElementById('settings'))) {
         $form = new form($e);
         $form->replaceURI(array('MODULE' => $this->getId(), 'SECTION' => $this->getSection()->getId(), 'PATH_DATA_FILE_CLIENT' => ABS_PATH_DATA_CLIENT . ap::id($this->getSection()->getId()) . '.xml', 'PATH_DATA_FILE_AP' => ABS_PATH_DATA_AP . ap::id($this->getSection()->getId()) . '.xml'));
         if ($ff = $form->getField('section')) {
             apSectionEdit::seclist(ap::getClientstructure()->de(), $ff, $ar = array());
         }
         switch ($action) {
             case 'update':
             case 'apply_update':
                 $form->save($_REQUEST);
                 break;
             case 'edit':
                 if (($id = param('section')) && ($sec = $_struct->getSection($id)) && ($modules = $sec->getModules())) {
                     $xml = new xml(null, 'modules', false);
                     foreach ($modules as $m) {
                         $xml->de()->appendChild($xml->importNode($m->getRootElement(), false));
                     }
                     ap::ajaxResponse($xml);
                 }
                 break;
         }
         $form->load();
         $_out->addSectionContent($form->getRootElement());
         $this->addTemplate('tpl.xsl');
     }
 }
Example #6
0
 /**
  * Returns the current page number
  *
  * @return int
  */
 public function page()
 {
     if (!is_null($this->page)) {
         return $this->page;
     }
     if ($this->options['page']) {
         $this->page = $this->options['page'];
     } else {
         $this->page = $this->options['method'] == 'query' ? get($this->options['variable']) : param($this->options['variable']);
     }
     // make sure the page is an int
     $this->page = intval($this->page);
     // set the first page correctly
     if ($this->page == 0) {
         $this->page = 1;
     }
     // sanitize the page if too low
     if ($this->page < 1) {
         $this->redirect();
         $this->page = 1;
     }
     // sanitize the page if too high
     if ($this->page > $this->pages && $this->count > 0) {
         $this->redirect();
         $this->page = $this->lastPage();
     }
     // return the sanitized page number
     return $this->page;
 }
Example #7
0
/**
 * Tagcloud plugin
 *
 * @author Bastian Allgeier <*****@*****.**>
 * @version 2.0.0
 */
function tagcloud($parent, $options = array())
{
    // default values
    $defaults = array('limit' => false, 'field' => 'tags', 'children' => 'visible', 'baseurl' => $parent->url(), 'param' => 'tag', 'sort' => 'results', 'sortdir' => 'desc');
    // merge defaults and options
    $options = array_merge($defaults, $options);
    switch ($options['children']) {
        case 'invisible':
            $children = $parent->children()->invisible();
            break;
        case 'visible':
            $children = $parent->children()->visible();
            break;
        default:
            $children = $parent->children();
            break;
    }
    $tags = $children->pluck($options['field'], ',');
    $tags = array_count_values($tags);
    $cloud = array();
    $ds = DS == '/' ? ':' : ';';
    foreach ($tags as $tag => $count) {
        $cloud[$tag] = new Obj(array('results' => $count, 'name' => $tag, 'url' => $options['baseurl'] . '/' . $options['param'] . $ds . urlencode($tag), 'isActive' => urldecode(param($options['param'])) == $tag));
    }
    $cloud = new Collection($cloud);
    $cloud = $cloud->sortBy($options['sort'], $options['sortdir']);
    if ($options['limit']) {
        $cloud = $cloud->limit($options['limit']);
    }
    return $cloud;
}
Example #8
0
 public function search()
 {
     $criteria = new CDbCriteria();
     $criteria->compare('page', $this->page, true);
     $criteria->compare('is_offline', $this->is_offline, true);
     return new CActiveDataProvider($this, array('criteria' => $criteria, 'sort' => array('defaultOrder' => 'date_created DESC'), 'pagination' => array('pageSize' => param('adminPaginationPageSize', 20))));
 }
Example #9
0
function reserv_permit($ruid, $euid, $confirm)
{
    global $xoopsUser, $xoopsModule, $isadmin, $xoopsModuleConfig;
    if (!is_object($xoopsUser)) {
        if ($confirm == param('key')) {
            return true;
        }
        if ($xoopsModuleConfig['member_only'] == ACCEPT_MEMBER) {
            return false;
        }
        return true;
    }
    // administrator has permit
    if ($isadmin) {
        return true;
    }
    $uid = $xoopsUser->getVar('uid');
    // reservation person
    if ($uid == $ruid && $confirm == param('key')) {
        return true;
    }
    // event poster
    if ($uid == $euid) {
        return true;
    }
    return false;
}
Example #10
0
 public function actionIndex($tab = null)
 {
     $allUsers = $pages = null;
     $itemsProvider = new CArrayDataProvider(array());
     $this->setActiveMenu('my_mailbox');
     $return = Messages::getAllContactUsers(Yii::app()->user->id);
     if ($return) {
         $allUsers = $return['allUsers'];
         $pages = $return['pages'];
         if (count($allUsers)) {
             $itemsProvider = new CArrayDataProvider($allUsers, array('pagination' => array('pageSize' => param('userPaginationPageSize', 20))));
         }
     }
     switch ($tab) {
         case "inbox":
             $messages = Messages::model()->findAll('id_userTo=:toUser AND is_deleted<>:isDeleted', [':toUser' => Yii::app()->user->id, ':isDeleted' => Messages::MESSAGE_ACTIVE]);
             break;
         case "outbox":
             $messages = Messages::model()->findAll('id_userFrom=:fromUser AND is_deleted<>:isDeleted', [':fromUser' => Yii::app()->user->id, ':isDeleted' => Messages::MESSAGE_ACTIVE]);
             break;
         case "admin":
             $sql = "select * from bt_messages WHERE is_deleted<>" . Messages::MESSAGE_ACTIVE . "\n                              AND EXISTS(select null FROM bt_users WHERE id=id_userFrom\n                                                                      AND role IN('admin','moderator'))";
             $messages = Messages::model()->findBySql($sql);
             break;
         default:
             $messages = Messages::model()->findAll('id_userTo=:toUser AND is_deleted<>:isDeleted', [':toUser' => Yii::app()->user->id, ':isDeleted' => Messages::MESSAGE_ACTIVE]);
             break;
     }
     $this->render('index', array('allUsers' => $allUsers, 'pages' => $pages, 'itemsProvider' => $itemsProvider, 'messages' => $messages));
 }
Example #11
0
 protected function body()
 {
     echo '<div class="error-wrapper">';
     echo '<h1>We have an error!!</h1>';
     echo '<h2>The error is: ' . param('error') . '</h2>';
     echo '</div>';
 }
 function b_wp_calendar_show($option, $wp_num = "")
 {
     global $wpdb, $siteurl, $wp_id, $wp_inblock, $xoopsConfig, $use_cache, $m, $monthnum, $year, $wp_mod, $wp_base;
     $id = 1;
     $use_cache = 1;
     if ($wp_num == "") {
         $wp_id = $wp_num;
         $wp_inblock = 1;
         include dirname(__FILE__) . '/../wp-config.php';
         $wp_inblock = 0;
     }
     if (current_wp()) {
         param('m', 'integer', '');
         param('monthnum', 'integer', '');
         param('year', 'integer', '');
         $m = array_key_exists('m', $_GET) ? $_GET['m'] : '';
         $monthnum = array_key_exists('monthnum', $_GET) ? $_GET['monthnum'] : '';
         $year = array_key_exists('year', $_GET) ? $_GET['year'] : '';
     }
     ob_start();
     block_style_get($wp_num);
     get_calendar(1);
     $block['content'] = ob_get_contents();
     ob_end_clean();
     return $block;
 }
Example #13
0
 function run()
 {
     global $_out, $_sec;
     if (ap::isCurrentModule($this)) {
         ap::addMessage($this->getMessage());
         if ($form = $this->getForm()) {
             $form->replaceURI(array('ID' => $_sec->getId(), 'MD' => $this->getId(), 'PARENT' => $this->getSection()->GetParent()->getId()));
             switch ($action = param('action')) {
                 case 'save':
                     $values = $this->initImages($form, true);
                     $values = array_merge($_REQUEST, $values);
                     $form->save($values);
                     $this->updateImagesSize($form);
                     $this->redirect('save_ok');
                     break;
                 case 'fileinfo':
                     if (($path = urldecode(param('path'))) && ($f = ap::getFileInfo($_SERVER['DOCUMENT_ROOT'] . $path))) {
                         $f['path'] = $path;
                         $xml = new xml(null, 'file', false);
                         foreach ($f as $tagName => $value) {
                             $xml->de()->appendChild($xml->createElement($tagName, null, $value));
                         }
                         ap::ajaxResponse($xml);
                     }
                     vdump('Error file not found ' . $path);
                     break;
             }
             $this->initImages($form, false);
             $form->load();
             $_out->elementIncludeTo($form->getRootElement(), '/page/section');
         } else {
             throw new Exception('Form not found', EXCEPTION_XML);
         }
     }
 }
Example #14
0
 public function search()
 {
     $criteria = new CDbCriteria();
     $tmp = 'title_' . Yii::app()->language;
     $criteria->compare('id', $this->id);
     $criteria->compare($tmp, $this->{$tmp}, true);
     if (issetModule('location') && param('useLocation', 1)) {
         $criteria->compare('loc_country', $this->loc_country);
         $criteria->compare('loc_region', $this->loc_region);
         $criteria->compare('loc_city', $this->loc_city);
     } else {
         $criteria->compare('city_id', $this->city_id);
     }
     $criteria->addCondition('owner_id = ' . Yii::app()->user->id);
     if ($this->active === '0' || $this->active) {
         $criteria->addCondition('active = :active');
         $criteria->params[':active'] = $this->active;
     }
     if ($this->owner_active === '0' || $this->owner_active) {
         $criteria->addCondition('owner_active = :active');
         $criteria->params[':active'] = $this->owner_active;
     }
     if ($this->type) {
         $criteria->addCondition('type = :type');
         $criteria->params[':type'] = $this->type;
     }
     if ($this->obj_type_id) {
         $criteria->addCondition('obj_type_id = :obj_type_id');
         $criteria->params[':obj_type_id'] = $this->obj_type_id;
     }
     $criteria->addCondition('active <> :draft');
     $criteria->params['draft'] = Apartment::STATUS_DRAFT;
     $criteria->addInCondition('type', self::availableApTypesIds());
     return new CActiveDataProvider($this, array('criteria' => $criteria, 'sort' => array('defaultOrder' => 'id DESC'), 'pagination' => array('pageSize' => param('userPaginationPageSize', 20))));
 }
Example #15
0
 protected function onValidateId()
 {
     $id = param("id");
     if (!hasPerm(AUTH_MGR) || is_null(param("id"))) {
         setParam("id", $_SESSION["empId"]);
     }
 }
Example #16
0
 public function getCreateTime($format = null)
 {
     if (null === $format) {
         $format = param('formatShortDateTime');
     }
     return date($format, $this->create_time);
 }
Example #17
0
 public function actionIndex()
 {
     if (isFree()) {
         $this->redirect(array('config', 'lang' => param('langToInstall', 'en')));
     }
     $this->render('index');
 }
Example #18
0
 /**
  * Load data from Request form fields.
  *
  * @return boolean true if loaded data seems valid.
  */
 function load_from_Request()
 {
     global $Messages, $localtimenow;
     // Group ID
     param('ivc_grp_ID', 'integer');
     param_check_not_empty('ivc_grp_ID', T_('Please select a group'));
     $this->set_from_Request('grp_ID', 'ivc_grp_ID', true);
     // Code
     param('ivc_code', 'string');
     param_check_not_empty('ivc_code', T_('You must provide an invitation code!'));
     param_check_regexp('ivc_code', '#^[A-Za-z0-9\\-_]{3,32}$#', T_('Invitation code must be from 3 to 32 letters, digits or signs "-", "_".'));
     $this->set_from_Request('code', 'ivc_code');
     // Expire date
     if (param_date('ivc_expire_date', T_('Please enter a valid date.'), true) && param_time('ivc_expire_time')) {
         // If date and time were both correct we may set the 'expire_ts' value
         $this->set('expire_ts', form_date(get_param('ivc_expire_date'), get_param('ivc_expire_time')));
     }
     // Source
     param('ivc_source', 'string');
     $this->set_from_Request('source', 'ivc_source', true);
     if (mysql2timestamp($this->get('expire_ts')) < $localtimenow) {
         // Display a warning if date is expired
         $Messages->add($this->ID == 0 ? T_('Note: The newly created invitation code is already expired') : T_('Note: The updated invitation code is already expired'), 'warning');
     }
     return !param_errors_detected();
 }
Example #19
0
 /**
  * Load data from Request form fields.
  *
  * @return boolean true if loaded data seems valid.
  */
 function load_from_Request()
 {
     // Name
     $tag_name = param('tag_name', 'string', true);
     param_check_regexp('tag_name', '/^[^,]+$/', T_('Tags cannot contain commas.'));
     $this->set('name', $tag_name);
     if ($existing_tag_ID = $this->dbexists('tag_name', $tag_name)) {
         // Other tag already exists with the same name:
         if (empty($this->ID)) {
             // Suggest to edit existing tag for new creating tag
             param_error('tag_name', sprintf(T_('This tag already exists. Do you want to <a %s>edit the existing tag</a>?'), 'href="?ctrl=itemtags&amp;action=edit&amp;tag_ID=' . $existing_tag_ID . '"'));
         } else {
             // Suggest to merge for existing tag
             global $DB, $Messages, $display_merge_tags_form;
             $new_tag_posts = intval($DB->get_var('SELECT COUNT( itag_itm_ID ) FROM T_items__itemtag WHERE itag_tag_ID = ' . $DB->quote($existing_tag_ID)));
             $old_tag_posts = intval($DB->get_var('SELECT COUNT( itag_itm_ID ) FROM T_items__itemtag WHERE itag_tag_ID = ' . $DB->quote($this->ID)));
             // Set this to know to display a confirmation message to merge this tag
             $this->merge_tag_ID = $existing_tag_ID;
             $this->merge_message = sprintf(T_('The previously named "%s" tag (applied to %d posts) will be merged with the existing "%s" tag (already applied to %d posts). Are you sure?'), $this->dget('name'), $old_tag_posts, $tag_name, $new_tag_posts, 'href="?ctrl=itemtags&amp;action=merge&amp;old_tag_ID=' . $this->ID . '&amp;tag_ID=' . $existing_tag_ID . '&amp;' . url_crumb('tag') . '"', 'href="?ctrl=itemtags&amp;action=edit&amp;tag_ID=' . $this->ID . '"');
             // Return FALSE to don't save current changes without confirmation
             return false;
         }
     }
     return !param_errors_detected();
 }
Example #20
0
 public function search()
 {
     $criteria = new CDbCriteria();
     $criteria->compare('title_' . Yii::app()->language, $this->{'title_' . Yii::app()->language}, true);
     $criteria->order = 'sorter ASC';
     return new CActiveDataProvider($this, array('criteria' => $criteria, 'pagination' => array('pageSize' => param('adminPaginationPageSize', 20))));
 }
Example #21
0
 public function search()
 {
     $criteria = new CDbCriteria();
     $criteria->compare('id', $this->id);
     $criteria->compare('id_message', $this->id_message);
     return new CActiveDataProvider($this, array('criteria' => $criteria, 'sort' => array('defaultOrder' => 'sorter ASC'), 'pagination' => array('pageSize' => param('adminPaginationPageSize', 20))));
 }
Example #22
0
function tagcloud($parent, $options = array())
{
    global $site;
    // default values
    $defaults = array('limit' => false, 'field' => 'tags', 'children' => 'visible', 'baseurl' => $parent->url(), 'param' => 'tag', 'sort' => 'name', 'sortdir' => 'asc');
    // merge defaults and options
    $options = array_merge($defaults, $options);
    switch ($options['children']) {
        case 'invisible':
            $children = $parent->children()->invisible();
            break;
        case 'visible':
            $children = $parent->children()->visible();
            break;
        default:
            $children = $parent->children();
            break;
    }
    $cloud = array();
    foreach ($children as $p) {
        $tags = str::split($p->{$options}['field']());
        foreach ($tags as $t) {
            if (isset($cloud[$t])) {
                $cloud[$t]->results++;
            } else {
                $cloud[$t] = new obj(array('results' => 1, 'name' => $t, 'url' => $options['baseurl'] . '/' . $options['param'] . ':' . $t, 'isActive' => param($options['param']) == $t ? true : false));
            }
        }
    }
    $cloud = a::sort($cloud, $options['sort'], $options['sortdir']);
    if ($options['limit']) {
        $cloud = array_slice($cloud, 0, $options['limit']);
    }
    return $cloud;
}
Example #23
0
 public function actionPosts($name)
 {
     $tag = urldecode($name);
     $this->setSiteTitle(t('tag_posts', 'main', array('{name}' => $tag)));
     // @todo 关键字的描述没有指定
     $this->setPageKeyWords($tag);
     $this->setPageDescription(t('tag_posts_page_description', 'main', array('{name}' => $tag)));
     cs()->registerMetaTag('all', 'robots');
     $cmd = app()->getDb()->createCommand()->select('p.id')->from(TABLE_TAG . ' t')->where('t.name = :tagname', array(':tagname' => $tag))->join(TABLE_POST_TAG . ' pt', 'pt.tag_id = t.id')->join(TABLE_POST . ' p', 'p.id = pt.post_id');
     $ids = $cmd->queryColumn();
     if (count($ids) > 0) {
         $criteria = new CDbCriteria();
         if (param('post_list_type') == POST_LIST_TYPE_TITLE) {
             $criteria->select = array('t.id', 't.title', 't.visit_nums', 't.comment_nums', 't.create_time');
         }
         $criteria->order = 't.istop, t.create_time desc, t.id desc';
         $criteria->addInCondition('t.id', $ids)->addCondition('t.state = :state');
         $criteria->params += array(':state' => POST_STATE_ENABLED);
         $count = Post::model()->count($criteria);
         $pages = new CPagination($count);
         $pages->setPageSize(param('postCountOfTitleListPage'));
         $pages->applyLimit($criteria);
         $posts = Post::model()->findAll($criteria);
     }
     $listType = param('post_list_type');
     $view = $listType == POST_LIST_TYPE_SUMMARY ? '/post/_summary_list' : '/post/_title_list';
     $blockTitle = t('tag_posts', 'main', array('{name}' => $tag));
     $data = array('blockTitle' => $blockTitle, 'posts' => $posts, 'pages' => $pages);
     $postListHtml = $this->renderPartial($view, $data, true);
     $this->render('posts', array('postListHtml' => $postListHtml));
 }
Example #24
0
 function run()
 {
     global $_out;
     if (ap::isCurrentModule($this)) {
         /* локализация */
         ap::translate($this->getSection()->getXML(), array('//@title', '//field[@label]/@label', '//button[@value]/@value', '//rowlist/col[@header]/@header'), PATH_MODULE . __CLASS__ . '/translate.php');
         ap::addMessage($this->getMessage());
         $row = $this->getRow();
         switch ($action = param('action')) {
             case 'delete':
                 if ($row && ($tl = $this->getPackages())) {
                     if (!is_array($row)) {
                         $row = array($row);
                     }
                     foreach ($row as $v) {
                         if ($e = $tl->getById($v)) {
                             $tl->remove($e);
                         }
                     }
                     $tl->getXML()->save();
                     $this->redirect('delete_ok');
                 } else {
                     $this->redirect('delete_fail');
                 }
                 break;
             default:
                 if ($rl = $this->getRowList()) {
                     $_out->elementIncludeTo($rl->getRootElement(), '/page/section');
                 }
         }
     }
 }
Example #25
0
 protected function __autoload()
 {
     parent::__autoload();
     if (MODULE_NAME == "Home" || MODULE_NAME == "User") {
         session('loginout_url', U('/'));
     } else {
         session('loginout_url', U(MODULE_NAME . '/' . CONTROLLER_NAME . '/' . ACTION_NAME, param()));
     }
     if (MODULE_NAME == "Home" || MODULE_NAME == "User" && (CONTROLLER_NAME == "Register" || CONTROLLER_NAME == "Login")) {
         session('login_url', U('/'));
     } else {
         session('login_url', U(MODULE_NAME . '/' . CONTROLLER_NAME . '/' . ACTION_NAME, param()));
     }
     if (C("SITE_STATUS") != 1 && !$_SESSION["admin_member_id"]) {
         $this->error("站点已关闭");
     }
     $this->__init();
     $img_type = array('jpg', 'gif', 'png', 'jpeg', 'bmp');
     /*设定图片格式,退款凭证显示图标用*/
     $language = get_language_recommend_cache();
     /*查询推荐的源语言*/
     $all_themes = array_id_key(get_themes_cache());
     /*查询平台拥有的所有皮肤,并将ID转换成KEY*/
     $data['all_theme'] = $all_themes;
     $data['recommend_language'] = $language;
     $data['img_type'] = $img_type;
     $this->assign($data);
     /*@刘巧刷新消息*/
     session('news_num', get_news_recode(session('home_member_id')));
 }
Example #26
0
 public static function saveOther(Apartment $ad)
 {
     if (ApartmentVideo::saveVideo($ad)) {
         $ad->panoramaFile = CUploadedFile::getInstance($ad, 'panoramaFile');
         $ad->scenario = 'panorama';
         if (!$ad->validate()) {
             return false;
         }
     }
     $city = "";
     if (issetModule('location')) {
         $city .= $ad->locCountry ? $ad->locCountry->getStrByLang('name') : "";
         $city .= $city && $ad->locCity ? ", " : "";
         $city .= $ad->locCity ? $ad->locCity->getStrByLang('name') : "";
     } else {
         $city = $ad->city ? $ad->city->getStrByLang('name') : "";
     }
     // data
     if ($ad->address && $city && (param('useGoogleMap', 1) || param('useYandexMap', 1) || param('useOSMMap', 1))) {
         if (!$ad->lat && !$ad->lng) {
             # уже есть
             $coords = Geocoding::getCoordsByAddress($ad->address, $city);
             if (isset($coords['lat']) && isset($coords['lng'])) {
                 $ad->lat = $coords['lat'];
                 $ad->lng = $coords['lng'];
             }
         }
     }
     return true;
 }
Example #27
0
 public function actionSearch($type = 'all')
 {
     if (!param('useShowUserInfo')) {
         throw new CHttpException(403, tt('Displays information about the users is disabled by the administrator', 'users'));
     }
     $usersListPage = Menu::model()->findByPk(Menu::USERS_LIST_ID);
     if ($usersListPage) {
         if ($usersListPage->active == 0) {
             throw404();
         }
     }
     $this->showSearchForm = false;
     $existTypes = User::getTypeList('withAll');
     $criteria = new CDbCriteria();
     $type = in_array($type, array_keys($existTypes)) ? $type : 'all';
     //$criteria->compare('active', 1);
     if ($type != 'all') {
         $criteria->compare('type', $type);
     }
     //$criteria->compare('isAdmin', 0);
     $criteria->with = array('countAdRel');
     $sort = new CSort();
     $sort->sortVar = 'sort';
     $sort->defaultOrder = 'date_created DESC';
     $sort->multiSort = true;
     $sort->attributes = array('username' => array('label' => tc('by username'), 'default' => 'desc'), 'date_created' => array('label' => tc('by date of registration'), 'default' => 'desc'));
     $dataProvider = new CActiveDataProvider(User::model()->active(), array('criteria' => $criteria, 'sort' => $sort, 'pagination' => array('pageSize' => 12)));
     $this->render('search', array('dataProvider' => $dataProvider, 'type' => $type));
 }
Example #28
0
/** 외부로그인
 * @class io 
 * @param
		-skin: 로그인되어 있을 떄 스킨
		-skin_not: 로그인이 되어있지 않을 때 스킨
		-id: 스킨 적용할 게시판 번호 or 아이디
		-group: 스킨 적용할 그룹 번호
		-skip_style: 기본 스타일 로드를 스킵할지 선택 합니다.
 * @return Array 스킨이 있을 경우엔 리턴 안됨
 */
function outlogin($param)
{
    global $mini;
    $param = param($param);
    $skin = '';
    // 없을 경우 기본 그룹으로 지정
    if (empty($param['id']) && empty($param['group'])) {
        $param['group'] = 1;
    }
    $q = '';
    if (!empty($param['id'])) {
        $q = "id={$param['id']}";
        $data_board = getBoard($param['id'], 1);
        $data_site = getSite($data_board['site'], 1);
    }
    if (!empty($param['group'])) {
        $q = "group={$param['group']}";
        $data_site = getSite($param['group'], 1);
    }
    // 로그인 되어 있을 떄
    if (!empty($mini['log'])) {
        $val =& $mini['member'];
        $val = array_merge($val, array('url_logout' => "{$mini['dir']}login.php?mode=logout&amp;url=" . url(), 'url_myinfo' => "{$mini['dir']}member.php?mode=modify&amp;no={$mini['member']['no']}&amp;{$q}&amp;url=" . url(), 'url_mymenu' => "{$mini['dir']}mymenu.php?mode=memo&amp;no={$mini['member']['no']}&amp;{$q}&amp;url=" . url(), 'url_admin' => "{$mini['dir']}admin/", 'js_back' => "onclick='history.back();'", 'js_back2' => "onclick='history.go(-2);'", 'is_admin' => !empty($mini['member']['level_admin']), 'is_god' => !empty($mini['member']['level_admin']) && $mini['member']['level_admin'] == 4, 'date' => $mini['date'], 'ip' => $mini['ip']));
        if (!empty($val['url_myinfo'])) {
            $val['pop_myinfo'] = "iiPopup.init({ url: \"{$val['url_myinfo']}\", width:iiSize[\"myinfo\"][0], height:iiSize[\"myinfo\"][1], close: true });";
        }
        if (!empty($val['url_mymenu'])) {
            $val['pop_mymenu'] = "iiPopup.init({ url: \"{$val['url_mymenu']}\", width:iiSize[\"mymenu\"][0], height:iiSize[\"mymenu\"][1] });";
        }
        if (!empty($param['skin'])) {
            $skin = $param['skin'];
        }
    } else {
        $val = array('form_start' => "\n\t\t\t\t<form id='form_login' name='form_login' action='{$mini['dir']}login.php?url=" . url() . "' method='post'>\n\t\t\t\t<input type='hidden' name='mode' value='login' />\n\t\t\t", 'form_end' => "</form>\n\t\t\t\t<script type='text/javascript' src='{$mini['dir']}js/mootools.js'></script>\n\t\t\t\t<script type='text/javascript' src='{$mini['dir']}js/ii.js'></script>\n\t\t\t\t<script type='text/javascript' src='{$mini['dir']}js/ii.form.js'></script>\n\t\t\t\t<script type='text/javascript' src='{$mini['dir']}js/size.js'></script>\n\t\t\t\t<script type='text/javascript' src='{$mini['dir']}js/md5.js'></script>\n\t\t\t\t<script type='text/javascript' src='{$mini['dir']}js/sha1.js'></script>\n\t\t\t\t<script type='text/javascript'>\n\t\t\t\t//<![CDATA[\n\t\t\t\t\tvar miniDir = '{$mini['dir']}';\n\t\t\t\t\tvar secure_pass = '******'secure_pass']}';\n\t\t\t\t\tvar ip = '{$mini['ip']}';\n\t\t\t\t\tvar session_id = Cookie.get('" . ini_get('session.name') . "');\n\n\n//\t\t\t\t\tvar form_outlogin = \$('outlogin');\n//\t\t\t\t\tform_outlogin.submitAction = function () {\n//\t\t\t\t\t\terror(\"랄라\");\n//\t\t\t\t\t\treturn false;\n//\t\t\t\t\t};\n//\t\t\t\t\tform_outlogin.setForm();\n\t\t\t\t//]]>\n\t\t\t\t</script>\n\t\t\t\t<script type='text/javascript' src='{$mini['dir']}js/mini.login.js'></script>\n\t\t\t", 'form_autologin' => "<input type='checkbox' name='autologin' value='1' id='outlogin_autologin' />", 'url_login' => "{$mini['dir']}login.php?{$q}&amp;url=" . url(), 'url_join' => "{$mini['dir']}member.php?{$q}&amp;url=" . url(), 'url_find' => "{$mini['dir']}login.find.php?{$q}&amp;url=" . url(), 'date' => $mini['date'], 'ip' => $mini['ip']);
        if (!empty($val['url_find'])) {
            $val['pop_find'] = "iiPopup.init({ url: \"{$val['url_find']}\", width:iiSize[\"find\"][0], height:iiSize[\"find\"][1] });";
        }
        $val['pop_login'] = "******"{$val['url_login']}\", width:iiSize[\"login\"][0], height:iiSize[\"login\"][1] });";
        $val['pop_join'] = "iiPopup.init({ url: \"{$val['url_join']}\", width:iiSize[\"join\"][0], height:iiSize[\"join\"][1], close: true });";
        if (!empty($param['skin_not'])) {
            $skin = $param['skin_not'];
        }
    }
    urlToLink($val);
    // 변환
    if (!empty($skin)) {
        $preg_left = $preg_right = array();
        $preg_left[] = "/\\[:([a-z0-9_]+)\\.([a-z0-9_]+)\\.([a-z0-9_]+):\\]/ie";
        $preg_right[] = "\$val['\\1']['\\2']['\\3']";
        $preg_left[] = "/\\[:([a-z0-9_]+)\\.([a-z0-9_]+):\\]/ie";
        $preg_right[] = "\$val['\\1']['\\2']";
        $preg_left[] = "/\\[:([a-z0-9_]+):\\]/ie";
        $preg_right[] = "\$val['\\1']";
        $skin = preg_replace($preg_left, $preg_right, $skin);
        echo $skin;
    } else {
        return $val;
    }
}
Example #29
0
 public function rules()
 {
     $return = array(array('body', 'required'), array('verifyCode', Yii::app()->user->isGuest || param('useCaptchaCommentsForRegistered', 1) ? 'required' : 'safe'), array('verifyCode', 'captcha', 'allowEmpty' => !(Yii::app()->user->isGuest || param('useCaptchaCommentsForRegistered', 1))), array('user_name, user_email', 'length', 'max' => 64), array('user_email', 'email'), array('rating, url, modelName, modelId, rel', 'safe'));
     if (Yii::app()->user->isGuest) {
         $return[] = array('user_name, user_email', 'required');
     }
     return $return;
 }
 /**
  * Load data from Request form fields.
  *
  * @todo fp> check that we are not creating a loop!
  *
  * @return boolean true if loaded data seems valid.
  */
 function load_from_request()
 {
     parent::load_from_Request();
     if (param($this->dbprefix . 'parent_ID', 'integer', -1) !== -1) {
         $this->set_from_Request('parent_ID');
     }
     return !param_errors_detected();
 }