Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into global_participants
Browse files Browse the repository at this point in the history
  • Loading branch information
olleharstedt committed Sep 28, 2016
2 parents 3c90831 + 1f5ed3b commit af5cb66
Show file tree
Hide file tree
Showing 11 changed files with 132 additions and 129 deletions.
1 change: 1 addition & 0 deletions application/config/config-defaults.php 100755 → 100644
Expand Up @@ -661,6 +661,7 @@
// Home page default Settings
$config['show_logo'] = 'show';
$config['show_last_survey_and_question'] = 'show';
$config['show_survey_list_search'] = 'show';
$config['boxes_by_row'] = '3';
$config['boxes_offset'] = '3';

Expand Down
50 changes: 35 additions & 15 deletions application/controllers/admin/homepagesettings.php
Expand Up @@ -174,6 +174,7 @@ public function index()
'bShowLogo'=>(getGlobalSetting('show_logo')=="show"),
'bShowLastSurveyAndQuestion'=>(getGlobalSetting('show_last_survey_and_question')=="show"),
'bShowSurveyList'=>(getGlobalSetting('show_survey_list')=="show"),
'bShowSurveyListSearch'=>(getGlobalSetting('show_survey_list_search')=="show"),
'iBoxesByRow'=>(int) getGlobalSetting('boxes_by_row'),
'iBoxesOffset'=>(int) getGlobalSetting('boxes_offset'),
);
Expand Down Expand Up @@ -247,25 +248,44 @@ public function toggleShowLastSurveyAndQuestion()
}


/**
* Performs the AJAX toggle of sshow_survey_list
*/
public function toggleShowSurveyList()
/**
* Performs the AJAX toggle of show_survey_list
*/
public function toggleShowSurveyList()
{
if (Yii::app()->getConfig('demoMode'))
{
if (Yii::app()->getConfig('demoMode'))
{
Yii::app()->setFlashMessage(gT('This setting cannot be changed because demo mode is active.'),'error');
$this->getController()->redirect(Yii::app()->getController()->createUrl("/admin/homepagesettings"));
}
Yii::app()->setFlashMessage(gT('This setting cannot be changed because demo mode is active.'),'error');
$this->getController()->redirect(Yii::app()->getController()->createUrl("/admin/homepagesettings"));
}

if ( Permission::model()->hasGlobalPermission('settings', 'update') )
{
$bShowSurveyList = (getGlobalSetting('show_survey_list')=="show")?"hide":"show";
setGlobalSetting('show_survey_list', $bShowSurveyList);
echo $bShowSurveyList;
}
if ( Permission::model()->hasGlobalPermission('settings', 'update') )
{
$bShowSurveyList = (getGlobalSetting('show_survey_list')=="show")?"hide":"show";
setGlobalSetting('show_survey_list', $bShowSurveyList);
echo $bShowSurveyList;
}
}

/**
* Performs the AJAX toggle of show_survey_list_search
*/
public function toggleShowSurveyListSearch()
{
if (Yii::app()->getConfig('demoMode'))
{
Yii::app()->setFlashMessage(gT('This setting cannot be changed because demo mode is active.'),'error');
$this->getController()->redirect(Yii::app()->getController()->createUrl("/admin/homepagesettings"));
}

if ( Permission::model()->hasGlobalPermission('settings', 'update') )
{
$bShowSurveyListSearch = (getGlobalSetting('show_survey_list_search')=="show")?"hide":"show";
setGlobalSetting('show_survey_list_search', $bShowSurveyListSearch);
echo $bShowSurveyListSearch;
}
}

/**
* Performs the AJAX update of box setting
*/
Expand Down
1 change: 1 addition & 0 deletions application/controllers/admin/index.php
Expand Up @@ -84,6 +84,7 @@ public function run()

// We get the home page display setting
$aData['bShowSurveyList'] = (getGlobalSetting('show_survey_list')=="show");
$aData['bShowSurveyListSearch'] = (getGlobalSetting('show_survey_list_search')=="show");
$aData['bShowLogo'] = (getGlobalSetting('show_logo')=="show");
$aData['oSurveySearch'] = new Survey('search');
$aData['bShowLastSurveyAndQuestion'] = (getGlobalSetting('show_last_survey_and_question')=="show");
Expand Down
4 changes: 2 additions & 2 deletions application/controllers/survey/index.php
Expand Up @@ -278,7 +278,7 @@ function action()
$redata = compact(array_keys(get_defined_vars()));
$asMessage = array(
gT("Error"),
gT("This survey is no longer available."),
gT("We are sorry but the survey is expired and no longer available."),
sprintf(gT("Please contact %s ( %s ) for further assistance."),$thissurvey['adminname'],$thissurvey['adminemail'])
);

Expand Down Expand Up @@ -334,7 +334,7 @@ function action()
$sLoadSecurity=Yii::app()->request->getPost('loadsecurity');
$captcha = Yii::app()->getController()->createAction('captcha');
$captchaCorrect = $captcha->validate( $sLoadsecurity, false);

if(empty($sLoadSecurity))
{
$errormsg .= gT("You did not answer to the security question.")."<br />\n";
Expand Down
69 changes: 43 additions & 26 deletions application/extensions/SettingsWidget/SettingsWidget.php
Expand Up @@ -24,8 +24,8 @@ class SettingsWidget extends CWidget
public $settings = array();

public $title;
public $inlist=true;// Leave before removing

public $labelWidth=6;
public $controlWidth=6;
/** @var string - Raw HTML to output last */
public $additionalHtml = "";

Expand Down Expand Up @@ -98,11 +98,6 @@ protected function renderButton($label, $metaData)


$metaData['class'][]='btn';
if (isset($metaData['type']) && $metaData['type'] == 'link')
{
$metaData['class'][]='btn-link';
$metaData['class'][]='button';
}
$htmlOptions = $this->htmlOptions($metaData);

if (isset($metaData['type']) && $metaData['type'] == 'link')
Expand Down Expand Up @@ -142,7 +137,7 @@ protected function renderButtons()
}
$aHtmlButtons[]= $this->renderButton($label, $htmlOptions);
}
echo CHtml::tag('div', array('class' => 'buttons control-group'),implode($aHtmlButtons));
echo CHtml::tag('div', array('class' => "clearfix col-md-offset-{$this->labelWidth}"),implode(" ",$aHtmlButtons));
}
}

Expand Down Expand Up @@ -183,7 +178,7 @@ protected function renderSetting($name, $metaData, $form = null, $return = false
$content .= $this->renderHelp($name, $metaData);
$content .= CHtml::closeTag('div');

$result=CHtml::tag($wrapper,array('class'=>"setting control-group setting-{$metaData['type']}", 'data-name' => $name),$content);
$result=CHtml::tag($wrapper,array('class'=>"form-group setting setting-{$metaData['type']}", 'data-name' => $name),$content);

if($return)
{
Expand All @@ -197,12 +192,10 @@ protected function renderSetting($name, $metaData, $form = null, $return = false

protected function renderSettings()
{
echo CHtml::openTag('ul',array('class'=>"settings-list"));
foreach($this->settings as $name => $metaData)
{
$this->renderSetting($name, $metaData, null, false, 'li');
$this->renderSetting($name, $metaData, null, false, 'div');
}
echo CHtml::closeTag('ul');
}

public function run() {
Expand Down Expand Up @@ -252,13 +245,15 @@ public function fixMetaData($name,$metaData){
);
$metaData = array_merge($defaults, $metaData);

// col-sm-X is here for bootsrap 3 when ready
$metaData['labelOptions']['class'].=" control-label col-sm-5";
// col-sm-6/col-sm-6 used in survey settings, sm-4/sm-6 in global : use sm-4/sm-6 for plugins ?
$metaData['labelOptions']['class'].=" control-label col-sm-{$this->labelWidth}";
// Set the witdth of control-option according to existence of label
if(!isset($metaData['label']))
if(!isset($metaData['label'])){
$metaData['controlOptions']['class'].=" col-sm-12";
else
$metaData['controlOptions']['class'].=" col-sm-7";
}
else{
$metaData['controlOptions']['class'].=" col-sm-{$this->controlWidth}";
}
$metaData['controlOptions']['class'].=" controls";

if (is_string($metaData['class']))
Expand Down Expand Up @@ -324,12 +319,21 @@ public function renderHelp($name,$metaData){

public function renderBoolean($name, array $metaData, $form = null)
{
$htmlOptions = $this->htmlOptions($metaData,$form,array('container'=> false, 'separator' => ''));
$htmlOptions = $this->htmlOptions($metaData,$form);
$value = isset($metaData['current']) ? $metaData['current'] : '';
return CHtml::radioButtonList($name, $value, array(
0 => 'False',
1 => 'True'
), $htmlOptions);
//~ return CHtml::radioButtonList($name, $value, array(
//~ 0 => 'False',
//~ 1 => 'True'
//~ ), $htmlOptions);
return Chtml::tag('div', $htmlOptions,
$this->widget('yiiwheels.widgets.switch.WhSwitch', array(
'name' => $name,
'value' => $value,
'onLabel'=>gT('On'),
'offLabel' => gT('Off'),
'htmlOptions' => $htmlOptions,
), true)
);
}

public function renderCheckbox($name, array $metaData, $form = null)
Expand All @@ -341,13 +345,15 @@ public function renderCheckbox($name, array $metaData, $form = null)

public function renderFloat($name, array $metaData, $form = null)
{
$metaData['class'][] = 'form-control';
$htmlOptions = $this->htmlOptions($metaData,$form,array('step'=>'any'));// step can be replaced by plugin developer
$value = isset($metaData['current']) ? $metaData['current'] : '';
return CHtml::numberField($name, $value, $htmlOptions);
}

public function renderHtml($name, array $metaData, $form = null)
{
$metaData['class'][] = 'form-control';
$value = isset($metaData['current']) ? $metaData['current'] : '';
$metaData['class'][] = 'htmleditor';
$htmlOptions = $this->htmlOptions($metaData,$form);
Expand Down Expand Up @@ -376,6 +382,7 @@ public function renderInfo($name, array $metaData, $form = null)

public function renderInt($name, array $metaData, $form = null)
{
$metaData['class'][] = 'form-control';
$value = isset($metaData['current']) ? $metaData['current'] : '';
if (is_array($value)) { throw new CException('wrong type' . $name); }
$htmlOptions = $this->htmlOptions($metaData,$form,array('step'=> 1,'pattern' => '\d+'));
Expand All @@ -384,6 +391,7 @@ public function renderInt($name, array $metaData, $form = null)

public function renderJson($name, array $metaData, $form = null)
{
$metaData['class'][] = 'form-control'; // Needed ?
$value = isset($metaData['current']) ? $metaData['current'] : '';
$metaData['class'][] = 'jsoneditor-wrapper';
$htmlOptions = array_merge($metaData['htmlOptions'],array('class'=>implode(' ',$metaData['class'])));
Expand Down Expand Up @@ -416,13 +424,15 @@ public function renderRadio($name, array $metaData, $form = null)
public function renderRelevance($name, array $metaData, $form = null)
{
$metaData['class'][] = 'relevance';
$metaData['class'][] = 'form-control';
$htmlOptions = $this->htmlOptions($metaData,$form);
$value = isset($metaData['current']) ? $metaData['current'] : '';
return CHtml::textArea($name, $value, $htmlOptions);
}

public function renderSelect($name, array $metaData, $form = null)
{
$metaData['class'][] = 'form-control';
$value = isset($metaData['current']) ? $metaData['current'] : (isset($metaData['default']) ? $metaData['default'] : null);
$htmlOptions = $this->htmlOptions($metaData,$form);
$select2Options=array_merge(
Expand Down Expand Up @@ -455,27 +465,31 @@ public function renderSelect($name, array $metaData, $form = null)

public function renderString($name, array $metaData, $form = null)
{
$metaData['class'][] = 'form-control';
$value = isset($metaData['current']) ? $metaData['current'] : '';
$htmlOptions = $this->htmlOptions($metaData,$form,array('size'=>50));
return CHtml::textField($name, $value, $htmlOptions);
}

public function renderEmail($name, array $metaData, $form = null)
{
$metaData['class'][] = 'form-control';
$value = isset($metaData['current']) ? $metaData['current'] : '';
$htmlOptions = $this->htmlOptions($metaData,$form,array('size'=>50));
return CHtml::emailField($name, $value, $htmlOptions);
}

public function renderText($name, array $metaData, $form = null)
{
$metaData['class'][] = 'form-control';
$value = isset($metaData['current']) ? $metaData['current'] : '';
$htmlOptions = $this->htmlOptions($metaData,$form);
return CHtml::textArea($name, $value, $htmlOptions);
}

public function renderPassword($name, array $metaData, $form = null)
{
$metaData['class'][] = 'form-control';
$value = isset($metaData['current']) ? $metaData['current'] : '';
$htmlOptions = $this->htmlOptions($metaData,$form,array('autocomplete'=>'off','size'=>50));
return CHtml::passwordField($name,$value,$htmlOptions);
Expand Down Expand Up @@ -586,14 +600,17 @@ public function htmlOptions(array $metaData, $form = null,array $aDefault = arra
{
$htmlOptions=array();
}
// If metadata have a class, replace actual class
if(!empty($metaData['class']) && is_array($metaData['class']))
// If metadata have a class, replace (?) to actual class
if(!empty($metaData['class']) && is_array($metaData['class'])){
$htmlOptions['class']=implode(' ',$metaData['class']);
}
// If metadata have style, replace actual style
if(!empty($metaData['style']) && is_string($metaData['style']))
if(!empty($metaData['style']) && is_string($metaData['style'])){
$htmlOptions['style']=$metaData['style'];
if (isset($metaData['readOnly']))
}
if (isset($metaData['readOnly'])){
$metaData['htmlOptions']["readonly"]= $metaData['readOnly'];
}

return array_merge(array('form'=>$form),$aDefault,$htmlOptions,$aForced);
}
Expand Down
68 changes: 0 additions & 68 deletions application/extensions/SettingsWidget/assets/settingswidget.css
@@ -1,71 +1,3 @@
.settingswidget input[type^='button'], .settingswidget label{
margin-top: 0px;
}

.settingswidget .boolean label{
margin-right: 10px;
}

.settingswidget {
margin: 0 1em;
}
ul.settings-list{
margin:0;padding:0;
}
ul.settings-list > li
{
list-style: none;
}
fieldset.settingswidget, form.settingswidget > fieldset {
border:0;
padding:0;
margin:0;
}
.form-horizontal .control-label,.form-horizontal .controls{
-moz-box-sizing: border-box;
box-sizing: border-box;
}
form li.control-group{
overflow:visible;
}
.form-core .control-group{
margin-bottom: 5px;
}
.form-horizontal .col-sm-1,.form-horizontal .col-sm-2,.form-horizontal .col-sm-3,.form-horizontal .col-sm-4,.form-horizontal .col-sm-5,.form-horizontal .col-sm-6,.form-horizontal .col-sm-7,.form-horizontal .col-sm-8,.form-horizontal .col-sm-9,.form-horizontal .col-sm-10,.form-horizontal .col-sm-11,.form-horizontal .col-sm-12 {
position: relative;
min-height: 1px;
padding-right: 15px;
padding-left: 15px;
margin-left:0;/* Fix default margin left for boostrap 2.1 */
}
.form-horizontal.col-sm-1,.form-horizontal .col-sm-2,.form-horizontal .col-sm-3,.form-horizontal .col-sm-4,.form-horizontal .col-sm-5,.form-horizontal .col-sm-6,.form-horizontal .col-sm-7,.form-horizontal .col-sm-8,.form-horizontal .col-sm-9,.form-horizontal .col-sm-10,.form-horizontal .col-sm-11,.form-horizontal .col-sm-12 {
float: left;
}
.settingswidget .setting > .control-label {
text-align: right;
vertical-align: top;
}
.form-horizontal textarea {
height:auto;
}
.form-horizontal .default textarea,
.form-horizontal .default .htmleditor,
.form-horizontal .default .jsoneditor-wrapper
{
width: 100%;
}
.form-horizontal .default textarea {
min-height:10em;
}
.form-horizontal .control-label:after{
}

.form-horizontal input + .help-block, .form-horizontal select + .help-block, .form-horizontal textarea + .help-block {
/* Set to 10px in 2.1, Removed in bootstrap 2.3 */
margin-top: 0;
}
.form-horizontal .buttons{text-align:center}

.form-horizontal ul.wysihtml5-toolbar li {
overflow:visible;
}
Expand Down

0 comments on commit af5cb66

Please sign in to comment.