Beispiel #1
0
 /**
  * Retrieve the list of items.
  *
  * @return array
  *
  */
 function getList($basedir = false)
 {
     if (!$basedir) {
         $basedir = $this->basedir;
     }
     loader_import('saf.File.Directory');
     $res = assocify(Dir::getStruct($basedir));
     $list = array('' => ucfirst('default'));
     foreach ($res as $file) {
         if (preg_match('|/CVS$|', $file)) {
             continue;
         }
         $file = str_replace($basedir . '/', '', $file);
         $list[$file] = $file;
     }
     return $list;
 }
Beispiel #2
0
$pg->url = site_prefix() . '/index/usradm-browse-action?list=log&orderBy=' . urlencode($cgi->orderBy) . '&sort=' . urlencode($cgi->sort) . '&_type=' . urlencode($cgi->_type) . '&_user='******'&_range=' . urlencode($cgi->_range);
$pg->setData($res);
$pg->update();
loader_import('saf.Misc.TableHeader');
$headers = array(new TableHeader('ts', intl_get('Date/Time')), new TableHeader('type', intl_get('Type')), new TableHeader('user', intl_get('User')), new TableHeader('ip', intl_get('IP Address')), new TableHeader('message', intl_get('Message')));
loader_import('cms.Versioning.Rex');
loader_import('cms.Versioning.Facets');
$rex = new Rex(false);
$rex->bookmark = true;
$rex->facets['type'] = new rSelectFacet('type', array('display' => intl_get('Type'), 'type' => 'select'));
$rex->facets['type']->preserve = array('list', 'offset', 'orderBy', 'sort');
$rex->facets['type']->options = assocify(db_shift_array('select distinct type from sitellite_log where type != "" order by type asc'));
$rex->facets['type']->count = false;
$rex->facets['user'] = new rSelectFacet('user', array('display' => intl_get('User'), 'type' => 'select'));
$rex->facets['user']->preserve = array('list', 'offset', 'orderBy', 'sort');
$rex->facets['user']->options = assocify(db_shift_array('select distinct user from sitellite_log where user != "" order by user asc'));
$rex->facets['user']->count = false;
$rex->facets['range'] = new rSelectFacet('range', array('display' => intl_get('Date Range'), 'type' => 'select'));
$rex->facets['range']->preserve = array('list', 'offset', 'orderBy', 'sort');
$rex->facets['range']->options = array('day' => intl_get('Day'), 'week' => intl_get('Week'), 'month' => intl_get('Month'), 'year' => intl_get('Year'));
$rex->facets['range']->count = false;
$rex->facets['range']->all = false;
echo '<p style="clear: both">' . $rex->renderFacets() . '</p>';
function usradm_filter_stats_date($date)
{
    global $cgi;
    return Date::format($date, appconf('date_format_' . $cgi->_range));
}
echo template_simple('<p>
<table border="0" cellpadding="3" cellspacing="0" width="100%">
	<tr>
Beispiel #3
0
 function SitelliteUtilCustomForm($parameters)
 {
     parent::MailForm();
     $this->error_mode = 'all';
     $this->verify_sender = 'yes';
     $this->clean_input = 'yes';
     foreach ($parameters as $k => $v) {
         $parameters[$k] = urldecode($v);
     }
     $this->parameters = $parameters;
     //$this->title = $parameters['title'];
     foreach (explode(',', $parameters['fields']) as $field) {
         switch ($field) {
             case 'Account #':
                 $w =& $this->addWidget('text', 'account_number');
                 $w->alt = intl_get('Account') . ' #';
                 $w->addRule('not empty', intl_get('You must enter your account #'));
                 $w->extra = 'maxlength="72"';
                 break;
             case 'Pass phrase':
                 $w =& $this->addWidget('password', 'pass_phrase');
                 $w->alt = intl_get('Pass Phrase');
                 $w->addRule('not empty', intl_get('You must enter your pass phrase'));
                 $w->extra = 'maxlength="72"';
                 break;
             case 'Salutation':
                 $w =& $this->addWidget('select', 'salutation');
                 $w->alt = intl_get('Salutation');
                 $w->setValues(assocify(array('- SELECT -', 'mr', 'mrs', 'ms', 'miss', 'mdm', 'dr', 'sir')));
                 $w->extra = 'maxlength="12"';
                 break;
             case 'First Name':
                 $w =& $this->addWidget('text', 'first_name');
                 $w->alt = intl_get('First Name');
                 $w->addRule('not empty', intl_get('You must enter your first name'));
                 $w->addRule('header', intl_get('Your first name contains invalid characters'));
                 $w->extra = 'maxlength="72"';
                 break;
             case 'Last Name':
                 $w =& $this->addWidget('text', 'last_name');
                 $w->alt = intl_get('Last Name');
                 $w->addRule('not empty', intl_get('You must enter your last name'));
                 $w->addRule('header', intl_get('Your last name contains invalid characters'));
                 $w->extra = 'maxlength="72"';
                 break;
             case 'Email Address':
                 $w =& $this->addWidget('text', 'email_address');
                 $w->alt = intl_get('Email Address');
                 $w->addRule('email', intl_get('Your email address does not appear to be valid'));
                 $w->extra = 'maxlength="72"';
                 break;
             case 'Birthday':
                 $w =& $this->addWidget('date', 'birthday');
                 $w->alt = intl_get('Birthday');
                 $w->highest_year = date('Y') - 4;
                 $w->lowest_year = date('Y') - 100;
                 break;
             case 'Gender':
                 $w =& $this->addWidget('select', 'gender');
                 $w->alt = intl_get('Gender');
                 $w->setValues(assocify(array('- SELECT -', 'male', 'female')));
                 break;
             case 'Address (incl City/State/Country)':
                 $w =& $this->addWidget('text', 'address_line1');
                 $w->alt = intl_get('Mailing Address');
                 $w->extra = 'maxlength="72"';
                 $w =& $this->addWidget('text', 'address_line2');
                 $w->alt = intl_get('(Line 2)');
                 $w->extra = 'maxlength="72"';
                 $w =& $this->addWidget('text', 'city');
                 $w->alt = intl_get('City');
                 $w->extra = 'maxlength="72"';
                 $w =& $this->addWidget('select', 'state');
                 $w->setValues($this->getStates());
                 $w->alt = intl_get('State');
                 $w =& $this->addWidget('select', 'country');
                 $w->setValues($this->getCountries());
                 $w->alt = intl_get('Country');
                 $w =& $this->addWidget('text', 'zip');
                 $w->alt = intl_get('Zip/Postal Code');
                 $w->extra = 'maxlength="24"';
                 break;
             case 'Company':
                 $w =& $this->addWidget('text', 'company');
                 $w->alt = intl_get('Company');
                 $w->extra = 'maxlength="72"';
                 break;
             case 'Job Title':
                 $w =& $this->addWidget('text', 'job_title');
                 $w->alt = intl_get('Job Title');
                 $w->extra = 'maxlength="72"';
                 break;
             case 'Phone Number':
                 $w =& $this->addWidget('text', 'phone_number');
                 $w->alt = intl_get('Phone Number');
                 $w->extra = 'maxlength="72"';
                 break;
             case 'Daytime Phone':
                 $w =& $this->addWidget('text', 'daytime_phone');
                 $w->alt = intl_get('Daytime Phone');
                 $w->extra = 'maxlength="72"';
                 break;
             case 'Evening Phone':
                 $w =& $this->addWidget('text', 'evening_phone');
                 $w->alt = intl_get('Evening Phone');
                 $w->extra = 'maxlength="72"';
                 break;
             case 'Mobile Phone':
                 $w =& $this->addWidget('text', 'mobile_phone');
                 $w->alt = intl_get('Mobile Phone');
                 $w->extra = 'maxlength="72"';
                 break;
             case 'Fax Number':
                 $w =& $this->addWidget('text', 'fax_number');
                 $w->alt = intl_get('Fax Number');
                 $w->extra = 'maxlength="72"';
                 break;
             case 'Preferred method of contact':
                 $w =& $this->addWidget('select', 'preferred_method_of_contact');
                 $w->alt = intl_get('Preferred Method of Contact');
                 $w->setValues(assocify(array('- SELECT -', 'phone', 'email')));
                 break;
             case 'Best time to reach you':
                 $w =& $this->addWidget('select', 'best_time');
                 $w->alt = intl_get('Best Time to Reach You');
                 $w->setValues(assocify(array('- SELECT -', 'morning', 'afternoon', 'evening')));
                 break;
             case 'May we contact you':
                 $w =& $this->addWidget('select', 'may_we_contact_you');
                 $w->alt = intl_get('May We Contact You');
                 $w->setValues(assocify(array('- SELECT -', 'yes', 'no')));
                 break;
             case 'Comments':
                 $w =& $this->addWidget('textarea', 'comments');
                 $w->alt = intl_get('Comments');
                 break;
         }
     }
     if ($parameters['cc'] == 'optional') {
         $w =& $this->addWidget('checkbox', 'cc');
         $w->fieldset = false;
         $w->setValues(array('yes' => intl_get('Please send a copy of this form to my email address')));
     }
     $w =& $this->addWidget('submit', 'submit_button');
     $w->setValues(intl_get('Send'));
     //$this->action = site_prefix () . '/index/sitellite-util-contact-action';
     //global $cgi;
     //$cgi->email = $send_to;
     //$cgi->param[] = 'email';
 }
Beispiel #4
0
$rex->facets['team'] = new rSelectFacet('team', array('display' => intl_get('Team'), 'type' => 'select'));
$rex->facets['team']->preserve = array('list', 'offset', 'orderBy', 'sort');
$rex->facets['team']->options = assocify(array_keys($snm->team->getList()));
//array ('core' => 'Core');
$rex->facets['team']->count = false;
$rex->facets['disabled'] = new rSelectFacet('disabled', array('display' => intl_get('Disabled'), 'type' => 'select'));
$rex->facets['disabled']->preserve = array('list', 'offset', 'orderBy', 'sort');
$rex->facets['disabled']->options = array('yes' => intl_get('Yes'), 'no' => intl_get('No'));
$rex->facets['disabled']->count = false;
$rex->facets['public'] = new rSelectFacet('public', array('display' => intl_get('Public'), 'type' => 'select'));
$rex->facets['public']->preserve = array('list', 'offset', 'orderBy', 'sort');
$rex->facets['public']->options = array('yes' => intl_get('Yes'), 'no' => intl_get('No'));
$rex->facets['public']->count = false;
$rex->facets['teams'] = new rSelectFacet('teams', array('display' => intl_get('Allowed Teams'), 'type' => 'select'));
$rex->facets['teams']->preserve = array('list', 'offset', 'orderBy', 'sort');
$rex->facets['teams']->options = assocify(array_keys($snm->team->getList()));
//array ('core' => 'Core');
$rex->facets['teams']->count = false;
echo '<p style="clear: both">' . $rex->renderFacets() . '</p>';
//echo '<p>' . $total . ' ' . intl_get ('Users found') . ':</p>' . NEWLINEx2;
template_simple_register('pager', $pg);
echo template_simple('<table border="0" cellpadding="3" width="100%">
	<tr>
		<td>{spt PAGER_TEMPLATE_FROM_TO}</td>
		<td align="right">{if pager.total}{spt PAGER_TEMPLATE_PREV_PAGE_LIST_NEXT}{end if}</td>
	</tr>
</table>' . NEWLINEx2);
// header
echo '<table border="0" cellpadding="3" cellspacing="1" width="100%">
		<tr>
			<th>&nbsp;</th>' . NEWLINE;
Beispiel #5
0
 /**
  * Generate a form for editing items in this list.
  *
  * @return object saf.MailForm object
  */
 function &getEditForm($item)
 {
     loader_import('saf.MailForm');
     $form = new MailForm();
     $form->action = site_prefix() . '/index/usradm-edit-role-action';
     $form->error_mode = 'all';
     $form->addWidget('hidden', '_list');
     $form->addWidget('hidden', '_key');
     $w =& $form->addWidget('tab', 'tab1');
     $w->title = intl_get('Edit');
     $w =& $form->addWidget('text', 'name');
     $w->alt = intl_get('Name');
     $w->addRule('not empty', intl_get('Role name must not be empty.'));
     $w->setValue($item);
     $w->extra = 'maxlength="48"';
     $w =& $form->addWidget('select', 'admin');
     $w->alt = intl_get('Is admin?');
     $w->setValues(array('yes' => 'Yes', 'no' => 'No'));
     if ($this->data[$item]['role']['admin']) {
         $w->setValue('yes');
     } else {
         $w->setValue('no');
     }
     $w->extra = 'id="admin"';
     $w =& $form->addWidget('select', 'disabled');
     $w->alt = intl_get('Disabled');
     $w->setValues(array('yes' => 'Yes', 'no' => 'No'));
     $w->setValue('no');
     if ($this->data[$item]['role']['disabled']) {
         $w->setValue('yes');
     } else {
         $w->setValue('no');
     }
     $w->extra = 'id="disabled"';
     $w =& $form->addWidget('tab', 'tab2');
     $w->title = intl_get('Resources');
     $w =& $form->addWidget('usradm.Widget.Allowedbox', 'resources');
     $w->alt = 'Allowed Resources';
     $w->headers[] = '&nbsp;';
     $w->headers[] = intl_get('Read');
     $w->headers[] = intl_get('Write');
     $b =& $w->addButton('all', array('r' => '', 'w' => ''));
     $b->alt = '<strong>All</strong>';
     $b->setValue(assocify(preg_split('//', $this->data[$item]['allow:resources']['all'], -1, PREG_SPLIT_NO_EMPTY)));
     loader_import('usradm.Functions');
     $resources = array();
     foreach (session_get_resources() as $value) {
         $resources[$value] = usradm_resource_name($value);
     }
     asort($resources);
     foreach ($resources as $key => $value) {
         $b =& $w->addButton($key, array('r' => '', 'w' => ''));
         $b->alt = $value;
         $b->setValue(assocify(preg_split('//', $this->data[$item]['allow:resources'][$key], -1, PREG_SPLIT_NO_EMPTY)));
     }
     //foreach (session_get_resources () as $value) {
     //	$b =& $w->addButton ($value, array ('r' => '', 'w' => ''));
     //	$b->alt = ucwords (str_replace ('_', ' ', $value));
     //	$b->setValue (assocify (preg_split ('//', $this->data[$item]['allow:resources'][$value], -1, PREG_SPLIT_NO_EMPTY)));
     //}
     $w =& $form->addWidget('tab', 'tab3');
     $w->title = intl_get('Access Levels');
     $w =& $form->addWidget('usradm.Widget.Allowedbox', 'accesslevels');
     $w->alt = 'Allowed Access Levels';
     $w->headers[] = '&nbsp;';
     $w->headers[] = intl_get('Read');
     $w->headers[] = intl_get('Write');
     $b =& $w->addButton('all', array('r' => '', 'w' => ''));
     $b->alt = '<strong>All</strong>';
     $b->setValue(assocify(preg_split('//', $this->data[$item]['allow:access']['all'], -1, PREG_SPLIT_NO_EMPTY)));
     foreach (session_get_access_levels() as $value) {
         $b =& $w->addButton($value, array('r' => '', 'w' => ''));
         $b->alt = ucwords(str_replace('_', ' ', $value));
         $b->setValue(assocify(preg_split('//', $this->data[$item]['allow:access'][$value], -1, PREG_SPLIT_NO_EMPTY)));
     }
     $w =& $form->addWidget('tab', 'tab4');
     $w->title = intl_get('Statuses');
     $w =& $form->addWidget('usradm.Widget.Allowedbox', 'statuses');
     $w->alt = 'Allowed Statuses';
     $w->headers[] = '&nbsp;';
     $w->headers[] = intl_get('Read');
     $w->headers[] = intl_get('Write');
     $b =& $w->addButton('all', array('r' => '', 'w' => ''));
     $b->alt = '<strong>All</strong>';
     $b->setValue(assocify(preg_split('//', $this->data[$item]['allow:status']['all'], -1, PREG_SPLIT_NO_EMPTY)));
     foreach (session_get_statuses() as $value) {
         $b =& $w->addButton($value, array('r' => '', 'w' => ''));
         $b->alt = ucwords(str_replace('_', ' ', $value));
         $b->setValue(assocify(preg_split('//', $this->data[$item]['allow:status'][$value], -1, PREG_SPLIT_NO_EMPTY)));
     }
     $w =& $form->addWidget('tab', 'tab-end');
     $w =& $form->addWidget('msubmit', 'submit_button');
     $b =& $w->getButton();
     $b->setValues(intl_get('Save'));
     $b =& $w->addButton('cancel_button');
     $b->setValues(intl_get('Cancel'));
     $b->extra = 'onclick="window.location.href = \'' . site_prefix() . '/index/usradm-browse-action?list=roles\'; return false"';
     return $form;
 }
Beispiel #6
0
 /**
  * Returns the display HTML for this widget.  The optional
  * parameter determines whether or not to automatically display the widget
  * nicely, or whether to simply return the widget (for use in a template).
  * 
  * @access	public
  * @param	boolean	$generate_html
  * @return	string
  * 
  */
 function display($generate_html = 0)
 {
     global $intl, $simple;
     if (!isset($this->data_value)) {
         $this->data_value = $this->default_value;
     }
     $attrstr = $this->getAttrs();
     if (empty($this->data_value)) {
         $this->data_value = session_team();
     }
     if (empty($this->owner)) {
         $this->owner = $this->getOwner($this->owner);
     }
     if (session_role() == 'master') {
         // allow all
         $this->value = assocify(session_get_teams());
     } elseif (session_username() == $this->owner) {
         // allow specific ones
         $this->value = assocify(session_allowed_teams_list(true));
     } else {
         // show info instead
         loader_import('saf.MailForm.Widget.Info');
         $info = new MF_Widget_info($this->name);
         $info->extra = $this->extra;
         $info->setValue($this->data_value);
         return $info->display($generate_html);
     }
     asort($this->value);
     $adv = $this->advanced ? ' class="advanced"' : '';
     if ($generate_html) {
         $data = "\t" . '<tr' . $adv . '>' . "\n\t\t" . '<td class="label"><label for="' . $this->name . '" id="' . $this->name . '-label"' . $this->invalid() . '>' . $simple->fill($this->label_template, $this, '', true) . '</label></td>' . "\n\t\t" . '<td class="field"><select ' . $attrstr . ' ' . $this->extra . ' >' . "\n";
         foreach ($this->value as $value => $display) {
             $display = str_replace('_', ' ', ucwords($display));
             if ($value == $this->data_value) {
                 $selected = ' selected="selected"';
             } else {
                 $selected = '';
             }
             $data .= "\t" . '<option value="' . $value . '"' . $selected . '>' . $display . '</option>' . "\n";
         }
         return $data . '</select></td>' . "\n\t" . '</tr>' . "\n";
     } else {
         $data = '<select ' . $attrstr . ' ' . $this->extra . ' >' . "\n";
         foreach ($this->value as $value => $display) {
             $display = str_replace('_', ' ', ucwords($display));
             if ($value == $this->data_value) {
                 $selected = ' selected="selected"';
             } else {
                 $selected = '';
             }
             $data .= "\t" . '<option value="' . htmlentities_compat($value, ENT_COMPAT, $intl->charset) . '"' . $selected . '>' . $display . '</option>' . "\n";
         }
         return $data . '</select>';
     }
 }
Beispiel #7
0
$classes = array_unique($classes);
$ids = array_unique($ids);
$form = new MailForm();
ini_add_filter('ini_filter_split_comma_single', array('rule 0', 'rule 1', 'rule 2', 'rule 3', 'rule 4', 'rule 5', 'rule 6', 'rule 7', 'rule 8', 'button 0', 'button 1', 'button 2', 'button 3', 'button 4', 'button 5', 'button 6', 'button 7', 'button 8', 'submitButtons'));
foreach ($attrs as $attr) {
    $w =& $form->createWidget($attr->name, ini_parse($attr->typedef, false));
    if (isset($cgi->{$attr->name})) {
        $w->setDefault($cgi->{$attr->name});
    }
}
ini_clear();
if (isset($form->widgets['id'])) {
    $form->widgets['id']->setValues(array_merge(array('' => '- ' . intl_get('SELECT') . ' -'), assocify($ids)));
}
if (isset($form->widgets['class'])) {
    $form->widgets['class']->setValues(array_merge(array('' => '- ' . intl_get('SELECT') . ' -'), assocify($classes)));
}
$w =& $form->addWidget('hidden', 'ifname');
$w->setValue($cgi->ifname);
$w =& $form->addWidget('hidden', 'tag');
$w->setValue($cgi->tag);
$w =& $form->addWidget('template', 'tpl');
$w->template = 'properties.spt';
$w =& $form->addWidget('msubmit', 'submit_button');
$b1 =& $w->getButton();
$b1->setValues(intl_get('OK'));
//$b1->extra = 'onclick="return properties_ok (this.form)"';
$b2 =& $w->addButton('submit_button', intl_get('Cancel'));
$b2->extra = 'onclick="return properties_cancel (this.form)"';
page_title(intl_get('Editing Element') . ': ' . strtoupper($cgi->tag));
if ($form->invalid($cgi)) {
Beispiel #8
0
 function getCategories()
 {
     $res1 = array('' => '- SELECT -');
     $res2 = assocify(db_shift_array('select distinct name from sitellite_news_category where name != "" order by name asc'));
     return array_merge($res1, $res2);
 }