public function import(\SimpleXMLElement $sx) { if (isset($sx->flag_types)) { foreach ($sx->flag_types->flag_type as $p) { $bw = FlagType::add((string) $p); } } }
public function execute(Batch $batch) { $editors = $batch->getObjectCollection('conversation_editor'); if ($editors) { foreach ($editors->getEditors() as $editor) { if (!$editor->getPublisherValidator()->skipItem()) { $pkg = null; if ($editor->getPackage()) { $pkg = \Package::getByHandle($editor->getPackage()); } $ce = Editor::add($editor->getHandle(), $editor->getName(), $pkg); if ($editor->getIsActive()) { $ce->activate(); } } } } $types = $batch->getObjectCollection('conversation_flag_type'); if ($types) { foreach ($types->getTypes() as $type) { if (!$type->getPublisherValidator()->skipItem()) { $pkg = null; if ($type->getPackage()) { $pkg = \Package::getByHandle($type->getPackage()); } $ce = \Concrete\Core\Conversation\FlagType\FlagType::add($type->getHandle()); } } } $types = $batch->getObjectCollection('conversation_rating_type'); if ($types) { foreach ($types->getTypes() as $type) { if (!$type->getPublisherValidator()->skipItem()) { $pkg = null; if ($type->getPackage()) { $pkg = \Package::getByHandle($type->getPackage()); } \Concrete\Core\Conversation\Rating\Type::add($type->getHandle(), $type->getName(), $type->getPoints(), $pkg); } } } }
public function conversationMessageHasFlag($flag) { if (!$flag instanceof FlagType) { $flag = FlagType::getByHandle($flag); } if ($flag instanceof FlagType) { foreach ($this->getConversationMessageFlagTypes() as $type) { if ($flag->getConversationFlagTypeID() == $type->getConversationFlagTypeID()) { return true; } } } return false; }
public function up(Schema $schema) { $ft = FlagType::getByhandle('spam'); if (!is_object($ft)) { FlagType::add('spam'); } $bt = BlockType::getByHandle('image_slider'); $bt->refresh(); $types = array(Type::getByHandle('group'), Type::getByHandle('user'), Type::getByHandle('group_set'), Type::getByHandle('group_combination')); $categories = array(Category::getByHandle('conversation'), Category::getByHandle('conversation_message')); foreach ($categories as $category) { foreach ($types as $pe) { if (is_object($category) && is_object($pe)) { $category->associateAccessEntityType($pe); } } } try { $gat = AuthenticationType::getByHandle('google'); } catch (Exception $e) { $gat = AuthenticationType::add('google', 'Google'); if (is_object($gat)) { $gat->disable(); } } // fix register page permissions $g1 = \Group::getByID(GUEST_GROUP_ID); $register = \Page::getByPath('/register', "RECENT"); $register->assignPermissions($g1, array('view_page')); // add new permissions, set it to the same value as edit page permissions on all pages. $epk = PermissionKey::getByHandle('edit_page_permissions'); $msk = PermissionKey::getByHandle('edit_page_multilingual_settings'); $ptk = PermissionKey::getByHandle('edit_page_page_type'); if (!is_object($msk)) { $msk = PermissionKey::add('page', 'edit_page_multilingual_settings', 'Edit Multilingual Settings', 'Controls whether a user can see the multilingual settings menu, re-map a page or set a page as ignored in multilingual settings.', false, false); } if (!is_object($ptk)) { $ptk = PermissionKey::add('page', 'edit_page_page_type', 'Edit Page Type', 'Change the type of an existing page.', false, false); } $db = \Database::get(); $r = $db->Execute('select cID from Pages where cInheritPermissionsFrom = "OVERRIDE" order by cID asc'); while ($row = $r->FetchRow()) { $c = Page::getByID($row['cID']); if (is_object($c) && !$c->isError()) { $epk->setPermissionObject($c); $msk->setPermissionObject($c); $ptk->setPermissionObject($c); $rpa = $epk->getPermissionAccessObject(); if (is_object($rpa)) { $pt = $msk->getPermissionAssignmentObject(); if (is_object($pt)) { $pt->clearPermissionAssignment(); $pt->assignPermissionAccess($rpa); } $pt = $ptk->getPermissionAssignmentObject(); if (is_object($pt)) { $pt->clearPermissionAssignment(); $pt->assignPermissionAccess($rpa); } } } } // add new page type permissions $epk = PermissionKey::getByHandle('edit_page_type_permissions'); $msk = PermissionKey::getByHandle('edit_page_type'); $dsk = PermissionKey::getByHandle('delete_page_type'); if (!is_object($msk)) { $msk = PermissionKey::add('page_type', 'edit_page_type', 'Edit Page Type', '', false, false); } if (!is_object($dsk)) { $dsk = PermissionKey::add('page_type', 'delete_page_type', 'Delete Page Type', '', false, false); } $list = \Concrete\Core\Page\Type\Type::getList(); foreach ($list as $pagetype) { $epk->setPermissionObject($pagetype); $msk->setPermissionObject($pagetype); $dsk->setPermissionObject($pagetype); $rpa = $epk->getPermissionAccessObject(); if (is_object($rpa)) { $pt = $msk->getPermissionAssignmentObject(); if (is_object($pt)) { $pt->clearPermissionAssignment(); $pt->assignPermissionAccess($rpa); } $pt = $dsk->getPermissionAssignmentObject(); if (is_object($pt)) { $pt->clearPermissionAssignment(); $pt->assignPermissionAccess($rpa); } } } // add new multilingual tables. $sm = $db->getSchemaManager(); $schemaTables = $sm->listTableNames(); if (!in_array('MultilingualPageRelations', $schemaTables)) { $mpr = $schema->createTable('MultilingualPageRelations'); $mpr->addColumn('mpRelationID', 'integer', array('notnull' => true, 'unsigned' => true, 'default' => 0)); $mpr->addColumn('cID', 'integer', array('notnull' => true, 'unsigned' => true, 'default' => 0)); $mpr->addColumn('mpLanguage', 'string', array('notnull' => true, 'default' => '')); $mpr->addColumn('mpLocale', 'string', array('notnull' => true)); $mpr->setPrimaryKey(array('mpRelationID', 'cID', 'mpLocale')); } if (!in_array('MultilingualSections', $schemaTables)) { $mus = $schema->createTable('MultilingualSections'); $mus->addColumn('cID', 'integer', array('notnull' => true, 'unsigned' => true, 'default' => 0)); $mus->addColumn('msLanguage', 'string', array('notnull' => true, 'default' => '')); $mus->addColumn('msCountry', 'string', array('notnull' => true, 'default' => '')); $mus->setPrimaryKey(array('cID')); } if (!in_array('MultilingualTranslations', $schemaTables)) { $mts = $schema->createTable('MultilingualTranslations'); $mts->addColumn('mtID', 'integer', array('autoincrement' => true, 'unsigned' => true)); $mts->addColumn('mtSectionID', 'integer', array('unsigned' => true, 'notnull' => true, 'default' => 0)); $mts->addColumn('msgid', 'text', array('notnull' => false)); $mts->addColumn('msgstr', 'text', array('notnull' => false)); $mts->addColumn('context', 'text', array('notnull' => false)); $mts->addColumn('comments', 'text', array('notnull' => false)); $mts->addColumn('reference', 'text', array('notnull' => false)); $mts->addColumn('flags', 'text', array('notnull' => false)); $mts->addColumn('updated', 'datetime', array('notnull' => false)); $mts->setPrimaryKey(array('mtID')); } // block type $bt = BlockType::getByHandle('switch_language'); if (!is_object($bt)) { $bt = BlockType::installBlockType('switch_language'); } // single pages $sp = Page::getByPath('/dashboard/system/multilingual'); if (!is_object($sp) || $sp->isError()) { $sp = SinglePage::add('/dashboard/system/multilingual'); $sp->update(array('cName' => 'Multilingual')); $sp->setAttribute('meta_keywords', 'multilingual, localization, internationalization, i18n'); } $sp = Page::getByPath('/dashboard/system/multilingual/setup'); if (!is_object($sp) || $sp->isError()) { $sp = SinglePage::add('/dashboard/system/multilingual/setup'); $sp->update(array('cName' => 'Multilingual Setup')); } $sp = Page::getByPath('/dashboard/system/multilingual/page_report'); if (!is_object($sp) || $sp->isError()) { $sp = SinglePage::add('/dashboard/system/multilingual/page_report'); $sp->update(array('cName' => 'Page Report')); } $sp = Page::getByPath('/dashboard/system/multilingual/translate_interface'); if (!is_object($sp) || $sp->isError()) { $sp = SinglePage::add('/dashboard/system/multilingual/translate_interface'); $sp->update(array('cName' => 'Translate Interface')); } $sp = Page::getByPath('/dashboard/pages/types/attributes'); if (!is_object($sp) || $sp->isError()) { $sp = SinglePage::add('/dashboard/pages/types/attributes'); $sp->update(array('cName' => 'Page Type Attributes')); } }
public function markUser() { $json = Loader::helper('json'); $response = new stdClass(); $message = ConversationMessage::getByID($this->post('messageID')); if (is_object($message)) { $targetUser = UserInfo::getByID($message->uID); if (is_object($targetUser)) { $userMessageList = new ConversationMessageList(); $userMessageList->filterByUser($message->uID); $userMessages = $userMessageList->get(); $spamFlag = ConversationFlagType::getByHandle('spam'); foreach ($userMessages as $userMessage) { $userMessage->flag($spamFlag); } $response->success = t('All user messages marked as spam.'); echo $json->encode($response); exit; } $response->error = t('Invalid User'); echo $json->encode($response); exit; } else { $response->error = t('Invalid message'); echo $json->encode($response); exit; } }
protected function importConversationFlagTypes(\SimpleXMLElement $sx) { if (isset($sx->flag_types)) { foreach ($sx->flag_types->flag_type as $p) { $bw = ConversationFlagType::add((string) $p); } } }
public function unflag_message() { $e = Core::make('error'); $message = ConversationMessage::getByID($this->post('cnvMessageID')); if (!is_object($message)) { $e->add(t('Invalid message')); } else { $mp = new \Permissions($message); if (!$mp->canFlagConversationMessage()) { $e->add(t('You do not have permission to flag this message.')); } } $er = new EditResponse($e); if (!$e->has()) { $spamFlag = ConversationFlagType::getByHandle('spam'); $message->unflag($spamFlag); $er->setMessage(t('Message unflagged.')); } $er->outputJSON(); }
public function filterByFlag(FlagType $type) { $this->addToQuery('inner join ConversationFlaggedMessages cnf on cnvm.cnvMessageID = cnf.cnvMessageID'); $this->filter('cnf.cnvMessageFlagTypeID', $type->getConversationFlagTypeID()); }
<?php defined('C5_EXECUTE') or die("Access Denied."); use Concrete\Core\Conversation\Message\Message as ConversationMessage; use Concrete\Core\Conversation\FlagType\FlagType as ConversationFlagType; $ax = Loader::helper('ajax'); $vs = Loader::helper('validation/strings'); $ve = Loader::helper('validation/error'); $as = Loader::helper('validation/antispam'); if (Loader::helper('validation/numbers')->integer($_POST['cnvMessageID']) && $_POST['cnvMessageID'] > 0) { $message = ConversationMessage::getByID($_POST['cnvMessageID']); if (is_object($message)) { $mp = new Permissions($message); if ($mp->canFlagConversationMessage()) { $flagtype = ConversationFlagType::getByHandle('spam'); $message->flag($flagtype); $message->unapprove(); $as->report($message->getConversationMessageBody(), $message->getConversationMessageUserObject(), $message->getConversationMessageSubmitIP(), $message->getConversationMessageSubmitUserAgent()); Loader::element('conversation/message', array('message' => $message)); } } }
public function setPropertiesFromArray($arr) { return parent::setPropertiesFromArray($arr); }
public function skipItem() { $type = FlagType::getByHandle($this->object->getHandle()); return is_object($type); }