Пример #1
0
 /**
  * @param null $obj
  */
 public function __construct($object = null)
 {
     $this->object = $object;
     $this->config = $object->config;
     $xoops = Xoops::getInstance();
     parent::__construct('', 'xcaptchaform', $xoops->getEnv('PHP_SELF'), 'post', true, 'horizontal');
     $activate = new Xoops\Form\Radio(_AM_XCAPTCHA_ACTIVATE, 'disabled', $this->config['disabled']);
     $activate->addOption(1, _AM_XCAPTCHA_ENABLE);
     $activate->addOption(0, _AM_XCAPTCHA_DISABLE);
     $this->addElement($activate, false);
     $plugin_List = new Xoops\Form\Select(_AM_XCAPTCHA_PLUGINS, 'mode', $this->config['mode']);
     $plugin_List->addOptionArray($this->object->plugin_List);
     $this->addElement($plugin_List, false);
     $this->addElement(new Xoops\Form\Text(_AM_XCAPTCHA_NAME, 'name', 50, 50, $this->config['name']), true);
     $skipmember = new Xoops\Form\Radio(_AM_XCAPTCHA_SKIPMEMBER, 'skipmember', $this->config['skipmember']);
     $skipmember->addOption(1, _AM_XCAPTCHA_ENABLE);
     $skipmember->addOption(0, _AM_XCAPTCHA_DISABLE);
     $this->addElement($skipmember, false);
     $this->addElement(new Xoops\Form\Text(_AM_XCAPTCHA_MAXATTEMPTS, 'maxattempts', 2, 2, $this->config['maxattempts']), true);
     $this->addElement(new Xoops\Form\Hidden('type', 'config'));
     $buttonTray = new Xoops\Form\ElementTray('', '');
     $buttonTray->addElement(new Xoops\Form\Hidden('op', 'save'));
     $buttonTray->addElement(new Xoops\Form\Button('', 'submit', XoopsLocale::A_SUBMIT, 'submit'));
     $buttonTray->addElement(new Xoops\Form\Button('', 'reset', XoopsLocale::A_RESET, 'reset'));
     $buttonCancelSend = new Xoops\Form\Button('', 'cancel', XoopsLocale::A_CANCEL, 'button');
     $buttonCancelSend->setExtra("onclick='javascript:history.go(-1);'");
     $buttonTray->addElement($buttonCancelSend);
     $this->addElement($buttonTray);
 }
Пример #2
0
 /**
  * @param BannersBannerclient $obj
  */
 public function __construct(BannersBannerClient $obj)
 {
     $title = $obj->isNew() ? sprintf(_AM_BANNERS_CLIENTS_ADD) : sprintf(_AM_BANNERS_CLIENTS_EDIT);
     parent::__construct($title, 'form', 'clients.php', 'post', true);
     $this->addElement(new Xoops\Form\Text(_AM_BANNERS_CLIENTS_NAME, 'name', 5, 255, $obj->getVar('bannerclient_name')), true);
     // date
     if ($obj->isNew()) {
         $user = '******';
     } else {
         if ($obj->getVar('bannerclient_uid') == 0) {
             $user = '******';
         } else {
             $user = '******';
         }
     }
     $uname = new Xoops\Form\ElementTray(_AM_BANNERS_CLIENTS_UNAME, '');
     $type = new Xoops\Form\Radio('', 'user', $user);
     $options = array('N' => _AM_BANNERS_CLIENTS_UNAME_NO, 'Y' => _AM_BANNERS_CLIENTS_UNAME_YES);
     $type->addOptionArray($options);
     $uname->addElement($type);
     $uname->addElement(new Xoops\Form\SelectUser('', 'uid', false, $obj->getVar('bannerclient_uid'), 1, false));
     $this->addElement($uname);
     $this->addElement(new Xoops\Form\TextArea(_AM_BANNERS_CLIENTS_EXTRAINFO, 'extrainfo', $obj->getVar('bannerclient_extrainfo'), 5, 5), false);
     if (!$obj->isNew()) {
         $this->addElement(new Xoops\Form\Hidden('cid', $obj->getVar('bannerclient_cid')));
     }
     $this->addElement(new Xoops\Form\Hidden('op', 'save'));
     $this->addElement(new Xoops\Form\Button('', 'submit', XoopsLocale::A_SUBMIT, 'submit'));
 }
Пример #3
0
 /**
  * @param ImagesCategory|XoopsObject $obj
  */
 public function __construct(ImagesCategory $obj)
 {
     $xoops = Xoops::getInstance();
     $perm_handler = $xoops->getHandlerGroupperm();
     if ($obj->isNew()) {
         $title = _AM_IMAGES_CAT_ADD;
         $read = FixedGroups::ADMIN;
         $write = FixedGroups::ADMIN;
     } else {
         $title = _AM_IMAGES_CAT_EDIT;
         $read = $perm_handler->getGroupIds('imgcat_read', $obj->getVar('imgcat_id'), $xoops->module->getVar('mid'));
         $write = $perm_handler->getGroupIds('imgcat_write', $obj->getVar('imgcat_id'), $xoops->module->getVar('mid'));
     }
     parent::__construct($title, 'imagecat_form', $xoops->getEnv('PHP_SELF'), 'post', true);
     $tabtray = new Xoops\Form\TabTray('', 'uniqueid', $xoops->getModuleConfig('jquery_theme', 'system'));
     $tab1 = new Xoops\Form\Tab(_MI_IMAGES_CATEGORIES, 'tabid-1');
     $tab1->addElement(new Xoops\Form\Text(_AM_IMAGES_CAT_NAME, 'imgcat_name', 50, 255, $obj->getVar('imgcat_name')), true);
     $tab1->addElement(new Xoops\Form\Text(_AM_IMAGES_CAT_SIZE, 'imgcat_maxsize', 2, 8, $obj->getVar('imgcat_maxsize')));
     $tab1->addElement(new Xoops\Form\Text(_AM_IMAGES_CAT_WIDTH, 'imgcat_maxwidth', 1, 4, $obj->getVar('imgcat_maxwidth')));
     $tab1->addElement(new Xoops\Form\Text(_AM_IMAGES_CAT_HEIGHT, 'imgcat_maxheight', 1, 4, $obj->getVar('imgcat_maxheight')));
     $tab1->addElement(new Xoops\Form\Text(_AM_IMAGES_WEIGHT, 'imgcat_weight', 1, 5, $obj->getVar('imgcat_weight')));
     $tab1->addElement(new Xoops\Form\RadioYesNo(_AM_IMAGES_CAT_DISPLAY, 'imgcat_display', $obj->getVar('imgcat_display')));
     if ($obj->isNew()) {
         $store = new Xoops\Form\Radio(_AM_IMAGES_CAT_STR_TYPE . '<div class="red">' . _AM_IMAGES_CAT_STR_TYOPENG . '</div>', 'imgcat_storetype', 'file');
         $store->addOptionArray(array('file' => _AM_IMAGES_CAT_ASFILE, 'db' => _AM_IMAGES_CAT_INDB));
         $tab1->addElement($store);
     } else {
         $store = array('db' => _AM_IMAGES_CAT_INDB, 'file' => _AM_IMAGES_CAT_ASFILE);
         $tab1->addElement(new Xoops\Form\Label(_AM_IMAGES_CAT_STR_TYPE, $store[$obj->getVar('imgcat_storetype')]));
         $this->addElement(new Xoops\Form\Hidden('imgcat_storetype', $obj->getVar('imgcat_storetype')));
     }
     $tab2 = new Xoops\Form\Tab(_MI_IMAGES_PERMISSIONS, 'tabid-2');
     $tab2->addElement(new Xoops\Form\SelectGroup(_AM_IMAGES_CAT_READ_GRP, 'readgroup', true, $read, 5, true));
     $tab2->addElement(new Xoops\Form\SelectGroup(_AM_IMAGES_CAT_WRITE_GRP, 'writegroup', true, $write, 5, true));
     $tabtray->addElement($tab1);
     $tabtray->addElement($tab2);
     $this->addElement($tabtray);
     $this->addElement(new Xoops\Form\Hidden('imgcat_id', $obj->getVar('imgcat_id')));
     /**
      * Buttons
      */
     $button_tray = new Xoops\Form\ElementTray('', '');
     $button_tray->addElement(new Xoops\Form\Hidden('op', 'save'));
     $button = new Xoops\Form\Button('', 'submit', XoopsLocale::A_SUBMIT, 'submit');
     $button->setClass('btn btn-success');
     $button_tray->addElement($button);
     $button_2 = new Xoops\Form\Button('', 'reset', XoopsLocale::A_RESET, 'reset');
     $button_2->setClass('btn btn-warning');
     $button_tray->addElement($button_2);
     $button_3 = new Xoops\Form\Button('', 'cancel', XoopsLocale::A_CANCEL, 'button');
     $button_3->setExtra("onclick='javascript:history.go(-1);'");
     $button_3->setClass('btn btn-danger');
     $button_tray->addElement($button_3);
     $this->addElement($button_tray);
 }
Пример #4
0
 $msnm_match = new Xoops\Form\SelectMatchOption("", "user_msnm_match");
 $msnm_tray = new Xoops\Form\ElementTray(XoopsLocale::MSNM, "&nbsp;");
 $msnm_tray->addElement($msnm_match);
 $msnm_tray->addElement($msnm_text);
 $location_text = new Xoops\Form\Text(XoopsLocale::LOCATION_CONTAINS, "user_from", 30, 100);
 $occupation_text = new Xoops\Form\Text(XoopsLocale::OCCUPATION_CONTAINS, "user_occ", 30, 100);
 $interest_text = new Xoops\Form\Text(XoopsLocale::INTEREST_CONTAINS, "user_intrest", 30, 100);
 $lastlog_more = new Xoops\Form\Text(SystemLocale::LAST_LOGIN_GREATER_THAN_X, "user_lastlog_more", 10, 5);
 $lastlog_less = new Xoops\Form\Text(SystemLocale::LAST_LOGIN_LESS_THAN_X, "user_lastlog_less", 10, 5);
 $reg_more = new Xoops\Form\Text(SystemLocale::REGISTRATION_DATE_GREATER_THAN_X, "user_reg_more", 10, 5);
 $reg_less = new Xoops\Form\Text(SystemLocale::REGISTRATION_DATE_LESS_THAN_X, "user_reg_less", 10, 5);
 $posts_more = new Xoops\Form\Text(SystemLocale::POSTS_NUMBER_GREATER_THAN_X, "user_posts_more", 10, 5);
 $posts_less = new Xoops\Form\Text(SystemLocale::POSTS_NUMBER_LESS_THAN_X, "user_posts_less", 10, 5);
 $mailok_radio = new Xoops\Form\Radio(XoopsLocale::TYPE_OF_USERS_TO_SHOW, "user_mailok", "both");
 $mailok_radio->addOptionArray(array("mailok" => XoopsLocale::ONLY_USERS_THAT_ACCEPT_EMAIL, "mailng" => XoopsLocale::ONLY_USERS_THAT_DO_NOT_ACCEPT_EMAIL, "both" => XoopsLocale::ALL_USERS));
 $type_radio = new Xoops\Form\Radio(XoopsLocale::TYPE_OF_USERS_TO_SHOW, "user_type", "both");
 $type_radio->addOptionArray(array("actv" => SystemLocale::ONLY_ACTIVE_USERS, "inactv" => SystemLocale::ONLY_INACTIVE_USERS, "both" => XoopsLocale::ALL_USERS));
 $sort_select = new Xoops\Form\Select(XoopsLocale::SORT_BY, "user_sort", 'uname');
 $sort_select->addOptionArray(array("uname" => XoopsLocale::USER_NAME, "email" => XoopsLocale::EMAIL, "last_login" => XoopsLocale::LAST_LOGIN, "user_regdate" => XoopsLocale::REGISTRATION_DATE, "posts" => XoopsLocale::COMMENTS_POSTS));
 $order_select = new Xoops\Form\Select(XoopsLocale::ORDER, "user_order", 'ASC');
 $order_select->addOptionArray(array("ASC" => XoopsLocale::ASCENDING, "DESC" => XoopsLocale::DESCENDING));
 $limit_text = new Xoops\Form\Text(XoopsLocale::NUMBER_OF_RESULTS_PER_PAGE, "user_limit", 6, 2, 20);
 $submit_button = new Xoops\Form\Button("", "user_submit", XoopsLocale::A_SUBMIT, "submit");
 $form = new Xoops\Form\ThemeForm(XoopsLocale::FIND_USERS, "user_findform", "admin.php?fct=users", 'post', true);
 $form->addElement($uname_tray);
 $form->addElement($name_tray);
 $form->addElement($email_tray);
 $form->addElement($group_select);
 $form->addElement($icq_tray);
 $form->addElement($aim_tray);
 $form->addElement($yim_tray);
Пример #5
0
 $occupation_text = new Xoops\Form\Text(XoopsLocale::OCCUPATION_CONTAINS, "user_occ", 30, 100, @$_POST["user_occ"]);
 $interest_text = new Xoops\Form\Text(XoopsLocale::INTEREST_CONTAINS, "user_intrest", 30, 100, @$_POST["user_intrest"]);
 foreach ($items_range as $var => $title) {
     $more = new Xoops\Form\Text("", "{$var}_more", 10, 5, @$_POST["{$var}_more"]);
     $less = new Xoops\Form\Text("", "{$var}_less", 10, 5, @$_POST["{$var}_less"]);
     $range_tray = new Xoops\Form\ElementTray($title, "&nbsp;-&nbsp;&nbsp;");
     $range_tray->addElement($less);
     $range_tray->addElement($more);
     $form->addElement($range_tray);
     unset($more, $less, $range_tray);
 }
 $mailok_radio = new Xoops\Form\Radio(XoopsLocale::TYPE_OF_USERS_TO_SHOW, "user_mailok", empty($_POST["user_mailok"]) ? "both" : $_POST["user_mailok"]);
 $mailok_radio->addOptionArray(array("mailok" => XoopsLocale::ONLY_USERS_THAT_ACCEPT_EMAIL, "mailng" => XoopsLocale::ONLY_USERS_THAT_DO_NOT_ACCEPT_EMAIL, "both" => XoopsLocale::ALL));
 $avatar_radio = new Xoops\Form\Radio(XoopsLocale::HAS_AVATAR, "user_avatar", empty($_POST["user_avatar"]) ? "both" : $_POST["user_avatar"]);
 $avatar_radio->addOptionArray(array("y" => XoopsLocale::YES, "n" => XoopsLocale::NO, "both" => XoopsLocale::ALL));
 $level_radio = new Xoops\Form\Radio(XoopsLocale::LEVEL, "level", @$_POST["level"]);
 $levels = array(0 => XoopsLocale::ALL, 1 => XoopsLocale::ACTIVE, 2 => XoopsLocale::INACTIVE, 3 => XoopsLocale::DISABLED);
 $level_radio->addOptionArray($levels);
 $member_handler = $xoops->getHandlerMember();
 $groups = $member_handler->getGroupList();
 $groups[0] = XoopsLocale::ALL;
 $group_select = new Xoops\Form\Select(XoopsLocale::GROUP, 'groups', @$_POST['groups'], 3, true);
 $group_select->addOptionArray($groups);
 $ranks = $xoops->service('userrank')->getAssignableUserRankList()->getValue();
 $ranks[0] = XoopsLocale::ALL;
 $rank_select = new Xoops\Form\Select(XoopsLocale::RANK, 'rank', (int) @$_POST['rank']);
 $rank_select->addOptionArray($ranks);
 $form->addElement($url_text);
 $form->addElement($location_text);
 $form->addElement($occupation_text);
 $form->addElement($interest_text);
Пример #6
0
         $form->addElement(new Xoops\Form\Hidden('to_userid', $_POST["to_userid"]));
         $subject = $myts->htmlSpecialChars($myts->stripSlashesGPC($_POST['subject']));
         $message = $myts->htmlSpecialChars($myts->stripSlashesGPC($_POST['message']));
     } else {
         if ($send2 == 1) {
             $form->addElement(new Xoops\Form\Label(_PM_TO, XoopsUser::getUnameFromId($to_userid, false)));
             $form->addElement(new Xoops\Form\Hidden('to_userid', $to_userid));
         } else {
             $form->addElement(new Xoops\Form\SelectUser(_PM_TO, 'to_userid'));
         }
         $subject = "";
         $message = "";
     }
 }
 $form->addElement(new Xoops\Form\Text(_PM_SUBJECTC, 'subject', 4, 100, $subject), true);
 $icons = new Xoops\Form\Radio(XoopsLocale::MESSAGE_ICON, 'msg_image', '', true);
 $subject_icons = XoopsLists::getSubjectsList();
 foreach (array_keys($subject_icons) as $i) {
     $icons->addOption($i, "<img src='" . $xoops->url("images/subject/") . $i . "' alt='" . $i . "' />");
 }
 $form->addElement($icons, false);
 $form->addElement(new Xoops\Form\DhtmlTextArea(_PM_MESSAGEC, 'message', $message, 8, 37), true);
 $form->addElement(new Xoops\Form\RadioYesNo(_PM_SAVEINOUTBOX, 'savecopy', 0));
 $form->addElement(new Xoops\Form\Hidden('op', 'submit'));
 $buttons = new Xoops\Form\ElementTray('');
 $buttons->addElement(new Xoops\Form\Button('', 'submit', XoopsLocale::A_SUBMIT, 'submit'));
 $buttons->addElement(new Xoops\Form\Button('', 'reset', _PM_CLEAR, 'reset'));
 $cancel_send = new Xoops\Form\Button('', 'cancel', _PM_CANCELSEND, 'button');
 $cancel_send->setExtra("onclick='javascript:window.close();'");
 $buttons->addElement($cancel_send);
 $form->addElement($buttons);
Пример #7
0
/**
 * Get {@link Xoops\Form\ThemeForm} for editing a user
 *
 * @param XoopsUser $user
 * @param ProfileProfile|null $profile
 * @param bool $action
 * @return Xoops\Form\ThemeForm
 */
function profile_getUserForm(XoopsUser $user, ProfileProfile $profile = null, $action = false)
{
    $xoops = Xoops::getInstance();
    if ($action === false) {
        $action = $_SERVER['REQUEST_URI'];
    }
    $title = $user->isNew() ? _PROFILE_AM_ADDUSER : XoopsLocale::EDIT_PROFILE;
    $form = new Xoops\Form\ThemeForm($title, 'userinfo', $action, 'post', true);
    /* @var $profile_handler ProfileProfileHandler */
    $profile_handler = \Xoops::getModuleHelper('profile')->getHandler('profile');
    // Dynamic fields
    if (!$profile) {
        $profile = $profile_handler->getProfile($user->getVar('uid'));
    }
    // Get fields
    $fields = $profile_handler->loadFields();
    // Get ids of fields that can be edited
    $gperm_handler = $xoops->getHandlerGroupPermission();
    $editable_fields = $gperm_handler->getItemIds('profile_edit', $xoops->user->getGroups(), $xoops->module->getVar('mid'));
    if ($user->isNew() || $xoops->user->isAdmin()) {
        $elements[0][] = array('element' => new Xoops\Form\Text(XoopsLocale::USERNAME, 'uname', 3, $xoops->user->isAdmin() ? 60 : $xoops->getConfig('maxuname'), $user->getVar('uname', 'e')), 'required' => 1);
        $email_text = new Xoops\Form\Text('', 'email', 4, 60, $user->getVar('email'));
    } else {
        $elements[0][] = array('element' => new Xoops\Form\Label(XoopsLocale::USERNAME, $user->getVar('uname')), 'required' => 0);
        $email_text = new Xoops\Form\Label('', $user->getVar('email'));
    }
    $email_tray = new Xoops\Form\ElementTray(XoopsLocale::EMAIL, '<br />');
    $email_tray->addElement($email_text, $user->isNew() || $xoops->user->isAdmin() ? 1 : 0);
    $weights[0][] = 0;
    $elements[0][] = array('element' => $email_tray, 'required' => 0);
    $weights[0][] = 0;
    if ($xoops->user->isAdmin() && $user->getVar('uid') != $xoops->user->getVar('uid')) {
        //If the user is an admin and is editing someone else
        $pwd_text = new Xoops\Form\Password('', 'password', 3, 32);
        $pwd_text2 = new Xoops\Form\Password('', 'vpass', 3, 32);
        $pwd_tray = new Xoops\Form\ElementTray(XoopsLocale::PASSWORD . '<br />' . XoopsLocale::TYPE_NEW_PASSWORD_TWICE_TO_CHANGE_IT);
        $pwd_tray->addElement($pwd_text);
        $pwd_tray->addElement($pwd_text2);
        $elements[0][] = array('element' => $pwd_tray, 'required' => 0);
        //cannot set an element tray required
        $weights[0][] = 0;
        $level_radio = new Xoops\Form\Radio(_PROFILE_MA_USERLEVEL, 'level', $user->getVar('level'));
        $level_radio->addOption(1, _PROFILE_MA_ACTIVE);
        $level_radio->addOption(0, _PROFILE_MA_INACTIVE);
        //$level_radio->addOption(-1, _PROFILE_MA_DISABLED);
        $elements[0][] = array('element' => $level_radio, 'required' => 0);
        $weights[0][] = 0;
    }
    $elements[0][] = array('element' => new Xoops\Form\Hidden('uid', $user->getVar('uid')), 'required' => 0);
    $weights[0][] = 0;
    $elements[0][] = array('element' => new Xoops\Form\Hidden('op', 'save'), 'required' => 0);
    $weights[0][] = 0;
    $cat_handler = \Xoops::getModuleHelper('profile')->getHandler('category');
    $categories = array();
    $all_categories = $cat_handler->getObjects(null, true, false);
    $count_fields = count($fields);
    /* @var ProfileField $field */
    foreach ($fields as $field) {
        if (in_array($field->getVar('field_id'), $editable_fields)) {
            // Set default value for user fields if available
            if ($user->isNew()) {
                $default = $field->getVar('field_default');
                if ($default !== '' && $default !== null) {
                    $user->setVar($field->getVar('field_name'), $default);
                }
            }
            if ($profile->getVar($field->getVar('field_name'), 'n') === null) {
                $default = $field->getVar('field_default', 'n');
                $profile->setVar($field->getVar('field_name'), $default);
            }
            $fieldinfo['element'] = $field->getEditElement($user, $profile);
            $fieldinfo['required'] = $field->getVar('field_required');
            $key = @$all_categories[$field->getVar('cat_id')]['cat_weight'] * $count_fields + $field->getVar('cat_id');
            $elements[$key][] = $fieldinfo;
            $weights[$key][] = $field->getVar('field_weight');
            $categories[$key] = @$all_categories[$field->getVar('cat_id')];
        }
    }
    if ($xoops->isUser() && $xoops->user->isAdmin()) {
        $xoops->loadLanguage('admin', 'profile');
        $gperm_handler = $xoops->getHandlerGroupPermission();
        //If user has admin rights on groups
        include_once $xoops->path('modules/system/constants.php');
        if ($gperm_handler->checkRight('system_admin', XOOPS_SYSTEM_GROUP, $xoops->user->getGroups(), 1)) {
            //add group selection
            $group_select = new Xoops\Form\SelectGroup(XoopsLocale::USER_GROUPS, 'groups', false, $user->getGroups(), 5, true);
            $elements[0][] = array('element' => $group_select, 'required' => 0);
            //set as latest;
            $weights[0][] = $count_fields + 1;
        }
    }
    ksort($elements);
    foreach (array_keys($elements) as $k) {
        array_multisort($weights[$k], SORT_ASC, array_keys($elements[$k]), SORT_ASC, $elements[$k]);
        $title = isset($categories[$k]) ? $categories[$k]['cat_title'] : _PROFILE_MA_DEFAULT;
        $desc = isset($categories[$k]) ? $categories[$k]['cat_description'] : "";
        //$form->addElement(new Xoops\Form\Label("<div class='break'>{$title}</div>", $desc), false);
        $desc = $desc != '' ? ' - ' . $desc : '';
        $form->insertBreak($title . $desc);
        foreach (array_keys($elements[$k]) as $i) {
            $form->addElement($elements[$k][$i]['element'], $elements[$k][$i]['required']);
        }
    }
    $form->addElement(new Xoops\Form\Hidden('uid', $user->getVar('uid')));
    $form->addElement(new Xoops\Form\Button('', 'submit', XoopsLocale::SAVE_CHANGES, 'submit'));
    return $form;
}
Пример #8
0
$password->setPattern('^.{8,}$', 'You need at least 8 characters');
$tab1->addElement($password, true);
$description = new Xoops\Form\TextArea('Description', 'description', '', 5, 6, 'Your description');
$description->setDescription('Put the description');
$tab1->addElement($description, true);
$description_2 = new Xoops\Form\DhtmlTextArea('Description_2', 'description_2', '', 6, 7);
$description_2->setDescription('Put the description_2');
$tab1->addElement($description_2, true);
$tab2->addElement(new Xoops\Form\RadioYesNo('Yes or No', 'yesorno', 0), false);
$radio_inline = new Xoops\Form\Radio('Radio Inline', 'radio_inline', 1, true);
$radio_inline->addOption(1, 'Radio Inline 1');
$radio_inline->addOption(2, 'Radio Inline 2');
$radio_inline->addOption(3, 'Radio Inline 3');
$radio_inline->setDescription('Description Radio Inline');
$tab2->addElement($radio_inline, false);
$radio = new Xoops\Form\Radio('Radio', 'radio', 2, false);
$radio->addOption(1, 'Radio 1');
$radio->addOption(2, 'Radio 2');
$radio->addOption(3, 'Radio 3');
$radio->setDescription('Description Radio');
$tab2->addElement($radio, false);
$checkbox_inline = new Xoops\Form\Checkbox('Checkbox Inline', 'checkbox_inline', 1, true);
$checkbox_inline->addOption(1, 'Checkbox Inline 1');
$checkbox_inline->addOption(2, 'Checkbox Inline 2');
$checkbox_inline->addOption(3, 'Checkbox Inline 3');
$checkbox_inline->setDescription('Description Checkbox Inline');
$tab3->addElement($checkbox_inline, true);
$checkbox = new Xoops\Form\Checkbox('Checkbox', 'checkbox', 2, false);
$checkbox->addOption(1, 'Checkbox 1');
$checkbox->addOption(2, 'Checkbox 2');
$checkbox->addOption(3, 'Checkbox 3');
Пример #9
0
             $searchform->addElement($element);
             unset($element);
             break;
         case "language":
             $element = new Xoops\Form\SelectLanguage($fields[$i]->getVar('field_title'), $fields[$i]->getVar('field_name'), null, 6);
             $searchform->addElement($element);
             unset($element);
             break;
     }
 }
 asort($sortby_arr);
 $sortby_arr = array_merge(array("" => XoopsLocale::NONE, "uname" => XoopsLocale::USERNAME, "email" => XoopsLocale::EMAIL), $sortby_arr);
 $sortby_select = new Xoops\Form\Select(_PROFILE_MA_SORTBY, 'sortby');
 $sortby_select->addOptionArray($sortby_arr);
 $searchform->addElement($sortby_select);
 $order_select = new Xoops\Form\Radio(_PROFILE_MA_ORDER, 'order', 0);
 $order_select->addOption(0, XoopsLocale::ASCENDING_ORDER);
 $order_select->addOption(1, XoopsLocale::DESCENDING_ORDER);
 $searchform->addElement($order_select);
 $limit_text = new Xoops\Form\Text(_PROFILE_MA_PERPAGE, 'limit', 15, 10, $limit_default);
 $searchform->addElement($limit_text);
 $searchform->addElement(new Xoops\Form\Hidden('op', 'results'));
 $searchform->addElement(new Xoops\Form\Button('', 'submit', XoopsLocale::A_SUBMIT, 'submit'));
 $searchform->assign($xoops->tpl());
 $xoops->tpl()->assign('page_title', _PROFILE_MA_SEARCH);
 //added count user
 $member_handler = $xoops->getHandlerMember();
 $acttotal = $member_handler->getUserCount(new Criteria('level', 0, '>'));
 $total = sprintf(_PROFILE_MA_ACTUS, "<span style='color:#ff0000;'>{$acttotal}</span>");
 $xoops->tpl()->assign('total_users', $total);
 break;
Пример #10
0
 /**
  * Returns a {@link Xoops\Form\Element} for editing the value of this field
  *
  * @param XoopsUser $user {@link XoopsUser} object to edit the value of
  * @param ProfileProfile $profile {@link ProfileProfile} object to edit the value of
  *
  * @return Xoops\Form\Element
  **/
 public function getEditElement(XoopsUser $user, ProfileProfile $profile)
 {
     $xoops = Xoops::getInstance();
     $value = in_array($this->getVar('field_name'), $this->getUserVars()) ? $user->getVar($this->getVar('field_name'), 'e') : $profile->getVar($this->getVar('field_name'), 'e');
     $caption = $this->getVar('field_title');
     $caption = defined($caption) ? constant($caption) : $caption;
     $name = $this->getVar('field_name', 'e');
     $options = $this->getVar('field_options');
     if (is_array($options)) {
         //asort($options);
         foreach (array_keys($options) as $key) {
             $optval = defined($options[$key]) ? constant($options[$key]) : $options[$key];
             $optkey = defined($key) ? constant($key) : $key;
             unset($options[$key]);
             $options[$optkey] = $optval;
         }
     }
     switch ($this->getVar('field_type')) {
         default:
         case "autotext":
             //autotext is not for editing
             $element = new Xoops\Form\Label($caption, $this->getOutputValue($user, $profile));
             break;
         case "textbox":
             $element = new Xoops\Form\Text($caption, $name, 35, $this->getVar('field_maxlength'), $value);
             break;
         case "textarea":
             $element = new Xoops\Form\TextArea($caption, $name, $value, 4, 30);
             break;
         case "dhtml":
             $element = new Xoops\Form\DhtmlTextArea($caption, $name, $value, 10, 30);
             break;
         case "select":
             $element = new Xoops\Form\Select($caption, $name, $value);
             // If options do not include an empty element, then add a blank option to prevent any default selection
             if (!in_array('', array_keys($options))) {
                 $element->addOption('', XoopsLocale::NONE);
                 $eltmsg = empty($caption) ? sprintf(XoopsLocale::F_ENTER, $name) : sprintf(XoopsLocale::F_ENTER, $caption);
                 $eltmsg = str_replace('"', '\\"', stripslashes($eltmsg));
                 $element->customValidationCode[] = "\nvar hasSelected = false; var selectBox = myform.{$name};" . "for (i = 0; i < selectBox.options.length; i++  ) { if ( selectBox.options[i].selected == true && selectBox.options[i].value != '' ) { hasSelected = true; break; } }" . "if ( !hasSelected ) { window.alert(\"{$eltmsg}\"); selectBox.focus(); return false; }";
             }
             $element->addOptionArray($options);
             break;
         case "select_multi":
             $element = new Xoops\Form\Select($caption, $name, $value, 5, true);
             $element->addOptionArray($options);
             break;
         case "radio":
             $element = new Xoops\Form\Radio($caption, $name, $value);
             $element->addOptionArray($options);
             break;
         case "checkbox":
             $element = new Xoops\Form\Checkbox($caption, $name, $value);
             $element->addOptionArray($options);
             break;
         case "yesno":
             $element = new Xoops\Form\RadioYesNo($caption, $name, $value);
             break;
         case "group":
             $element = new Xoops\Form\SelectGroup($caption, $name, true, $value);
             break;
         case "group_multi":
             $element = new Xoops\Form\SelectGroup($caption, $name, true, $value, 5, true);
             break;
         case "language":
             $element = new Xoops\Form\SelectLanguage($caption, $name, $value);
             break;
         case "date":
             $element = new Xoops\Form\DateSelect($caption, $name, 15, $value);
             break;
         case "longdate":
             $element = new Xoops\Form\DateSelect($caption, $name, 15, str_replace("-", "/", $value));
             break;
         case "datetime":
             $element = new Xoops\Form\DateTime($caption, $name, 15, $value);
             break;
         case "timezone":
             $element = new Xoops\Form\SelectTimeZone($caption, $name, $value);
             $element->setExtra("style='width: 280px;'");
             break;
         case "rank":
             $ranklist = $xoops->service('userrank')->getAssignableUserRankList()->getValue();
             if ($ranklist !== null) {
                 $element = new Xoops\Form\Select($caption, $name, $value);
                 $element->addOption(0, "--------------");
                 $element->addOptionArray($ranklist);
             } else {
                 $element = new Xoops\Form\Hidden($name, $value);
             }
             break;
         case 'theme':
             $element = new Xoops\Form\Select($caption, $name, $value);
             $element->addOption("0", _PROFILE_MA_SITEDEFAULT);
             $handle = opendir(\XoopsBaseConfig::get('themes-path') . '/');
             $dirlist = array();
             while (false !== ($file = readdir($handle))) {
                 if (is_dir(\XoopsBaseConfig::get('themes-path') . '/' . $file) && !preg_match("/^[.]{1,2}\$/", $file) && strtolower($file) != 'cvs') {
                     if (XoopsLoad::fileExists(\XoopsBaseConfig::get('themes-path') . "/" . $file . "/theme.html") && in_array($file, $xoops->getConfig('theme_set_allowed'))) {
                         $dirlist[$file] = $file;
                     }
                 }
             }
             closedir($handle);
             if (!empty($dirlist)) {
                 asort($dirlist);
                 $element->addOptionArray($dirlist);
             }
             break;
     }
     if ($this->getVar('field_description') != "") {
         $element->setDescription($this->getVar('field_description'));
     }
     return $element;
 }
Пример #11
0
 /**
  * @param CommentsComment $obj
  */
 public function __construct(CommentsComment $obj)
 {
     $xoops = Xoops::getInstance();
     $helper = Comments::getInstance();
     $module = $xoops->getModuleById($obj->getVar('modid'));
     if (!is_object($module)) {
         $xoops->redirect(\XoopsBaseConfig::get('url'), 1, XoopsLocale::E_NO_ACCESS_PERMISSION);
     }
     $dirname = $module->getVar('dirname');
     // create form
     if ($xoops->isAdminSide) {
         $url = $helper->url("admin/comment_post.php");
     } else {
         $url = $helper->url("comment_post.php");
     }
     parent::__construct(_MD_COMMENTS_POSTCOMMENT, "commentform", $url, "post", true);
     switch ($xoops->getModuleConfig('com_rule', $dirname)) {
         case COMMENTS_APPROVEALL:
             $rule_text = _MD_COMMENTS_COMAPPROVEALL;
             break;
         case COMMENTS_APPROVEUSER:
             $rule_text = _MD_COMMENTS_COMAPPROVEUSER;
             break;
         case COMMENTS_APPROVEADMIN:
         default:
             $rule_text = _MD_COMMENTS_COMAPPROVEADMIN;
             break;
     }
     $this->addElement(new Xoops\Form\Label(_MD_COMMENTS_COMRULES, $rule_text));
     $this->addElement(new Xoops\Form\Text(_MD_COMMENTS_TITLE, 'com_title', 50, 255, $obj->getVar('title', 'e')), true);
     $icons_radio = new Xoops\Form\Radio(XoopsLocale::MESSAGE_ICON, 'com_icon', $obj->getVar('icon', 'e'));
     $subject_icons = XoopsLists::getSubjectsList();
     foreach ($subject_icons as $iconfile) {
         $icons_radio->addOption($iconfile, '<img src="' . \XoopsBaseConfig::get('url') . '/images/subject/' . $iconfile . '" alt="" />');
     }
     $this->addElement($icons_radio);
     // editor
     $editor = $helper->getConfig('com_editor');
     if (class_exists('Xoops\\Form\\Editor')) {
         $configs = array('name' => 'com_text', 'value' => $obj->getVar('text', 'e'), 'rows' => 25, 'cols' => 90, 'width' => '100%', 'height' => '400px', 'editor' => $editor);
         $this->addElement(new Xoops\Form\Editor(_MD_COMMENTS_MESSAGE, 'com_text', $configs, false, $onfailure = 'textarea'));
     } else {
         $this->addElement(new Xoops\Form\DhtmlTextArea(_MD_COMMENTS_MESSAGE, 'com_text', $obj->getVar('text', 'e'), 10, 50), true);
     }
     $option_tray = new Xoops\Form\ElementTray(XoopsLocale::OPTIONS, '<br />');
     $button_tray = new Xoops\Form\ElementTray('', '&nbsp;');
     if ($xoops->isUser()) {
         if ($xoops->getModuleConfig('com_anonpost', $dirname)) {
             $noname = $obj->getVar('noname', 'e') ? 1 : 0;
             $noname_checkbox = new Xoops\Form\Checkbox('', 'com_noname', $noname);
             $noname_checkbox->addOption(1, XoopsLocale::POST_ANONYMOUSLY);
             $option_tray->addElement($noname_checkbox);
         }
         if (false != $xoops->user->isAdmin($obj->getVar('modid'))) {
             // show status change box when editing (comment id is not empty)
             if ($obj->getVar('id', 'e')) {
                 $status_select = new Xoops\Form\Select(_MD_COMMENTS_STATUS, 'com_status', $obj->getVar('status', 'e'));
                 $status_select->addOptionArray(array(COMMENTS_PENDING => _MD_COMMENTS_PENDING, COMMENTS_ACTIVE => _MD_COMMENTS_ACTIVE, COMMENTS_HIDDEN => _MD_COMMENTS_HIDDEN));
                 $this->addElement($status_select);
                 $button_tray->addElement(new Xoops\Form\Button('', 'com_dodelete', XoopsLocale::A_DELETE, 'submit'));
             }
             if (isset($editor) && in_array($editor, array('textarea', 'dhtmltextarea'))) {
                 $html_checkbox = new Xoops\Form\Checkbox('', 'com_dohtml', $obj->getVar('dohtml', 'e'));
                 $html_checkbox->addOption(1, _MD_COMMENTS_DOHTML);
                 $option_tray->addElement($html_checkbox);
             }
         }
     }
     if (isset($editor) && in_array($editor, array('textarea', 'dhtmltextarea'))) {
         //Yeah, what?
     }
     $smiley_checkbox = new Xoops\Form\Checkbox('', 'com_dosmiley', $obj->getVar('domsiley', 'e'));
     $smiley_checkbox->addOption(1, _MD_COMMENTS_DOSMILEY);
     $option_tray->addElement($smiley_checkbox);
     $xcode_checkbox = new Xoops\Form\Checkbox('', 'com_doxcode', $obj->getVar('doxcode', 'e'));
     $xcode_checkbox->addOption(1, _MD_COMMENTS_DOXCODE);
     $option_tray->addElement($xcode_checkbox);
     if (isset($editor) && in_array($editor, array('textarea', 'dhtmltextarea'))) {
         $br_checkbox = new Xoops\Form\Checkbox('', 'com_dobr', $obj->getVar('dobr', 'e'));
         $br_checkbox->addOption(1, _MD_COMMENTS_DOAUTOWRAP);
         $option_tray->addElement($br_checkbox);
     } else {
         $this->addElement(new Xoops\Form\Hidden('com_dohtml', 1));
         $this->addElement(new Xoops\Form\Hidden('com_dobr', 0));
     }
     $this->addElement($option_tray);
     if (!$xoops->isUser()) {
         $this->addElement(new Xoops\Form\Captcha());
     }
     $this->addElement(new Xoops\Form\Hidden('com_modid', $obj->getVar('modid', 'e')));
     $this->addElement(new Xoops\Form\Hidden('com_pid', $obj->getVar('pid', 'e')));
     $this->addElement(new Xoops\Form\Hidden('com_rootid', $obj->getVar('rootid', 'e')));
     $this->addElement(new Xoops\Form\Hidden('com_id', $obj->getVar('id', 'e')));
     $this->addElement(new Xoops\Form\Hidden('com_itemid', $obj->getVar('itemid', 'e')));
     $this->addElement(new Xoops\Form\Hidden('com_order', Request::getInt('com_order', $helper->getUserConfig('com_order'))));
     $this->addElement(new Xoops\Form\Hidden('com_mode', Request::getString('com_mode', $helper->getUserConfig('com_mode'))));
     // add module specific extra params
     if (!$xoops->isAdminSide) {
         /* @var $plugin CommentsPluginInterface */
         $plugin = \Xoops\Module\Plugin::getPlugin($dirname, 'comments');
         if (is_array($extraParams = $plugin->extraParams())) {
             $myts = MyTextSanitizer::getInstance();
             foreach ($extraParams as $extra_param) {
                 // This routine is included from forms accessed via both GET and POST
                 if (isset($_POST[$extra_param])) {
                     $hidden_value = $myts->stripSlashesGPC($_POST[$extra_param]);
                 } else {
                     if (isset($_GET[$extra_param])) {
                         $hidden_value = $myts->stripSlashesGPC($_GET[$extra_param]);
                     } else {
                         $hidden_value = '';
                     }
                 }
                 $this->addElement(new Xoops\Form\Hidden($extra_param, $hidden_value));
             }
         }
     }
     $button_tray->addElement(new Xoops\Form\Button('', 'com_dopreview', XoopsLocale::A_PREVIEW, 'submit'));
     $button_tray->addElement(new Xoops\Form\Button('', 'com_dopost', _MD_COMMENTS_POSTCOMMENT, 'submit'));
     $this->addElement($button_tray);
     return $this;
 }