当前位置: 首页>>代码示例>>PHP>>正文


PHP Permission::QuestionID方法代码示例

本文整理汇总了PHP中Permission::QuestionID方法的典型用法代码示例。如果您正苦于以下问题:PHP Permission::QuestionID方法的具体用法?PHP Permission::QuestionID怎么用?PHP Permission::QuestionID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Permission的用法示例。


在下文中一共展示了Permission::QuestionID方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: Create


//.........这里部分代码省略.........
     $ward->Salt = salt();
     $ward->Password = hashPwd($rawPwd, $ward->Salt);
     $ward->Balance = 2.5;
     $ward->Deleted = false;
     if (!$ward->Save()) {
         return null;
     }
     // Set up pre-defined callings, privileges, permissions, and a sample survey question or two.
     $callings = array();
     $callings[1] = new Calling("Bishop", $ward->ID, true);
     $callings[2] = new Calling("Bishopric 1st Counselor", $ward->ID, true);
     $callings[3] = new Calling("Bishopric 2nd Counselor", $ward->ID, true);
     $callings[4] = new Calling("Executive Secretary", $ward->ID, true);
     $callings[5] = new Calling("Elders Quorum President", $ward->ID, true);
     $callings[6] = new Calling("Elders Quorum 1st Counselor", $ward->ID, true);
     $callings[7] = new Calling("Elders Quorum 2nd Counselor", $ward->ID, true);
     $callings[8] = new Calling("Elders Quorum Secretary", $ward->ID, true);
     $callings[9] = new Calling("Relief Society President", $ward->ID, true);
     $callings[10] = new Calling("Relief Society 1st Counselor", $ward->ID, true);
     $callings[11] = new Calling("Relief Society 2nd Counselor", $ward->ID, true);
     $callings[12] = new Calling("Relief Society Secretary", $ward->ID, true);
     $callings[13] = new Calling("Ward Clerk", $ward->ID, true);
     $callings[14] = new Calling("Membership Clerk", $ward->ID, true);
     foreach ($callings as $c) {
         $c->Save();
     }
     // Save each calling
     // Compile an array of each privilege in the database; currently, we have IDs 1 through 13
     $privileges = array();
     $priv_count = mysql_fetch_row(DB::Run("SELECT COUNT(1) FROM Privileges"))[0];
     for ($i = 1; $i <= $priv_count; $i++) {
         $privileges[$i] = Privilege::Load($i);
     }
     // Bishopric (excluding executive secretary) can mass email all ward members,
     // see everything in the export file, and manage privileges, and send texts
     for ($i = 1; $i <= 3; $i++) {
         $privileges[PRIV_EMAIL_ALL]->GrantToCalling($callings[$i]->ID());
         $privileges[PRIV_EXPORT_EMAIL]->GrantToCalling($callings[$i]->ID());
         $privileges[PRIV_EXPORT_PHONE]->GrantToCalling($callings[$i]->ID());
         $privileges[PRIV_EXPORT_BDATE]->GrantToCalling($callings[$i]->ID());
         $privileges[PRIV_MNG_SITE_PRIV]->GrantToCalling($callings[$i]->ID());
         $privileges[PRIV_TEXT_ALL]->GrantToCalling($callings[$i]->ID());
     }
     // Executive secretary gets all privileges (except redundant ones 2 and 3 - mass email brothers/sisters)
     for ($i = PRIV_EMAIL_ALL; $i <= PRIV_TEXT_ALL; $i++) {
         if ($i != PRIV_EMAIL_BRO && $i != PRIV_EMAIL_SIS) {
             $privileges[$i]->GrantToCalling($callings[4]->ID());
         }
     }
     // EQ presidency gets to mass-email all brothers
     for ($i = 5; $i <= 8; $i++) {
         $privileges[PRIV_EMAIL_BRO]->GrantToCalling($callings[$i]->ID());
     }
     // The EQ president needs to see more in the export file
     $privileges[PRIV_EXPORT_EMAIL]->GrantToCalling($callings[5]->ID());
     $privileges[PRIV_EXPORT_PHONE]->GrantToCalling($callings[5]->ID());
     $privileges[PRIV_EXPORT_BDATE]->GrantToCalling($callings[5]->ID());
     // RS presidency gets to mass-email all sisters
     for ($i = 9; $i <= 12; $i++) {
         $privileges[PRIV_EMAIL_SIS]->GrantToCalling($callings[$i]->ID());
     }
     // RS president can see more in the export file, too
     $privileges[PRIV_EXPORT_EMAIL]->GrantToCalling($callings[9]->ID());
     $privileges[PRIV_EXPORT_PHONE]->GrantToCalling($callings[9]->ID());
     $privileges[PRIV_EXPORT_BDATE]->GrantToCalling($callings[9]->ID());
     // Ward clerks can see all info in export file and manage site privileges
     $privileges[PRIV_EXPORT_EMAIL]->GrantToCalling($callings[13]->ID());
     $privileges[PRIV_EXPORT_PHONE]->GrantToCalling($callings[13]->ID());
     $privileges[PRIV_EXPORT_BDATE]->GrantToCalling($callings[13]->ID());
     $privileges[PRIV_MNG_SITE_PRIV]->GrantToCalling($callings[13]->ID());
     // Membership clerks needs to see all info in export file, and can
     // manage callings, profile pictures, and delete accounts
     $privileges[PRIV_EXPORT_EMAIL]->GrantToCalling($callings[14]->ID());
     $privileges[PRIV_EXPORT_PHONE]->GrantToCalling($callings[14]->ID());
     $privileges[PRIV_EXPORT_BDATE]->GrantToCalling($callings[14]->ID());
     $privileges[PRIV_MNG_CALLINGS]->GrantToCalling($callings[14]->ID());
     $privileges[PRIV_MNG_PROFILE_PICS]->GrantToCalling($callings[14]->ID());
     $privileges[PRIV_DELETE_ACCTS]->GrantToCalling($callings[14]->ID());
     // --------------------------------------------------- //
     // Create a sample/starter question.
     $qu = new SurveyQuestion();
     $qu->Question = "Welcome to the singles ward! Do you prefer blue, brown, or green eyes?";
     $qu->QuestionType = QuestionType::MultipleChoice;
     $qu->Required = false;
     $qu->Visible = true;
     $qu->WardID = $ward->ID();
     $qu->Save();
     $qu->AddAnswerOption("Brown eyes");
     $qu->AddAnswerOption("Blue eyes");
     $qu->AddAnswerOption("Green eyes");
     // Let a few people see it: Bishop, Exec. Sec, EQP, and RSP
     $p = new Permission();
     $p->QuestionID($qu->ID());
     $p->Allow($callings[1]->ID(), "Calling", true);
     $p->Allow($callings[4]->ID(), "Calling", true);
     $p->Allow($callings[5]->ID(), "Calling", true);
     $p->Allow($callings[9]->ID(), "Calling", true);
     // I think we're all done here!
     return $ward;
 }
开发者ID:bluegate010,项目名称:ysaward,代码行数:101,代码来源:Ward.php

示例2: Permissions

 public function Permissions($removeOverlap = true)
 {
     $permissions = array();
     $wardID = DB::Safe($_SESSION['wardID']);
     $questionQuery = DB::Run("SELECT ID FROM SurveyQuestions WHERE WardID='{$wardID}'");
     while ($questionRow = mysql_fetch_array($questionQuery)) {
         $per = new Permission();
         // Ad-hoc part. We're not looking up permissions by calling or name.
         $per->QuestionID($questionRow['ID']);
         $permissions[] = $per;
     }
     return $permissions;
 }
开发者ID:bluegate010,项目名称:ysaward,代码行数:13,代码来源:StakeLeader.php

示例3: fail

}
if ($allCallings && $callingID) {
    fail("You selected to set this permission for ALL callings but chose a specific calling. Which one? Please go back and try again.");
}
if ($allMembers && $callingID || $allCallings && $memberID) {
    fail("You chose a wildcard permission across all callings or members but also chose a specific member or calling. Please select only one or the other.");
}
// Make sure the selected member or calling is in this ward
if ($callingID) {
    $c = Calling::Load($callingID);
    if ($c->WardID() != $MEMBER->WardID) {
        fail("The calling you chose is not in your ward.");
    }
} else {
    if ($memberID) {
        $m = Member::Load($memberID);
        if ($m->WardID != $MEMBER->WardID) {
            fail("The member you chose is not in your ward.");
        }
    }
}
$objID = $callingID ? $callingID : $memberID;
$objType = $callingID ? "Calling" : "Member";
$n = count($questionID);
for ($i = 0; $i < $n; $i++) {
    $p = new Permission();
    $p->QuestionID($questionID[$i]);
    $p->Allow($objID, $objType, true);
}
// Must do a redirect because this form isn't ajax-ified...
header("Location: ../permissions.php");
开发者ID:bluegate010,项目名称:ysaward,代码行数:31,代码来源:addpermission.php


注:本文中的Permission::QuestionID方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。