Jump to content
Announcing Achievements! ×

Community

BomAle

Members
  • Posts

    814
  • Joined

  • Last visited

  • Days Won

    2

BomAle last won the day on October 2 2016

BomAle had the most liked content!

5 Followers

About BomAle

IPS Marketplace

  • Resources Contributor
    Total file submissions: 9

Profile Information

  • Gender
    Male
  • Location
    italy

Recent Profile Visitors

6,851 profile views
  1. I also interested with ability to convert user-defined hashtags into item tag list based on permission by author/groups with some relevance algorithm into search result and avoid "seo keywords" duplication. [taxonomy]
  2. I like so much this article, please keep it updated 👍
  3. I suggest to edit the plugin file \applications\core\dev\ckeditor\plugins\ipsautolink\plugin.js like following code: CKEDITOR.plugins.add( 'ipsautolink', { init: function( editor ) { editor.widgets.add( 'ipsembedded', { inline: false, //WHY NOT INLINE????? upcast: function( element ) { if ( ( element.name == 'div' && element.hasClass( 'ipsEmbeddedVideo' ) ) || ( element.name == 'iframe' && !_.isUndefined( element.attributes['data-embedcontent'] ) ) ) { return true; } }, //+++ADDED http://origin-docs.ckeditor.com/ckeditor4/docs/?print=/api/CKEDITOR.plugins.widget.definition#property-styleToAllowedContentRules styleableElements: 'div(ipsEmbeddedVideo); iframe{data-embedcontent}' //add data function for control align style ,data:function(){} }); ips.utils.emoji.getEmoji(function(emoji){ new CKEDITOR.plugins.ipsautolink( editor, emoji ); }); }, //+++ADDED afterInit: function ( editor ) { function setupAlignCommand (value) { var command = editor.getCommand('justify' + value); if (command) { if (value in { right:1,left:1,center:1 }) { command.on('exec', function (event) { var widget = getSelectedWidget(editor); if (widget && widget.name === 'ipsembedded') { widget.setData({ 'align': value }); event.cancel(); } }); } command.on('refresh', function (event) { var widget = getSelectedWidget(editor), allowed = { left:1,center:1,right:1 }, align; if (widget) { align = widget.data.align; /*if ( enabled === undefined ) enabled = editor.filter.checkFeature( editor.widgets.registered.ipsembedded.features.align ); if ( !enabled ) this.setState( CKEDITOR.TRISTATE_DISABLED ); else {*/ this.setState( ( align == value ) ? ( CKEDITOR.TRISTATE_ON ) : ( ( value in allowed ) ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED ) ); //} event.cancel(); } }); } } function getSelectedWidget (editor) { var widget = editor.widgets.focused; if (widget && widget.name === 'ipsembedded') { return widget; } return null; } setupAlignCommand('left'); setupAlignCommand('right'); setupAlignCommand('center'); } } ); I don't test it
  4. I would report a feedback with alignment of internal link rich embed Currently there is not a possibility to align the block inside ckeditor, I think this should be a option to align it but the default "justify" ckeditor widget don't catch iframe block because javascript code remove the parent paragraphs <p> (CKEDITOR.plugins._replaceLinkWithEmbed) and the only allowed content alignable is this.allowedContent = { 'caption div h1 h2 h3 h4 h5 h6 p pre td th li': { // Do not add elements, but only text-align style if element is validated by other rule. propertiesOnly: true, styles: this.cssClassName ? null : 'text-align', classes: this.cssClassName || null } }; // In enter mode BR we need to allow here for div, because when non other // feature allows div justify is the only plugin that uses it. if ( editor.config.enterMode == CKEDITOR.ENTER_BR ) this.allowedContent.div = true; \applications\core\dev\ckeditor\plugins\justify\plugin.js I tried to submit a ticket into invisionpower.zendesk support for report it but the reply about "In order to assist you with the issue, you'll need to reactivate the application" An example below
  5. http://sandbox.onlinephpfunctions.com/code/5bef0ff1fdb892b1a577dff02420625518d45ec2 I suggest to replace return array( str_replace( \IPS\ROOT_PATH, \IPS\Http\Url::baseUrl(), $path ) ); into return array( \substr_replace( $path, \IPS\Http\Url::baseUrl(), 0, \strlen(\IPS\ROOT_PATH) ) );
  6. http://sandbox.onlinephpfunctions.com/code/a305c2d09672d5775d2110c9bfc67847185bb63a
  7. $settings = ['it' => 12, 'en' => 1]; foreach ( $settings as $k => $v ) { if( $this->member->skin !== $v AND \strtolower( \substr( $this->member->language()->short, 0, 2 ) ) === $k ) { $this->member->skin = $v; if( $this->member->member_id ) { $this->member->save(); } return NULL; } } return call_user_func_array( 'parent::getTheme', func_get_args() ); this will work for sure (return NULL prevent resetting to default theme see system/Theme/Theme.php:284)
  8. $settings = ['it' => 12, 'en' => 1]; foreach ( $settings as $k => $v ) { if( $this->member->skin !== $v AND \strtolower( \substr( $this->member->language()->short, 0, 2 ) ) === $k ) { $this->member->skin = $v; if( $this->member->member_id ) { $this->member->save(); } } } return call_user_func_array( 'parent::getTheme', func_get_args() ); but this code is valid only if you overload \IPS\Session\Front::getTheme With switchTheme the theme is set only for current location, with getTheme overload you can set it permanently only once occur preventing more call or redirection (like a silent code that automatically cover default IPS code and your needs)
  9. This is also what I want for mention taxonomy not only a group but also a "members interested" and link a page like myweb.site/list/besthelpers with a hashtag where there are some content and a list of members inside it (as club dashboard and stream discover) #besthelpers because tag a group is not flexible as a club/s or a open page where are listed, some list could be closed/protected/private or based by invite/request (MORE RELEVANT compared open system) when use a hashtag the framework create a new taxonomy, where the author is inserted on the list and the content attached into. example #link instagram #link twitter and facebook...
  10. Italian Films (myweb.site/index/italian-films) child of Films and Italian taxonomy content filter: forum cats[1,2,3], clubs [1,2], tags['film'], topic [33,35], people interested: member [1,2,3], groups[15], pfields [1 in it], following notification based on last update or change history summary/stats: last update (cached page with task background for scan each X time) suggestion insert semantic schema json-ld with link to structured data markup helper external sources, advertising purpose...
  11. some code example, docs... https://core.trac.wordpress.org/browser/tags/5.3/src/wp-includes/taxonomy.php#L0 https://codex.wordpress.org/Function_Reference/wp_set_object_terms https://developer.wordpress.org/themes/basics/categories-tags-custom-taxonomies/#database schema https://wordpress.org/support/article/taxonomies/ https://kinsta.com/knowledgebase/what-is-taxonomy/ https://generatewp.com/taxonomy/?clone=music-genre-taxonomy
  12. I think it is a waste of your resources for v5... but good to see you have taken this direction... I hope you consider a editor that is like Gutenberg into wordpress (it include tinycme editor and inline option and MORE support old bbcode into new blocks)
  13. The idea is also make a way for users to improve such network with itself contribution: 1. flag content as related to others (partecipating and responsible for success of community, not as facebook and other social "passing the buck") 2. new and old content is a old concept, I want a better strategy for a future where there is a "order of things" (history relevance) where all content transform (a better communication tool for "humannes", social posting syncronization where community interact with others like "who tell about us"... promoting content bring our content outside but do you know who tell about you around web? i would know if outside I have a some friend we want know)
  14. A good reason to invest into a network taxonomy is to identify your customers with subscriptions, the best way to achive community goals/mission main with revenue/costs and promote value of services.
×
×
  • Create New...

Important Information

We use technologies, such as cookies, to customise content and advertising, to provide social media features and to analyse traffic to the site. We also share information about your use of our site with our trusted social media, advertising and analytics partners. See more about cookies and our Privacy Policy