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"]; }
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); }
/** * 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")); }