4.6 -- NetCat 4.6 Extra [0] component file, generated 2011-10-14 16:38:22 INSERT INTO `Class` SET `Class_Name` = 'Голосования: Рейтинг объектов', `Class_Group` = 'Голосования', `DaysToHold` = '0', `AllowTags` = '0', `FormPrefix` = '".($showUserWeight ? $user_rating :\r\n ($showWeight ? $rating :\r\n ($current_user[\'User_ID\'] && $cc_settings[\'Rating\']=="on" ? "\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n рейтинг (".(int)$rating.")\r\n
"\r\n : ""\r\n )\r\n )\r\n)."', `FormSuffix` = '', `RecordTemplate` = '', `RecordsPerPage` = '10', `SortBy` = 'Created ASC', `RecordTemplateFull` = '', `TitleTemplate` = '', `TitleList` = '', `UseAltTitle` = '0', `AddTemplate` = '', `EditTemplate` = '', `AddActionTemplate` = '";\r\n#redirection section\r\nob_end_clean();\r\nif($_POST[f_BackLink]) $goBackLink = $f_BackLink;\r\nelse $goBackLink = $SUB_FOLDER."/";\r\nheader("Location: $goBackLink");\r\ndie();\r\necho "', `EditActionTemplate` = '', `SearchTemplate` = '', `FullSearchTemplate` = '', `SubscribeTemplate` = '', `System_Table_ID` = '0', `Settings` = '# вывод рейтинга сообщения\r\n# (int)s_list_class(sub, cc, "&scID=$cc&objID=$f_RowID&showWeight=1", true);\r\n# вывод рейтинга автора сообщения\r\n# (int)s_list_class(sub, cc, "&userID=$f_UserID&showUserWeight=1", true);\r\n# добавление рейтинга объекта\r\n# s_list_class(sub, cc, "&scID=$cc&objID=$f_RowID&userID=$f_UserID&backlink=".urlencode(htmlspecialchars($GLOBALS[client_url]))."", true);\r\nglobal $db, $current_user;\r\n$scID = (int)$scID;\r\n$objID = (int)$objID;\r\n$userID = (int)$userID;\r\n$recNum = 0;\r\n\r\n$rating = 0;\r\n$user_rating = 0;\r\n\r\nif($scID && $objID) {\r\n $rating = $db->get_var("SELECT SUM(Rating) FROM Message".$cc_env[\'Class_ID\']."\r\n WHERE Object_Sub_Class_ID=".$scID."\r\n AND Object_ID=".$objID."");\r\n}\r\nif($userID) {\r\n $user_rat = $db->get_row("SELECT COUNT(*) AS RatingCount, SUM(Rating) AS RatingSum FROM Message".$cc_env[\'Class_ID\']."\r\n WHERE Object_Author_ID=".$userID."", ARRAY_A);\r\n if($user_rat[\'RatingSum\'] && $user_rat[\'RatingCount\']) $user_rating = ceil($user_rat[\'RatingSum\']/$user_rat[\'RatingCount\']);\r\n}', `AddCond` = '# если не нужно учитывать мнениеавтора, следует добавить к условию:\r\n# $current_user[\'User_ID\']!=$f_Object_Author_ID\r\n\r\nif($current_user[\'User_ID\']) {\r\n\r\n # зависимость рейтинга от типа пользователя по классу $perm\r\n # if($perm->isDirector() || $perm->isSupervisor) $kRating = 3;\r\n # if($perm->isManager()) $kRating = 2;\r\n # if(!$kRating) $kRating = 1;\r\n\r\n # зависимость рейтинга от типа пользователя по группам\r\n switch ( $current_user[\'PermissionGroup_ID\'] ) {\r\n case 1:\r\n $kRating = 1;\r\n break;\r\n case 2:\r\n $kRating = 2;\r\n break;\r\n case 3:\r\n $kRating = 3;\r\n break;\r\n default:\r\n $kRating = 1;\r\n }\r\n\r\n # проверим чтобыне голосовал до этого\r\n $voted = $db->get_var("SELECT Message_ID FROM Message$classID WHERE Object_ID=".(int)$f_Object_ID." AND Object_Sub_Class_ID=".(int)$f_Object_Sub_Class_ID." AND User_ID=".$current_user[\'User_ID\']."");\r\n if(!$voted) {\r\n if($RatingPlus) $f_Rating = $kRating * 1;\r\n else $f_Rating = $kRating * (-1);\r\n }\r\n else {\r\n ob_end_clean();\r\n if($_POST[f_BackLink]) $goBackLink = $f_BackLink;\r\n else $goBackLink = "/";\r\n header("Location: $goBackLink");\r\n die();\r\n }\r\n}\r\nelse {\r\n ob_end_clean();\r\n if($_POST[f_BackLink]) $goBackLink = $f_BackLink;\r\n else $goBackLink = "/";\r\n header("Location: $goBackLink");\r\n die();\r\n}', `EditCond` = '', `SubscribeCond` = '', `DeleteCond` = '', `NL2BR` = '0', `UseCaptcha` = '0', `CheckActionTemplate` = '', `DeleteActionTemplate` = '', `CustomSettingsTemplate` = '$settings_array = array(\r\n "Rating" => array("type" => "select",\r\n "default_value" => "on",\r\n "caption" => "Система рейтингов",\r\n "validate_regexp" => "",\r\n "validate_error" => "",\r\n "values" => array("disable" => "отключено", "on" => "включено"),\r\n )\r\n);', `ClassDescription` = 'Компонент используется для добавления оценок публикаций.', `DeleteTemplate` = '', `ClassTemplate` = '0', `Type` = 'useful', `CacheForUser` = '0'; CREATE TABLE `Message%INSERT_ID%` ( `Message_ID` int(11) NOT NULL AUTO_INCREMENT, `User_ID` int(11) NOT NULL DEFAULT '0', `Subdivision_ID` int(11) NOT NULL DEFAULT '0', `Sub_Class_ID` int(11) NOT NULL DEFAULT '0', `Priority` int(11) NOT NULL DEFAULT '0', `Checked` tinyint(4) NOT NULL DEFAULT '1', `TimeToDelete` date DEFAULT NULL, `TimeToUncheck` date DEFAULT NULL, `IP` varchar(15) DEFAULT NULL, `UserAgent` varchar(255) DEFAULT NULL, `Parent_Message_ID` int(11) NOT NULL DEFAULT '0', `Created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `LastUpdated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `LastUser_ID` int(11) NOT NULL DEFAULT '0', `LastIP` varchar(15) DEFAULT NULL, `LastUserAgent` varchar(255) DEFAULT NULL, `Keyword` varchar(255) NOT NULL DEFAULT '', `ncTitle` varchar(255) DEFAULT NULL, `ncKeywords` varchar(255) DEFAULT NULL, `ncDescription` text, `Object_Sub_Class_ID` int(11) DEFAULT NULL, `Rating` int(11) DEFAULT NULL, `Object_ID` int(11) DEFAULT NULL, `Object_Author_ID` int(11) DEFAULT NULL, PRIMARY KEY (`Message_ID`), UNIQUE KEY `Sub_Class_ID_2` (`Sub_Class_ID`,`Message_ID`,`Keyword`), KEY `User_ID` (`User_ID`), KEY `LastUser_ID` (`LastUser_ID`), KEY `Subdivision_ID` (`Subdivision_ID`), KEY `Parent_Message_ID` (`Parent_Message_ID`)) ENGINE=MyISAM; INSERT INTO Field (`Class_ID`, `Field_Name`, `Description`, `TypeOfData_ID`, `Format`, `NotNull`, `Priority`, `DoSearch`, `DefaultState`, `TypeOfEdit_ID`) VALUES (%INSERT_ID%, 'Object_Sub_Class_ID', 'Sub_Class - откуда комментарий', 2, '', 0, 6, 0, '', 1); INSERT INTO Field (`Class_ID`, `Field_Name`, `Description`, `TypeOfData_ID`, `Format`, `NotNull`, `Priority`, `DoSearch`, `DefaultState`, `TypeOfEdit_ID`) VALUES (%INSERT_ID%, 'Rating', 'Рейтинг объекта', 2, '', 0, 5, 0, '', 1); INSERT INTO Field (`Class_ID`, `Field_Name`, `Description`, `TypeOfData_ID`, `Format`, `NotNull`, `Priority`, `DoSearch`, `DefaultState`, `TypeOfEdit_ID`) VALUES (%INSERT_ID%, 'Object_ID', 'ID комментария', 2, '', 0, 8, 0, '', 1); INSERT INTO Field (`Class_ID`, `Field_Name`, `Description`, `TypeOfData_ID`, `Format`, `NotNull`, `Priority`, `DoSearch`, `DefaultState`, `TypeOfEdit_ID`) VALUES (%INSERT_ID%, 'Object_Author_ID', 'Идентификатор автора сообщений', 2, '', 0, 9, 0, '', 1);