示例#1
0
function hasTemplateManageRights($userid, $templatefolder)
{
    $userid = sanitize_int($userid);
    $templatefolder = sanitize_paranoid_string($templatefolder);
    $criteria = new CDbCriteria();
    $criteria->addColumnCondition(array('uid' => $userid));
    $criteria->addSearchCondition('folder', $templatefolder);
    $query = Templates_rights::model()->find($criteria);
    //if ($result->RecordCount() == 0)  return false;
    if (is_null($query)) {
        return false;
    }
    $row = $query;
    //$row = $result->FetchRow();
    return $row["use"];
}
示例#2
0
 function usertemplates()
 {
     $clang = Yii::app()->lang;
     $postuserid = Yii::app()->request->getPost('uid');
     // SUPERADMINS AND MANAGE_TEMPLATE USERS CAN SET THESE RIGHTS
     if (Yii::app()->session['USER_RIGHT_SUPERADMIN'] == 1 || Yii::app()->session['USER_RIGHT_MANAGE_TEMPLATE'] == 1) {
         $templaterights = array();
         $tresult = Template::model()->findAll();
         foreach ($tresult as $trow) {
             if (isset($_POST[$trow["folder"] . "_use"])) {
                 $templaterights[$trow["folder"]] = 1;
             } else {
                 $templaterights[$trow["folder"]] = 0;
             }
         }
         foreach ($templaterights as $key => $value) {
             $rights = Templates_rights::model()->findByPk(array('folder' => $key, 'uid' => $postuserid));
             if (empty($rights)) {
                 $rights = new Templates_rights();
                 $rights->uid = $postuserid;
                 $rights->folder = $key;
             }
             $rights->use = $value;
             $uresult = $rights->save();
         }
         if ($uresult !== false) {
             $aViewUrls['mboxwithredirect'][] = $this->_messageBoxWithRedirect($clang->gT("Set template permissions"), $clang->gT("Template permissions were updated successfully."), "successheader");
         } else {
             $aViewUrls['mboxwithredirect'][] = $this->_messageBoxWithRedirect($clang->gT("Set template permissions"), $clang->gT("Error while updating usertemplates."), "warningheader");
         }
     } else {
         die('access denied');
     }
     $this->_renderWrappedTemplate('user', $aViewUrls);
 }
示例#3
0
 /**
  * Function responsible to delete a template.
  *
  * @access public
  * @param string $templatename
  * @return void
  */
 public function delete($templatename)
 {
     Yii::app()->loadHelper("admin/template");
     if (is_template_editable($templatename) == true) {
         $clang = $this->getController()->lang;
         if (rmdirr(Yii::app()->getConfig('usertemplaterootdir') . "/" . $templatename) == true) {
             $surveys = Survey::model()->findAllByAttributes(array('template' => $templatename));
             foreach ($surveys as $s) {
                 $s->template = Yii::app()->getConfig('defaulttemplate');
                 $s->save();
             }
             Template::model()->deleteAllByAttributes(array('folder' => $templatename));
             Templates_rights::model()->deleteAllByAttributes(array('folder' => $templatename));
             Yii::app()->session['flashmessage'] = sprintf($clang->gT("Template '%s' was successfully deleted."), $templatename);
         } else {
             Yii::app()->session['flashmessage'] = sprintf($clang->gT("There was a problem deleting the template '%s'. Please check your directory/file permissions."), $templatename);
         }
     }
     // Redirect with default templatename, editfile and screenname
     $this->getController()->redirect($this->getController()->createUrl("admin/templates/view"));
 }