Exemple #1
0
    $arComponentParameters["PARAMETERS"]["RSS_TYPE_RANGE"] = array("PARENT" => "RSS_SETTINGS", "NAME" => GetMessage("F_RSS_TYPE"), "TYPE" => "LIST", "VALUES" => array("RSS1" => "RSS 0.92", "RSS2" => "RSS 2.0", "ATOM" => "Atom 0.3"), "MULTIPLE" => "Y", "DEFAULT" => array("RSS1", "RSS2", "ATOM"), "HIDDEN" => $hidden);
    //	$arComponentParameters["PARAMETERS"]["RSS_FID_RANGE"] = CForumParameters::GetForumsMultiSelect(GetMessage("F_RSS_FORUM_RANGE"), "RSS_SETTINGS");
    $arComponentParameters["PARAMETERS"]["RSS_CACHE"] = array("PARENT" => "CACHE_SETTINGS", "NAME" => GetMessage("F_RSS_CACHE"), "TYPE" => "STRING", "DEFAULT" => "1800", "HIDDEN" => $hidden);
    $arComponentParameters["PARAMETERS"]["RSS_COUNT"] = array("PARENT" => "RSS_SETTINGS", "NAME" => GetMessage("F_RSS_COUNT"), "TYPE" => "STRING", "DEFAULT" => '30');
    $arComponentParameters["PARAMETERS"]["RSS_TN_TITLE"] = array("PARENT" => "RSS_SETTINGS", "NAME" => GetMessage("RSS_TITLE"), "TYPE" => "STRING", "DEFAULT" => "", "HIDDEN" => $hidden);
    $arComponentParameters["PARAMETERS"]["RSS_TN_DESCRIPTION"] = array("PARENT" => "RSS_SETTINGS", "NAME" => GetMessage("RSS_DESCRIPTION"), "TYPE" => "STRING", "COLS" => "25", "ROWS" => "10", "DEFAULT" => "", "HIDDEN" => $hidden);
}
if (IsModuleInstalled("vote")) {
    $right = $GLOBALS["APPLICATION"]->GetGroupRight("vote");
    if ($right >= "W") {
        $arComponentParameters["GROUPS"]["VOTE_SETTINGS"] = array("NAME" => GetMessage("F_VOTE_SETTINGS"));
        $arComponentParameters["PARAMETERS"]["SHOW_VOTE"] = array("PARENT" => "VOTE_SETTINGS", "NAME" => GetMessage("F_SHOW_VOTE"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", "REFRESH" => "Y");
        if ($arCurrentValues["SHOW_VOTE"] == "Y") {
            $arVoteChannels = array();
            CModule::IncludeModule("vote");
            $db_res = CVoteChannel::GetList($by = "", $order = "", array("ACTIVE" => "Y"), $is_filtered);
            if ($db_res && ($res = $db_res->Fetch())) {
                do {
                    $arVoteChannels[$res["ID"] . ""] = "[ " . $res["ID"] . " ]" . $res["TITLE"];
                } while ($res = $db_res->Fetch());
            }
            $arComponentParameters["PARAMETERS"]["VOTE_CHANNEL_ID"] = array("PARENT" => "VOTE_SETTINGS", "NAME" => GetMessage("F_VOTE_CHANNEL_ID"), "TYPE" => "LIST", "VALUES" => $arVoteChannels, "DEFAULT" => "", "REFRESH" => "Y");
            reset($arVoteChannels);
            if (intVal($arCurrentValues["VOTE_CHANNEL_ID"]) > 0) {
                $voteId = intVal($arCurrentValues["VOTE_CHANNEL_ID"]);
            } else {
                $voteId = key($arVoteChannels);
            }
            if (!empty($voteId)) {
                $arPermissions = CVoteChannel::GetArrayGroupPermission($voteId);
                $arUGroupsEx = array();
Exemple #2
0
	/**
	 * Shows data form in admin part when you edit or add usertype.
	 * @param bool $arUserField
	 * @param string $arHtmlControl
	 * @param bool $bVarsFromForm
	 * @return string
	 */
	function GetSettingsHTML($arUserField = false, $arHtmlControl, $bVarsFromForm)
	{
		if (!CModule::IncludeModule("vote"))
			return '';
		$value = "";
		if($bVarsFromForm)
			$value = $GLOBALS[$arHtmlControl["NAME"]]["CHANNEL_ID"];
		elseif(is_array($arUserField)){
			$value = $arUserField["SETTINGS"]["CHANNEL_ID"];
			$GLOBALS[$arHtmlControl["NAME"]]["NOTIFY"] = $arUserField["SETTINGS"]["NOTIFY"];
		}
		$value = (!empty($value) ? intval($value) : "add");
		$db_res = CVoteChannel::GetList($by = "", $order = "", array("ACTIVE" => "Y"), $is_filtered);
		$arVoteChannels = array("reference" => array(GetMessage("V_NEW_CHANNEL")), "reference_id" => array("add"));
		if ($db_res && $res = $db_res->Fetch())
		{
			do
			{
				$arVoteChannels["reference"][] = $res["TITLE"];
				$arVoteChannels["reference_id"][] = $res["ID"];
			} while ($res = $db_res->Fetch());
		}

		ob_start();
?>
	<tr>
		<td><?php 
echo GetMessage("V_CHANNEL_ID_COLON");
?>
</td>
		<td><?php 
echo str_replace("<select", "<select onchange='if(this.value!=\"add\"){BX.hide(BX(\"channel_create\"));BX.show(this.nextSibling);}" . "else{BX(\"channel_create\").style.display=\"\";BX.hide(this.nextSibling);}' ", SelectBoxFromArray($arHtmlControl["NAME"] . "[CHANNEL_ID]", $arVoteChannels, $value));
?>
<a style="margin-left: 1em;" href="" rel="/bitrix/admin/vote_channel_edit.php?ID=#id#" <?
			?>onmousedown="this.href=this.rel.replace('#id#',this.previousSibling.value);"><?php 
echo GetMessage("V_CHANNEL_ID_EDIT");
?>
</a></td>
	</tr>
	<tbody id="channel_create" style="<?if ($value != "add") {?>display:none;<?}?>">
	<tr class="adm-detail-required-field">
		<td class="adm-detail-content-cell-l" width="40%"><?php 
echo GetMessage("V_CHANNEL_ID_TITLE");
?>
</td>
		<td class="adm-detail-content-cell-r" width="60%"><input type="text" name="<?php 
echo $arHtmlControl["NAME"];
?>
[CHANNEL_TITLE]" <?
			?>value="<?php 
echo htmlspecialcharsbx($GLOBALS[$arHtmlControl["NAME"]]["CHANNEL_TITLE"]);
?>
" /></td>
	</tr>
	<tr class="adm-detail-required-field">
		<td class="adm-detail-content-cell-l"><?php 
echo GetMessage("V_CHANNEL_ID_SYMBOLIC_NAME");
?>
</td>
		<td class="adm-detail-content-cell-r"><input type="text" name="<?php 
echo $arHtmlControl["NAME"];
?>
[CHANNEL_SYMBOLIC_NAME]" <?
			?>value="<?php 
echo htmlspecialcharsbx($GLOBALS[$arHtmlControl["NAME"]]["CHANNEL_SYMBOLIC_NAME"]);
?>
" /></td>
	</tr>
	<tr>
		<td class="adm-detail-content-cell-l">&nbsp;</td>
		<td class="adm-detail-content-cell-r"><input type="checkbox" name="<?php 
echo $arHtmlControl["NAME"];
?>
[CHANNEL_USE_CAPTCHA]" <?
			?>id="CHANNEL_USE_CAPTCHA" <?if ($GLOBALS[$arHtmlControl["NAME"]]["CHANNEL_USE_CAPTCHA"] == "Y"){?> checked <?}
			?>value="Y" /> <label for="CHANNEL_USE_CAPTCHA"><?php 
echo GetMessage("V_CHANNEL_ID_USE_CAPTCHA");
?>
</label></td>
	</tr><?
	$db_res = CGroup::GetList($by = "sort", $order = "asc", Array("ADMIN" => "N"));
	while ($group = $db_res->GetNext())
	{
		if($bVarsFromForm)
			$value = $GLOBALS[$arHtmlControl["NAME"]]["GROUP_ID"][$group["ID"]];
		else
			$value = ($group["ID"] == 2 ? 1 : ($group["ID"] == 1 ? 4 : 2));
?>
	<tr>
		<td class="adm-detail-content-cell-l"><?php 
echo $group["NAME"] . ":";
?>
</td>
		<td class="adm-detail-content-cell-r"><?php 
echo SelectBoxFromArray("GROUP_ID[" . $group["ID"] . "]", $GLOBALS["aVotePermissions"], $value);
?>
</td>
	</tr><?
	}

?>
	</tbody>
<?
		if($bVarsFromForm)
		{
			$GLOBALS[$arHtmlControl["NAME"]]['UNIQUE'] = is_array($GLOBALS[$arHtmlControl["NAME"]]['UNIQUE']) ?
				$GLOBALS[$arHtmlControl["NAME"]]['UNIQUE'] : array();
			$uniqType = 0;
			foreach ($GLOBALS[$arHtmlControl["NAME"]]['UNIQUE'] as $res)
				$uniqType |= $res;
		}
		else
		{
			$uniqType = ($arUserField["SETTINGS"]["UNIQUE"] ? $arUserField["SETTINGS"]["UNIQUE"] : 13);
			if (is_array($arUserField["SETTINGS"]["UNIQUE"])) {
				foreach ( $arUserField["SETTINGS"]["UNIQUE"] as $res) {
					$uniqType |= $res; }
				$uniqType += 5;
			}
			$uniqType -=5;
		}
?>
<script language="javascript">
function __utch(show)
{
	if (BX("UNIQUE_TYPE_IP").checked)
		BX.show(BX("DELAY_TYPE"), "");
	else
		BX.hide(BX("DELAY_TYPE"));

	var
		show = BX("UNIQUE_TYPE_USER_ID").checked,
		res = BX("UNIQUE_TYPE_USER_ID_NEW");
	res.disabled = !show;
	if (!!show)
		BX.show(res.parentNode.parentNode, "");
	else
		BX.hide(res.parentNode.parentNode);
}
</script>
	<tr>
		<td class="adm-detail-content-cell-l adm-detail-valign-top" width="40%"><?php 
echo GetMessage("VOTE_NOTIFY");
?>
</td>
		<td class="adm-detail-content-cell-r" width="60%"><?
			$GLOBALS[$arHtmlControl["NAME"]]["NOTIFY"] = (
				$GLOBALS[$arHtmlControl["NAME"]]["NOTIFY"] != "I" && $GLOBALS[$arHtmlControl["NAME"]]["NOTIFY"] != "Y" ?
					"N" : $GLOBALS[$arHtmlControl["NAME"]]["NOTIFY"]);
			if (IsModuleInstalled("im")){?>
				<?php 
echo InputType("radio", $arHtmlControl["NAME"] . "[NOTIFY]", "I", $GLOBALS[$arHtmlControl["NAME"]]["NOTIFY"], false, GetMessage("VOTE_NOTIFY_IM"));
?>
<br /><?
			} else {
				$GLOBALS[$arHtmlControl["NAME"]]["NOTIFY"] = ($GLOBALS[$arHtmlControl["NAME"]]["NOTIFY"] == "I" ?
					"N" : $GLOBALS[$arHtmlControl["NAME"]]["NOTIFY"]);
			}?>
			<?php 
echo InputType("radio", $arHtmlControl["NAME"] . "[NOTIFY]", "Y", $GLOBALS[$arHtmlControl["NAME"]]["NOTIFY"], false, GetMessage("VOTE_NOTIFY_EMAIL"));
?>
<br />
			<?php 
echo InputType("radio", $arHtmlControl["NAME"] . "[NOTIFY]", "N", $GLOBALS[$arHtmlControl["NAME"]]["NOTIFY"], false, GetMessage("VOTE_NOTIFY_N"));
?>
<?
			?></td>
	</tr>
	<tr>
		<td class="adm-detail-content-cell-l adm-detail-valign-top"><?php 
echo GetMessage("V_UNIQUE");
?>
</td>
		<td class="adm-detail-content-cell-r">
			<? if (IsModuleInstalled('statistic')) { ?>
			<input type="checkbox" name="<?php 
echo $arHtmlControl["NAME"];
?>
[UNIQUE][]" id="UNIQUE_TYPE_SESSION" value="1" <?php 
echo $uniqType & 1 ? " checked" : "";
?>
 />
			<label for="UNIQUE_TYPE_SESSION"><?php 
echo GetMessage("V_UNIQUE_SESSION");
?>
</label><br />
			<? } ?>
			<input type="checkbox" name="<?php 
echo $arHtmlControl["NAME"];
?>
[UNIQUE][]" id="UNIQUE_TYPE_COOKIE" value="2" <?php 
echo $uniqType & 2 ? " checked" : "";
?>
 />
			<label for="UNIQUE_TYPE_COOKIE"><?php 
echo GetMessage("V_UNIQUE_COOKIE_ONLY");
?>
</label><br />
			<input type="checkbox" name="<?php 
echo $arHtmlControl["NAME"];
?>
[UNIQUE][]" id="UNIQUE_TYPE_IP" onclick="__utch()" value="4" <?
				?><?php 
echo $uniqType & 4 ? " checked" : "";
?>
 />
			<label for="UNIQUE_TYPE_IP"><?php 
echo GetMessage("V_UNIQUE_IP_ONLY");
?>
</label><br />
			<input type="checkbox" name="<?php 
echo $arHtmlControl["NAME"];
?>
[UNIQUE][]" id="UNIQUE_TYPE_USER_ID" onclick="__utch();" value="8" <?
				?><?php 
echo $uniqType & 8 ? " checked" : "";
?>
 />
			<label for="UNIQUE_TYPE_USER_ID"><?php 
echo GetMessage("V_UNIQUE_USER_ID_ONLY");
?>
</label><br />
		</td>
	</tr>
	<tr>
		<td class="adm-detail-content-cell-l" width="40%">&nbsp;</td>
		<td class="adm-detail-content-cell-r" width="60%"><input type="checkbox" name="<?php 
echo $arHtmlControl["NAME"];
?>
[UNIQUE][]" id="UNIQUE_TYPE_USER_ID_NEW" value="16" <?
			?><?php 
echo $uniqType & 16 ? " checked " : "";
?>
<?
			?><?php 
echo $uniqType & 8 ? "" : " disabled";
?>
 /> <label for="UNIQUE_TYPE_USER_ID_NEW"><?php 
echo GetMessage("V_UNIQUE_USER_ID_NEW");
?>
</label>
		</td>
	</tr>
	<?
		if($bVarsFromForm)
			$value = $GLOBALS[$arHtmlControl["NAME"]]["UNIQUE_IP_DELAY"];
		else
			$value = (is_array($arUserField) ?
				$arUserField["SETTINGS"]["UNIQUE_IP_DELAY"] :
					array("DELAY" => "10", "DELAY_TYPE" => "D"));
		?>
	<tr id="DELAY_TYPE">
		<td class="adm-detail-content-cell-l" width="40%"><?php 
echo GetMessage("V_UNIQUE_IP_DELAY");
?>
</td>
		<td class="adm-detail-content-cell-r" width="60%">
			<input type="text" name="<?php 
echo $arHtmlControl["NAME"];
?>
[UNIQUE_IP_DELAY][DELAY]" value="<?php 
echo htmlspecialcharsbx($value["DELAY"]);
?>
" />
			<?php 
echo SelectBoxFromArray($arHtmlControl["NAME"] . "[UNIQUE_IP_DELAY][DELAY_TYPE]", array("reference_id" => array("S", "M", "H", "D"), "reference" => array(GetMessage("V_SECONDS"), GetMessage("V_MINUTES"), GetMessage("V_HOURS"), GetMessage("V_DAYS"))), $value["DELAY_TYPE"]);
?>
<script type="text/javascript">
BX.ready(function(){
	if (!!document.forms.post_form.MULTIPLE)
		BX.hide(document.forms.post_form.MULTIPLE.parentNode.parentNode);
	__utch();
});
</script>

		</td>
	</tr>
	<?
	return ob_get_clean();
	}
Exemple #3
0
	function GetFormHtml()
	{
		if(!CModule::IncludeModule('forum'))
			return '';

		$s = '
<tr class="section">
	<td colspan="2">'.GetMessage("forum_template_settings").'</td>
</tr>
<tr>
	<td class="bx-popup-label">'.GetMessage("forum_template_forums").'</td>
	<td><select name="forum_FID[]" size="4" multiple>
		<option value="" selected>'.GetMessage("forum_template_forums_all").'</option>';
		$arForums = CForumParameters::GetForumsList();
		foreach($arForums as $key=>$val)
			$s .= '<option value="'.$key.'">'.$val.'</option>';
	$s .= '
	</select></td>
</tr>
';		
		$arThemesMessages = array(
			"beige" => GetMessage("F_THEME_BEIGE"), 
			"blue" => GetMessage("F_THEME_BLUE"), 
			"fluxbb" => GetMessage("F_THEME_FLUXBB"), 
			"gray" => GetMessage("F_THEME_GRAY"), 
			"green" => GetMessage("F_THEME_GREEN"), 
			"orange" => GetMessage("F_THEME_ORANGE"), 
			"red" => GetMessage("F_THEME_RED"), 
			"white" => GetMessage("F_THEME_WHITE"));
		$arThemes = array();
		$dir = $_SERVER["DOCUMENT_ROOT"].BX_ROOT."/components/bitrix/forum/templates/.default/themes/";
		if (is_dir($dir) && $directory = opendir($dir))
		{
			while (($file = readdir($directory)) !== false)
			{
				if ($file != "." && $file != ".." && is_dir($dir.$file))
					$arThemes[$file] = (!empty($arThemesMessages[$file]) ? $arThemesMessages[$file] : strtoupper(substr($file, 0, 1)).strtolower(substr($file, 1)));
			}
			closedir($directory);
		}
		
		if(!empty($arThemes))
		{
			$s .= '
<tr>
<td class="bx-popup-label">'.GetMessage("forum_template_theme").'</td>
<td><select name="forum_THEME">';
		foreach($arThemes as $key=>$val)
			$s .= '<option value="'.$key.'">'.$val.'</option>';
		$s .= '
	</select></td>
</tr>
';
		}

		if (IsModuleInstalled("vote"))
		{
			$right = $GLOBALS["APPLICATION"]->GetGroupRight("vote");
			if ($right >= "W")
			{
				$s .= '
<tr class="section">
	<td colspan="2">'.GetMessage("forum_template_vote").'</td>
</tr>
<tr>
	<td class="bx-popup-label"><label for="forum_SHOW_VOTE">'.GetMessage("forum_template_vote_enable").'</label></td>
	<td>
<script>
window.ForumVoteClick = function(el)
{
	document.getElementById("forum_vote_group").style.display = (el.checked? "":"none");
	document.getElementById("forum_user_group").style.display = (el.checked? "":"none");
}

window.ForumVoteChannelClick = function(el)
{
	if(el.form.forum_VOTE_CHANNEL_ID)
		el.form.forum_VOTE_CHANNEL_ID.disabled = (el.value == "Y");
}
</script>
		<input type="checkbox" name="forum_SHOW_VOTE" id="forum_SHOW_VOTE" value="Y" onclick="ForumVoteClick(this);">
	</td>
</tr>
<tr id="forum_vote_group" style="display:none;">
	<td class="bx-popup-label">'.GetMessage("forum_template_vote_channel").'</td>
	<td>
		<input type="radio" name="forum_NEW_VOTE_CHANNEL" value="Y" id="forum_NEW_VOTE_CHANNEL_Y" checked onclick="ForumVoteChannelClick(this);"><label for="forum_NEW_VOTE_CHANNEL_Y">'.GetMessage("forum_template_vote_channel_new").'</label><br>
';
				$arVoteChannels = array();
				CModule::IncludeModule("vote");
				$db_res = CVoteChannel::GetList($by="s_title", $order="asc", array("ACTIVE" => "Y"), $is_filtered);
				if($db_res && $res=$db_res->Fetch())
				{
					$s .= '
		<input type="radio" name="forum_NEW_VOTE_CHANNEL" value="N" id="forum_NEW_VOTE_CHANNEL_N" onclick="ForumVoteChannelClick(this);"><label for="forum_NEW_VOTE_CHANNEL_N">'.GetMessage("forum_template_vote_channel_select").':</label><br>
		<select name="forum_VOTE_CHANNEL_ID" style="width:100%" disabled>';
					do 
						$s .= '<option value="'.$res["ID"].'">'.htmlspecialcharsbx($res["TITLE"])." [".$res["ID"]."]".'</option>';
					while ($res = $db_res->Fetch());
					$s .= '</select>';
				}
				else
				{
					$s .= '
		<input type="radio" name="forum_NEW_VOTE_CHANNEL" value="N" id="forum_NEW_VOTE_CHANNEL_N" disabled><label for="forum_NEW_VOTE_CHANNEL_N" disabled>'.GetMessage("forum_template_vote_channel_select").'</label><br>
';
				}
				$s .= '
	</td>
</tr>
';
				$s .= '
<tr id="forum_user_group" style="display:none;">
	<td class="bx-popup-label">'.GetMessage("forum_template_vote_groups").'</td>
	<td><select name="forum_VOTE_GROUP_ID[]" size="4" multiple>
';
				$db_res = CGroup::GetList($by = "c_sort", $order = "asc");
				while($res = $db_res->Fetch())
					$s .= '<option value="'.$res["ID"].'">'.htmlspecialcharsbx($res["NAME"])." [".$res["ID"]."]".'</option>';
				$s .= '
		</select>
	</td>
</tr>
';					
			}
		}
		return $s;
	}
Exemple #4
0
 public static function CheckFields($ACTION, &$arFields, $ID = 0)
 {
     $aMsg = array();
     $ID = intVal($ID);
     $arVote = array();
     if ($ID > 0) {
         $db_res = CVote::GetByID($ID);
         if ($db_res && ($res = $db_res->Fetch())) {
             $arVote = $res;
         }
     }
     unset($arFields["ID"]);
     if (is_set($arFields, "CHANNEL_ID") || $ACTION == "ADD") {
         $arFields["CHANNEL_ID"] = intVal($arFields["CHANNEL_ID"]);
         if ($arFields["CHANNEL_ID"] <= 0) {
             $aMsg[] = array("id" => "CHANNEL_ID", "text" => GetMessage("VOTE_EMPTY_CHANNEL_ID"));
         } else {
             $rChannel = CVoteChannel::GetList($by, $order, array('ID' => intval($arFields['CHANNEL_ID'])), $filtered);
             if (!($rChannel && ($arChannel = $rChannel->Fetch()))) {
                 $aMsg[] = array("id" => "CHANNEL_ID", "text" => GetMessage("VOTE_WRONG_CHANNEL_ID"));
             }
         }
     }
     if (is_set($arFields, "C_SORT")) {
         $arFields["C_SORT"] = intval($arFields["C_SORT"]);
     }
     if (is_set($arFields, "ACTIVE") || $ACTION == "ADD") {
         $arFields["ACTIVE"] = $arFields["ACTIVE"] == "N" ? "N" : "Y";
     }
     unset($arFields["TIMESTAMP_X"]);
     $date_start = false;
     if (is_set($arFields, "DATE_START") || $ACTION == "ADD") {
         $arFields["DATE_START"] = trim($arFields["DATE_START"]);
         $date_start = MakeTimeStamp($arFields["DATE_START"]);
         if (!$date_start) {
             $aMsg[] = array("id" => "DATE_START", "text" => GetMessage("VOTE_WRONG_DATE_START"));
         }
     }
     if (is_set($arFields, "DATE_END") || $ACTION == "ADD") {
         $arFields["DATE_END"] = trim($arFields["DATE_END"]);
         if (strlen($arFields["DATE_END"]) <= 0) {
             if ($date_start != false) {
                 $date_end = $date_start + 2592000;
                 $arFields["DATE_END"] = GetTime($date_end, "FULL");
             } else {
                 $date_end = 1924984799;
                 // '31.12.2030 23:59:59'
                 $arFields["DATE_END"] = GetTime($date_end, "FULL");
             }
         } else {
             $date_end = MakeTimeStamp($arFields["DATE_END"]);
         }
         if (!$date_end) {
             $aMsg[] = array("id" => "DATE_END", "text" => GetMessage("VOTE_WRONG_DATE_END"));
         } elseif ($date_start >= $date_end && !empty($arFields["DATE_START"])) {
             $aMsg[] = array("id" => "DATE_END", "text" => GetMessage("VOTE_WRONG_DATE_TILL"));
         }
     }
     if (empty($aMsg) && (is_set($arFields, "DATE_START") || is_set($arFields, "DATE_END") || is_set($arFields, "CHANNEL_ID") || is_set($arFields, "ACTIVE"))) {
         $vid = 0;
         if ($ACTION == "ADD" && $arFields["ACTIVE"] == "Y") {
             $vid = CVote::WrongDateInterval(0, $arFields["DATE_START"], $arFields["DATE_END"], $arFields["CHANNEL_ID"]);
         } elseif ($ACTION != "ADD" && !(is_set($arFields, "ACTIVE") && $arFields["ACTIVE"] != "Y")) {
             $res = array("DATE_START" => is_set($arFields, "DATE_START") ? $arFields["DATE_START"] : false, "DATE_END" => is_set($arFields, "DATE_END") ? $arFields["DATE_END"] : false, "CHANNEL_ID" => is_set($arFields, "CHANNEL_ID") ? $arFields["CHANNEL_ID"] : false);
             $vid = CVote::WrongDateInterval($ID, $res["DATE_START"], $res["DATE_END"], $res["CHANNEL_ID"]);
         }
         if (intVal($vid) > 0) {
             $aMsg[] = array("id" => "DATE_START", "text" => str_replace("#ID#", $vid, GetMessage("VOTE_WRONG_INTERVAL")));
         }
     }
     if (is_set($arFields, "IMAGE_ID") && strLen($arFields["IMAGE_ID"]["name"]) <= 0 && strLen($arFields["IMAGE_ID"]["del"]) <= 0) {
         unset($arFields["IMAGE_ID"]);
     } elseif (is_set($arFields, "IMAGE_ID")) {
         if ($str = CFile::CheckImageFile($arFields["IMAGE_ID"])) {
             $aMsg[] = array("id" => "IMAGE_ID", "text" => $str);
         } else {
             $arFields["IMAGE_ID"]["MODULE_ID"] = "vote";
             if (!empty($arVote)) {
                 $arFields["IMAGE_ID"]["old_file"] = $arVote["IMAGE_ID"];
             }
         }
     }
     if (is_set($arFields, "COUNTER")) {
         $arFields["COUNTER"] = intVal($arFields["COUNTER"]);
     }
     if (is_set($arFields, "TITLE")) {
         $arFields["TITLE"] = trim($arFields["TITLE"]);
     }
     if (is_set($arFields, "DESCRIPTION")) {
         $arFields["DESCRIPTION"] = trim($arFields["DESCRIPTION"]);
     }
     if (is_set($arFields, "DESCRIPTION_TYPE") || $ACTION == "ADD") {
         $arFields["DESCRIPTION_TYPE"] = $arFields["DESCRIPTION_TYPE"] == "html" ? "html" : "text";
     }
     if (is_set($arFields, "EVENT1")) {
         $arFields["EVENT1"] = trim($arFields["EVENT1"]);
     }
     if (is_set($arFields, "EVENT2")) {
         $arFields["EVENT2"] = trim($arFields["EVENT2"]);
     }
     if (is_set($arFields, "EVENT3")) {
         $arFields["EVENT3"] = trim($arFields["EVENT3"]);
     }
     if (is_set($arFields, "UNIQUE_TYPE")) {
         $arFields["UNIQUE_TYPE"] = intVal($arFields["UNIQUE_TYPE"]);
     }
     if (is_set($arFields, "DELAY_TYPE") || $ACTION == "ADD") {
         $arFields["DELAY_TYPE"] = trim($arFields["DELAY_TYPE"]);
         $arFields["DELAY_TYPE"] = in_array($arFields["DELAY_TYPE"], array("S", "M", "H", "D")) ? $arFields["DELAY_TYPE"] : "D";
     }
     if (is_set($arFields, "DELAY") || $ACTION == "ADD") {
         $arFields["DELAY"] = intVal($arFields["DELAY"]);
     }
     unset($arFields["KEEP_IP_SEC"]);
     $sec = 1;
     switch ($arFields["DELAY_TYPE"]) {
         case "S":
             $sec = 1;
             break;
         case "M":
             $sec = 60;
             break;
         case "H":
             $sec = 3600;
             break;
         case "D":
             $sec = 86400;
             break;
     }
     $arFields["KEEP_IP_SEC"] = intval($arFields["DELAY"]) * $sec;
     if (is_set($arFields, "UNIQUE_TYPE") && $arFields['UNIQUE_TYPE'] < 5) {
         switch ($arFields['UNIQUE_TYPE']) {
             case 0:
                 $arFields['UNIQUE_TYPE'] = 5;
                 break;
             case 1:
                 $arFields['UNIQUE_TYPE'] = 6;
                 break;
             case 2:
                 $arFields['UNIQUE_TYPE'] = 8;
                 break;
             case 3:
                 $arFields['UNIQUE_TYPE'] = 12;
                 break;
             case 4:
                 $arFields['UNIQUE_TYPE'] = 20;
                 break;
         }
     }
     if (CVote::IsOldVersion() != "Y") {
         unset($arFields["TEMPLATE"]);
         unset($arFields["RESULT_TEMPLATE"]);
     }
     if (is_set($arFields, "TEMPLATE")) {
         $arFields["TEMPLATE"] = trim($arFields["TEMPLATE"]);
     }
     if (is_set($arFields, "RESULT_TEMPLATE")) {
         $arFields["RESULT_TEMPLATE"] = trim($arFields["RESULT_TEMPLATE"]);
     }
     if (is_set($arFields, "NOTIFY")) {
         $arFields["NOTIFY"] = in_array($arFields["NOTIFY"], array("Y", "N", "I")) ? $arFields["NOTIFY"] : "N";
     }
     if (is_set($arFields, "REQUIRED")) {
         $arFields["REQUIRED"] = $arFields["REQUIRED"] == "Y" ? "Y" : "N";
     }
     if (is_set($arFields, "AUTHOR_ID")) {
         $arFields["AUTHOR_ID"] = intval($arFields["AUTHOR_ID"]);
     }
     if (!empty($aMsg)) {
         global $APPLICATION;
         $e = new CAdminException(array_reverse($aMsg));
         $APPLICATION->ThrowException($e);
         return false;
     }
     return true;
 }
Exemple #5
0
        while ($arGroup = $rsGroups->Fetch()) {
            $arFieldsPerm = array("CHANNEL_ID" => "'" . intval($ID) . "'", "GROUP_ID" => "'" . intval($arGroup["ID"]) . "'", "PERMISSION" => "'2'");
            $DB->Insert("b_vote_channel_2_group", $arFieldsPerm);
        }
        $arFieldsVote = array("CHANNEL_ID" => "'" . $ID . "'", "C_SORT" => "'100'", "ACTIVE" => "'Y'", "TIMESTAMP_X" => $DB->GetNowFunction(), "DATE_START" => $DB->CharToDateFunction(GetTime(mktime(0, 0, 0, 1, 1, 2000), "FULL")), "DATE_END" => $DB->CharToDateFunction(GetTime(mktime(23, 59, 59, 12, 31, 2030), "FULL")), "TITLE" => "'" . $DB->ForSql(GetMessage('VOTING_INSTALL_VOTE_BOOKS_VOTE_TITLE')) . "'", "DESCRIPTION" => "NULL", "DESCRIPTION_TYPE" => "'html'", "EVENT1" => "'vote'", "EVENT2" => "'books_vote'", "EVENT3" => "NULL", "UNIQUE_TYPE" => "'2'", "KEEP_IP_SEC" => "'0'", "DELAY" => "'0'", "DELAY_TYPE" => "NULL", "NOTIFY" => "'N'");
        $VOTE_ID = $DB->Insert("b_vote", $arFieldsVote);
        $arFieldsQuest = array("TIMESTAMP_X" => $DB->GetNowFunction(), "C_SORT" => "'100'", "ACTIVE" => "'Y'", 'QUESTION_TYPE' => "'text'", 'DIAGRAM' => "'Y'", 'DIAGRAM_TYPE' => "'histogram'", 'VOTE_ID' => "'{$VOTE_ID}'", 'QUESTION' => "'" . $DB->ForSql(GetMessage('VOTING_INSTALL_VOTE_QUESTION3')) . "'", 'COUNTER' => "'0'");
        $Q_ID = $DB->Insert("b_vote_question", $arFieldsQuest);
        for ($i = 1; $i <= 8; $i++) {
            $answ = array('C_SORT' => "'" . $i * 100 . "'", 'MESSAGE' => "'" . $DB->ForSql(GetMessage('VOTING_INSTALL_VOTE_ANSWER3_' . $i)) . "'", 'FIELD_TYPE' => "'0'", 'QUESTION_ID' => "'{$Q_ID}'", "TIMESTAMP_X" => $DB->GetNowFunction(), "ACTIVE" => "'Y'", 'FIELD_WIDTH' => "'0'", 'FIELD_HEIGHT' => "'0'");
            $DB->Insert("b_vote_answer", $answ);
        }
    }
}
$arFieldsVC = array("TIMESTAMP_X" => $DB->GetNowFunction(), "C_SORT" => "'200'", "FIRST_SITE_ID" => "'s1'", "ACTIVE" => "'Y'", "VOTE_SINGLE" => "'N'", "TITLE" => "'" . $DB->ForSql(GetMessage('VOTING_INSTALL_CHANNEL_FORUM')) . "'", "SYMBOLIC_NAME" => "'FORUM'");
$rsVoteChan = CVoteChannel::GetList($by, $order, array('SYMBOLIC_NAME' => 'FORUM', 'SYMBOLIC_NAME_EXACT_MATCH' => 'Y'), $is_filtered);
if (!$rsVoteChan->Fetch()) {
    $ID = $DB->Insert("b_vote_channel", $arFieldsVC);
    if ($ID > 0) {
        $CACHE_MANAGER->CleanDir("b_vote_perm_" . $ID);
        //site
        $DB->Query("DELETE FROM b_vote_channel_2_site WHERE CHANNEL_ID='" . $ID . "'", false);
        $DB->Query("INSERT INTO b_vote_channel_2_site (CHANNEL_ID, SITE_ID) VALUES ({$ID}, 's1')", false);
        //groups
        $DB->Query("DELETE FROM b_vote_channel_2_group WHERE CHANNEL_ID='{$ID}'", false);
        $rsGroups = CGroup::GetList($by, $order, array());
        while ($arGroup = $rsGroups->Fetch()) {
            $arFieldsPerm = array("CHANNEL_ID" => "'" . intval($ID) . "'", "GROUP_ID" => "'" . intval($arGroup["ID"]) . "'", "PERMISSION" => "'2'");
            $DB->Insert("b_vote_channel_2_group", $arFieldsPerm);
        }
        $arFieldsVote = array("CHANNEL_ID" => "'" . $ID . "'", "C_SORT" => "'100'", "ACTIVE" => "'Y'", "TIMESTAMP_X" => $DB->GetNowFunction(), "DATE_START" => $DB->CharToDateFunction(GetTime(mktime(0, 0, 0, 1, 1, 2009), "FULL")), "DATE_END" => $DB->CharToDateFunction(GetTime(mktime(23, 59, 59, 12, 31, 2030), "FULL")), "TITLE" => "'" . $DB->ForSql(GetMessage('VOTING_INSTALL_VOTE_FORUM_TITLE')) . "'", "DESCRIPTION" => "NULL", "DESCRIPTION_TYPE" => "'html'", "EVENT1" => "'vote'", "EVENT2" => "'forum'", "EVENT3" => "NULL", "UNIQUE_TYPE" => "'1'", "KEEP_IP_SEC" => "'0'", "DELAY" => "'0'", "DELAY_TYPE" => "NULL", "TEMPLATE" => "'default.php'", "RESULT_TEMPLATE" => "'default.php'", "NOTIFY" => "'N'");
Exemple #6
0
<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
if (!CModule::IncludeModule("vote")) {
    return;
}
/*$arrChannels = Array("-" => GetMessage("VOTE_ALL_CHANNELS"));*/
$arrChannels = array();
$rs = CVoteChannel::GetList($v1, $v2, array(), $v3);
while ($arChannel = $rs->GetNext()) {
    $arrChannels[$arChannel["SID"]] = "[" . $arChannel["SID"] . "] " . html_entity_decode($arChannel["TITLE"]);
}
$arComponentParameters = array("PARAMETERS" => array("CHANNEL_SID" => array("NAME" => GetMessage("VOTE_CHANNEL_SID"), "TYPE" => "LIST", "PARENT" => "BASE", "VALUES" => $arrChannels, "DEFAULT" => "", "MULTIPLE" => "Y"), "VOTE_FORM_TEMPLATE" => array("NAME" => GetMessage("VOTE_EMPTY_FORM_PAGE"), "TYPE" => "STRING", "PARENT" => "URL_TEMPLATES", "COLS" => 45, "DEFAULT" => "vote_new.php?VOTE_ID=#VOTE_ID#"), "VOTE_RESULT_TEMPLATE" => array("NAME" => GetMessage("VOTE_RESULT_PAGE"), "TYPE" => "STRING", "COLS" => 45, "PARENT" => "URL_TEMPLATES", "DEFAULT" => "vote_result.php?VOTE_ID=#VOTE_ID#")));
Exemple #7
0
$VOTE_RIGHT = $APPLICATION->GetGroupRight("vote");
if ($VOTE_RIGHT == "D") {
    $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
}
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/vote/include.php";
ClearVars();
IncludeModuleLangFile(__FILE__);
CModule::IncludeModule("vote");
$err_mess = "File: " . __FILE__ . "<br>Line: ";
$old_module_version = CVote::IsOldVersion();
$aTabs = array(array("DIV" => "edit1", "TAB" => GetMessage("VOTE_PROP"), "ICON" => "main_vote_edit", "TITLE" => GetMessage("VOTE_PARAMS")), array("DIV" => "edit2", "TAB" => GetMessage("VOTE_DESCR"), "ICON" => "main_vote_edit", "TITLE" => GetMessage("VOTE_DESCRIPTION")), array("DIV" => "edit3", "TAB" => GetMessage("VOTE_HOSTS"), "ICON" => "main_vote_edit", "TITLE" => GetMessage("VOTE_UNIQUE_PARAMS")));
$tabControl = new CAdminTabControl("tabControl", $aTabs);
$arChannels = array();
$is_filtered = false;
$bVarsFromForm = false;
$db_res = CVoteChannel::GetList($by = "s_c_sort", $order = "asc", array(), $is_filtered);
if ($db_res && ($res = $db_res->GetNext())) {
    do {
        $arChannels[$res["ID"]] = $res;
    } while ($res = $db_res->GetNext());
}
if (empty($arChannels)) {
    $APPLICATION->SetTitle(GetMessage("VOTE_NEW_RECORD"));
    require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
    echo "<a href='vote_list.php?lang=" . LANGUAGE_ID . "' class='navchain'>" . GetMessage("VOTE_VOTE_LIST") . "</a>";
    echo ShowError(GetMessage("VOTE_CHANNEL_NOT_FOUND"));
    require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_admin.php";
    die;
}
$DAYS = intVal($_REQUEST["DAYS"]) > 0 ? intVal($_REQUEST["DAYS"]) : 30;
/********************************************************************
Exemple #8
0
 public static function GetByID($ID)
 {
     $ID = intval($ID);
     if ($ID <= 0) {
         return false;
     }
     $res = CVoteChannel::GetList($by, $order, array("ID" => $ID), $is_filtered);
     return $res;
 }
Exemple #9
0
 function GetByID($ID)
 {
     $err_mess = CAllVoteChannel::err_mess() . "<br>Function: GetByID<br>Line: ";
     global $DB;
     $ID = intval($ID);
     if ($ID <= 0) {
         return;
     }
     $res = CVoteChannel::GetList($by, $order, array("ID" => $ID), $is_filtered);
     return $res;
 }
Exemple #10
0
$vote = new vote();
$vote->InstallUserFields();
$arAnswerColors = array("blue" => "#81a8ab");
$answerColor = array_key_exists(WIZARD_THEME_ID, $arAnswerColors) ? $arAnswerColors[WIZARD_THEME_ID] : "#969696";
if (!is_object($DB)) {
    global $DB;
}
global $CACHE_MANAGER;
$CACHE_MANAGER->CleanDir("b_vote_channel");
$CACHE_MANAGER->Clean("b_vote_channel_2_site");
$symbolycName = 'COMPANY_' . WIZARD_SITE_ID;
if (!WIZARD_NEW_2011 && WIZARD_SITE_ID == 's1') {
    $symbolycName = 'COMPANY';
}
$arChannelFields = array("TIMESTAMP_X" => $DB->GetNowFunction(), "C_SORT" => "'1'", "FIRST_SITE_ID" => "'" . WIZARD_SITE_ID . "'", "ACTIVE" => "'Y'", "TITLE" => "'" . $DB->ForSql(GetMessage('VOTE_CHANNEL_COMPANY')) . "'", "SYMBOLIC_NAME" => "'" . $symbolycName . "'");
$rsVoteChan = CVoteChannel::GetList($by, $order, array("SYMBOLIC_NAME" => $symbolycName, 'SYMBOLIC_NAME_EXACT_MATCH' => 'Y'), $is_filtered);
if (!$rsVoteChan->Fetch()) {
    $ID = (int) $DB->Insert("b_vote_channel", $arChannelFields);
    if ($ID < 1) {
        return;
    }
    $CACHE_MANAGER->CleanDir("b_vote_perm_" . $ID);
    //site
    $DB->Query("DELETE FROM b_vote_channel_2_site WHERE CHANNEL_ID='" . $ID . "'", false);
    $DB->Query("INSERT INTO b_vote_channel_2_site (CHANNEL_ID, SITE_ID) VALUES ({$ID}, '" . WIZARD_SITE_ID . "')", false);
    //groups
    $DB->Query("DELETE FROM b_vote_channel_2_group WHERE CHANNEL_ID='{$ID}'", false);
    $rsGroups = CGroup::GetList($by, $order, array());
    while ($arGroup = $rsGroups->Fetch()) {
        $arFieldsPerm = array("CHANNEL_ID" => "'" . intval($ID) . "'", "GROUP_ID" => "'" . intval($arGroup["ID"]) . "'", "PERMISSION" => "'2'");
        $DB->Insert("b_vote_channel_2_group", $arFieldsPerm);
Exemple #11
0
function GetAnyAccessibleVote($site_id=SITE_ID, $channel_id=null)
{
	$arParams = array("ACTIVE"=>"Y","SITE"=>$site_id);

	if ($channel_id !== null)
	{
		$arParams['SID'] = $channel_id;
		$arParams['SID_EXACT_MATCH'] = 'Y';
	}

	$z = CVoteChannel::GetList($by="s_c_sort", $order="asc", $arParams, $is_filtered);
	$arResult = array();

	while ($zr = $z->Fetch())
	{
		$perm = CVoteChannel::GetGroupPermission($zr["ID"]);

		if (intval($perm)>=2)
		{
			$v = CVote::GetList($by, $order, array("CHANNEL_ID"=>$zr["ID"], "LAMP"=>"green"), $is_filtered);
			while ($vr = $v->Fetch()) 
			{
				if (!(IsUserVoted($vr['ID']))) $arResult[] = $vr['ID'];
			}
		}
	}

	if (sizeof($arResult) > 0)
		return array_rand(array_flip($arResult));

	return false;
}
Exemple #12
0
} else {
    $arParams["CACHE_TIME"] = 0;
}
/********************************************************************
				/Input params
********************************************************************/
$obCache = new CPHPCache();
$cache_path = str_replace(array(":", "//"), "/", "/" . SITE_ID . "/" . $componentName . "/" . $arParams["CHANNEL_SID"] . "/");
$cache_id = "vote_current_" . serialize($arParams) . (($tzOffset = CTimeZone::GetOffset()) != 0 ? "_" . $tzOffset : "");
if (!$obCache->InitCache($arParams["CACHE_TIME"], $cache_id, $cache_path)) {
    $arVote = array();
    $db_res = false;
    if (!!$arParams["VOTE_ID"]) {
        $db_res = CVote::GetByIDEx($arParams["VOTE_ID"]);
    } else {
        $obChannel = CVoteChannel::GetList($by, $order, array("SID" => $arParams["CHANNEL_SID"], "SID_EXACT_MATCH" => "Y", "SITE" => SITE_ID, "ACTIVE" => "Y", "HIDDEN" => "N"), $is_filtered);
        if ($obChannel && ($arChannel = $obChannel->Fetch())) {
            $db_res = CVote::GetList($by, $order, array("CHANNEL_ID" => $arChannel["ID"], "LAMP" => "green"), $is_filtered);
        }
    }
    $arVote = $db_res ? $db_res->Fetch() : array();
    if (empty($arVote) || $arVote["CHANNEL_ACTIVE"] != "Y" || $arVote["ACTIVE"] != "Y") {
        return false;
    }
    $arResult = array("VOTE" => $arVote, "VOTE_ID" => $arVote["ID"], "VOTE_RESULT_TEMPLATE" => $APPLICATION->GetCurPageParam("", array("VOTE_SUCCESSFULL", "VOTE_ID", "view_form")), "ADDITIONAL_CACHE_ID" => "current_vote");
    $obCache->StartDataCache();
    CVoteCacheManager::SetTag($cache_path, array("C" => $arVote["CHANNEL_ID"], "V" => $arVote["ID"]));
    $obCache->EndDataCache(array("arResult" => $arResult));
} else {
    $arVars = $obCache->GetVars();
    $arResult = $arVars["arResult"];
                }
                $DB->Commit();
                break;
            case "activate":
            case "deactivate":
                $arFields = array("ACTIVE" => $_REQUEST['action'] == "activate" ? "'Y'" : "'N'");
                if (!$DB->Update("b_vote_channel", $arFields, "WHERE ID='{$ID}'", $err_mess . __LINE__)) {
                    $lAdmin->AddGroupError(GetMessage("VOTE_SAVE_ERROR"), $ID);
                } else {
                    $CACHE_MANAGER->CleanDir("b_vote_channel");
                }
                break;
        }
    }
}
$rsData = CVoteChannel::GetList($by, $order, $arFilter, $is_filtered);
$rsData = new CAdminResult($rsData, $sTableID);
$rsData->NavStart();
$lAdmin->NavText($rsData->GetNavPrint(GetMessage("VOTE_PAGES")));
$lAdmin->AddHeaders(array(array("id" => "ID", "content" => "ID", "sort" => "s_id", "default" => true), array("id" => "TIMESTAMP_X", "content" => GetMessage("VOTE_TIMESTAMP"), "sort" => "s_timestamp", "default" => true), array("id" => "SITE", "content" => GetMessage("VOTE_SITE"), "default" => true), array("id" => "ACTIVE", "content" => GetMessage("VOTE_ACTIVE"), "sort" => "s_active", "default" => true), array("id" => "HIDDEN", "content" => GetMessage("VOTE_HIDDEN"), "sort" => "s_hidden", "default" => true), array("id" => "C_SORT", "content" => GetMessage("VOTE_C_SORT"), "sort" => "s_c_sort", "default" => true), array("id" => "SYMBOLIC_NAME", "content" => GetMessage("VOTE_SID"), "sort" => "s_symbolic_name", "default" => true), array("id" => "TITLE", "content" => GetMessage("VOTE_TITLE"), "sort" => "s_title", "default" => true), array("id" => "VOTES", "content" => GetMessage("VOTE_VOTES"), "sort" => "s_votes", "default" => true)));
while ($arRes = $rsData->NavNext(true, "f_")) {
    $row =& $lAdmin->AddRow($f_ID, $arRes);
    $arrSITE = CVoteChannel::GetSiteArray($f_ID);
    $str = "";
    if (is_array($arrSITE)) {
        foreach ($arrSITE as $sid) {
            $str .= '<a title="' . GetMessage("VOTE_SITE_EDIT") . '" href="/bitrix/admin/site_edit.php?LID=' . $sid . '&lang=' . LANGUAGE_ID . '">' . $sid . '</a>, ';
        }
    }
    if ($VOTE_RIGHT == "W") {
        $row->AddViewField("SITE", trim($str, " ,"));