// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
/**
 * giportfolio plugin settings
 *
 * @package    mod_giportfolio
 * @copyright  2004-2011 Petr Skoda  {@link http://skodak.org}
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
defined('MOODLE_INTERNAL') || die;
global $CFG;
if ($ADMIN->fulltree) {
    require_once "{$CFG->dirroot}/mod/giportfolio/lib.php";
    // General settings.
    if ($CFG->branch < 29) {
        $settings->add(new admin_setting_configcheckbox('giportfolio/requiremodintro', get_string('requiremodintro', 'admin'), get_string('configrequiremodintro', 'admin'), 1));
    }
    $options = giportfolio_get_numbering_types();
    $settings->add(new admin_setting_configmultiselect('giportfolio/numberingoptions', get_string('numberingoptions', 'mod_giportfolio'), get_string('numberingoptions_help', 'mod_giportfolio'), array_keys($options), $options));
    $settings->add(new admin_setting_configcheckbox('giportfolio/contributioncount', get_string('contributioncount', 'mod_giportfolio'), get_string('contributioncount_desc', 'mod_giportfolio'), 0));
    // Modedit defaults.
    $settings->add(new admin_setting_heading('giportfoliomodeditdefaults', get_string('modeditdefaults', 'admin'), get_string('condifmodeditdefaults', 'admin')));
    $settings->add(new admin_setting_configselect('giportfolio/numbering', get_string('numbering', 'mod_giportfolio'), '', PORTFOLIO_NUM_NUMBERS, $options));
}
 public function definition()
 {
     global $CFG;
     $mform = $this->_form;
     $config = get_config('giportfolio');
     $mform->addElement('header', 'general', get_string('general', 'form'));
     $mform->addElement('text', 'name', get_string('name'), array('size' => '64'));
     if (!empty($CFG->formatstringstriptags)) {
         $mform->setType('name', PARAM_TEXT);
     } else {
         $mform->setType('name', PARAM_CLEANHTML);
     }
     $mform->addRule('name', null, 'required', null, 'client');
     if ($CFG->branch < 29) {
         $this->add_intro_editor($config->requiremodintro, get_string('summary'));
     } else {
         $this->standard_intro_elements(get_string('summary'));
     }
     $alloptions = giportfolio_get_numbering_types();
     $allowed = explode(',', $config->numberingoptions);
     $options = array();
     foreach ($allowed as $type) {
         if (isset($alloptions[$type])) {
             $options[$type] = $alloptions[$type];
         }
     }
     if ($this->current->instance) {
         if (!isset($options[$this->current->numbering])) {
             if (isset($alloptions[$this->current->numbering])) {
                 $options[$this->current->numbering] = $alloptions[$this->current->numbering];
             }
         }
     }
     $mform->addElement('select', 'numbering', get_string('numbering', 'giportfolio'), $options);
     $mform->addHelpButton('numbering', 'numbering', 'mod_giportfolio');
     $mform->setDefault('numbering', $config->numbering);
     $mform->addElement('checkbox', 'printing', get_string('printing', 'giportfolio'));
     $mform->addHelpButton('printing', 'printing', 'mod_giportfolio');
     $mform->setDefault('printing', 0);
     $mform->addElement('checkbox', 'customtitles', get_string('customtitles', 'giportfolio'));
     $mform->addHelpButton('customtitles', 'customtitles', 'mod_giportfolio');
     $mform->setDefault('customtitles', 0);
     // SYNERGY - add collapsesubchapters option to settings.
     $mform->addElement('selectyesno', 'collapsesubchapters', get_string('collapsesubchapters', 'giportfolio'));
     $mform->addElement('selectyesno', 'participantadd', get_string('participantadd', 'giportfolio'));
     $mform->addElement('text', 'chapternumber', get_string('chapternumberinit', 'giportfolio'), 'Required');
     $mform->addRule('chapternumber', 'Required', 'required', null, 'client');
     $mform->setDefault('chapternumber', 1);
     $mform->setType('chapternumber', PARAM_INT);
     $mform->addRule('chapternumber', 'must be numeric', 'numeric', null, 'client');
     $mform->addRule('chapternumber', 'add valid number', 'nonzero', null, 'client');
     $mform->addRule('chapternumber', 'add positive number', 'regex', '|^[1-9][0-9]*$|', 'client');
     // Positive number.
     $mform->addElement('checkbox', 'publishnotification', get_string('publishnotification', 'giportfolio'));
     $mform->setDefault('publishnotification', 0);
     $mform->addElement('selectyesno', 'notifyaddentry', get_string('notifyaddentry', 'giportfolio'));
     $mform->setDefault('newentrynotification', 0);
     $this->standard_grading_coursemodule_elements();
     $this->standard_coursemodule_elements();
     $this->add_action_buttons();
 }