What we have done..

Started by Feline, 9 years ago

previous topic - next topic

0 Members and 1 Guest are viewing this topic.

Feline

*
9 years ago
In the last weeks we have hard worked on the next update release.
Here the long list what we have changed (#), added (+) and fixed (!) ... (I hope, I have nothing forgotten  ;D )

! cache trigger don't detect all actions
! custom css for blocks don't work
! a lot of ccs mistake removed
! dynamic visibility don't work correct
# singe page request now use the format index.php?spage=pagename
# the prefix char @ for singe page is now p:
# all show/hide custom action now with enhanced wildcards (? for 0 or 1 char, * for 0 or n chars)
# custom css don't longer overwrite the settings, so you can switch back without adjust the setting
# any change between custom css/default css show immediate after change
# many hard coded styles replaced with css classes
# block inner padding now can set for top/bottom, left/right or both (y,x or yx)
+ block inner padding can be overwrite in custom css
+ specially testing purposes, to help member on write php block.
     We added the function PortaMx_Printvar($vardata) they convert any data to a readable php code. You can put this function in a php block to test/check data they are read from SSI functions or the database. (see image FScap0104.png)
+ multi part / multi theme support for custom css
     in multi part/theme (.mpt) files you can define css as "parts" for each theme you use.
+ changes on mpt files are detected and the .mpt is recompiled to .css and cached
+ comments are removed from .mpt files for faster loading and less transfer
# the shout box BBC popup now use also the current theme/custom style
# many code parts optimized for faster speed
# php blocks expanded to special php block, now you can create a "init" code block and a "show" code block. For the init part you can open a second editor. All exist php code works without any change (see image FScap0107.png).
+ Popup for edit Titles for all exist languages, Title icons and Title align on each block in the overview screen (see image FScap0106.png)
# Move and Clone block now as Popup on each block in the overview screen
+ Support for Block in Block technology, wich can be create with the new special PHP block (see image FScap0103.png)
     The access and visibility for the inner blocks is inherit from the outer block
+ Pageindex for newposts, boardnews, multiple boardnews, RSS reader, see Fscap0110/0111

Additional note:
    This release is full compatible with SimpleSEF (we prefer this mod)

Fel

[attachment deleted by admin]
Many are stubborn in relation to the way, but less in relation to the target.

BurakG

*
#1
9 years ago
Looks great Fel, especially block in  block part. Looks like it will let us shape the portal as we like..

When is this to be released ?
Destiny. The design is clearly Ancient ..

http://www.mazdaclubtr.com
http://www.subaruclubtr.com

Feline

*
#2
9 years ago
Quote from: BurakG, 9 years ago
When is this to be released ?

hmmm .. let me think .. when it's done?  ;D

Fel
Many are stubborn in relation to the way, but less in relation to the target.

BurakG

*
#3
9 years ago
Yeah, I should have guessed that :D
Destiny. The design is clearly Ancient ..

http://www.mazdaclubtr.com
http://www.subaruclubtr.com

Feline

*
#4
9 years ago
Here the code for a Block in Block with the special PHP block (code is developed in next release)

PHP block INIT PART
Code Select

/*
* Samplecode Block in Block
* @author PortaMx - Portal Management Extension
* @author Copyright 2008-2010 by PortaMx - https://www.portamx.com
*
* PHP block INIT PART
*/

// globals we need here
global $context, $smcFunc;

// define the block ID's you will see
$this->php_vars = array(
'blocklist' => array(37,147,3,60), // block ID's in the show order
);

// define the block padding
$this->php_vars['padding'] = $context['PortaMx']['settings']['panels']['padding'] .'px;';
$this->php_vars['padhalf'] = ceil($context['PortaMx']['settings']['panels']['padding'] / 2) .'px;';

// init the object array
$this->php_vars['objects'] = null;

// now request the blocks
$request = $smcFunc['db_query']('', '
SELECT *  FROM {db_prefix}portamx_blocks
WHERE active = 1 AND id IN ({array_int:blocklist})',
array('blocklist' => $this->php_vars['blocklist'])
);

if($smcFunc['db_num_rows']($request) > 0)
{
while($row = $smcFunc['db_fetch_assoc']($request))
{
// check if the classfile loaded
$blocktype = 'pmxc_'. $row['blocktype'];
if(!class_exists($blocktype))
require_once($context['PMx_classdir'] . $row['blocktype'] .'.php');

// call the contrutor
$this->php_vars['objects'][$row['id']] = new $blocktype($row, null, $visible);

// Initiate the block if visible
if(!empty($visible))
$visible = $this->php_vars['objects'][$row['id']]->pmxc_InitContent();

// destroy object if invisible
if(empty($visible))
unset($this->php_vars['objects'][$row['id']]);
}
$smcFunc['db_free_result']($request);
}
/* End INIT PART */


PHP block SHOW PART
Code Select

/*
* Samplecode Block in Block
* @author PortaMx - Portal Management Extension
* @author Copyright 2008-2010 by PortaMx - https://www.portamx.com
*
* PHP block SHOW PART
*/

// the block output "function"
$blockoutfunc = '
$objid = array_shift($this->php_vars[\'blocklist\']);
if(isset($this->php_vars[\'objects\'][$objid]))
$this->php_vars[\'objects\'][$objid]->pmxc_ShowBlock(0, \'\');
else
echo \'Block object \'. $objid .\' not exist.\';';

echo '
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr valign="top" height="5%">
<td valign="top">
<div style="width:175px; padding-right:'. $this->php_vars['padhalf'] .'">';

eval($blockoutfunc); // output the block

echo '
</div>
</td>
<td valign="top" width="90%" style="padding:0 '. $this->php_vars['padhalf'] .'">';

eval($blockoutfunc); // output the block

echo '
</td>
<td  valign="top" rowspan="2">
<div style="width:175px; padding-left:'. $this->php_vars['padhalf'] .'">';

eval($blockoutfunc); // output the block

echo '
</div>
</td>
</tr>
<tr valign="top">
<td valign="top" colspan="2" style="padding-top:'. $this->php_vars['padding'] .' padding-right:'. $this->php_vars['padhalf'] .'">';

eval($blockoutfunc); // output the block

echo '
</td>
</tr>
</table>';
/* End SHOW PART */


And finally here the PHP block code for the PortaMx_Printvar($vardata) function:
Code Select

echo PortaMx_Printvar(ssi_whosOnline(''), 'ssi_whosOnline return data');


Fel
Many are stubborn in relation to the way, but less in relation to the target.

Garry1953

*
#5
9 years ago
I'm also looking forward to playing with the next release. :)

codebirth

*
#6
9 years ago
Amazing!  :D

c o d e b i r t h
http://codebirth.com/smf

neverhurry

*
#7
9 years ago
Congratulations! I don't understand what is block in block, but it sounds very interesting, can not wait to play with it.   :D

Fel, those are great progress, thumbs up to you and your team. I have one question for next release: don't you think multiple boardnews and boardnews blocks are a little overlapped? I mean if you add a choice of how many topics for admin to choose inside multiple boardnews block, then it can practically replace, substitute the simple boardnews block. Last, i wish very much a pagination function to this awesome multiple boardnews block. Will you consider them? Anyway, you have been doing fantastically, that's why we are here, I think PortaMx has a great future.  O0 O0 O0
Sincerely Paul

Feline

*
#8
9 years ago
Quote from: neverhurry, 9 years ago
Last, i wish very much a pagination function to this awesome multiple boardnews block. Will you consider them?

Not on the next release .. we set this to a to do list...

Fel
Many are stubborn in relation to the way, but less in relation to the target.

Feline

*
#9
9 years ago
On more example for special PHP blocks ... Blocks in a tabbed (YUI) block  ;)

Code Select

/*
* Samplecode Blocks in a YUI Block
* @author PortaMx - Portal Management Extension
* @author Copyright 2008-2010 by PortaMx - https://www.portamx.com
*
* PHP block SHOW PART
*/

// the block output "function"
$blockoutfunc = '
if(isset($this->php_vars[\'objects\'][$tabid]))
$this->php_vars[\'objects\'][$tabid]->pmxc_ShowBlock(0, \'\');
else
echo \'Block object \'. $tabid .\' not exist.\';';

// Output the container tabs
echo '
<div style="height:26px;">
<ul class="dropmenu">';

foreach($this->php_vars['blocklist'] as $tabid => $tabdata)
echo '
<li>
<a id="yuihref'. $tabid .'" nohref class="'. ($tabdata['act'] ? 'active ' : '') .'firstlevel" onclick="pmx_coice_yuitab('. $tabid .')">
<span id="yuispan'. $tabid .'" class="'. ($tabdata['act'] ? '' : 'last ') .'firstlevel">'. $tabdata['title'] .'</span>
</a>
</li>';

echo '
</ul>
</div>';

// Output the container content
foreach($this->php_vars['blocklist'] as $tabid => $tabdata)
{
echo '
<div id="yuitab'. $tabid .'" style="'. $this->php_vars['yui_height'] . (empty($tabdata['act']) ? ' display:none;' : '') .'">';

eval($blockoutfunc); // output the block

echo '
</div>';
}
/* End SHOW PART */


Code Select

/*
* Samplecode Blocks in a YUI Block
* @author PortaMx - Portal Management Extension
* @author Copyright 2008-2010 by PortaMx - https://www.portamx.com
*
* PHP block INIT PART
*/

// globals we need here
global $context, $smcFunc;

// define the block ID's and Tabnames in the show order.
// set the 'act' to true for the default tab
$this->php_vars = array(
'blocklist' => array(
37 => array(
'title' => 'Donate',
'act' => true,
),
147 => array(
'title' => 'Shoutbox',
'act' => false,
),
3 => array(
'title' => 'Recent Post',
'act' => false,
),
60 => array(
'title' => 'Newsticker',
'act' => false,
)
)
);

// define the height type, hight, overflow of YUI block
// type: height, min-height, max-height
// overflow: hidden, auto
$this->php_vars['yui_height'] = 'max-height:400px; overflow:auto;';

// init the object array
$this->php_vars['objects'] = null;

// load the javasctipt code to header
$context['html_headers'] .= '
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
var yuitab_array = new Array('. implode(',', array_keys($this->php_vars['blocklist'])) .');
function pmx_coice_yuitab(tabID)
{
for(var i = 0; i < yuitab_array.length; i++)
{
document.getElementById("yuihref" + yuitab_array[i]).className = "firstlevel";
document.getElementById("yuispan" + yuitab_array[i]).className = "last firstlevel";
document.getElementById("yuitab" + yuitab_array[i]).style.display = "none";
}
document.getElementById("yuihref" + tabID).className = "active firstlevel";
document.getElementById("yuispan" + tabID).className = "firstlevel";
document.getElementById("yuitab" + tabID).style.display = "";
document.cookie = "pmx_yui_tabs=" + tabID + "; path=/;";
}
// ]]></script>';

// now request the blocks
$request = $smcFunc['db_query']('', '
SELECT *  FROM {db_prefix}portamx_blocks
WHERE active = 1 AND id IN ({array_int:blocklist})',
array('blocklist' => array_keys($this->php_vars['blocklist']))
);

if($smcFunc['db_num_rows']($request) > 0)
{
while($row = $smcFunc['db_fetch_assoc']($request))
{
// check if the classfile loaded
$blocktype = 'pmxc_'. $row['blocktype'];
if(!class_exists($blocktype))
require_once($context['PMx_classdir'] . $row['blocktype'] .'.php');

// call the contrutor
$this->php_vars['objects'][$row['id']] = new $blocktype($row, null, $visible);

// Initiate the block if visible
if(!empty($visible))
$visible = $this->php_vars['objects'][$row['id']]->pmxc_InitContent();

if(empty($visible))
unset($this->php_vars['objects'][$row['id']]);
}
$smcFunc['db_free_result']($request);
}

// get the yuitab cookie
if(isset($_COOKIE['pmx_yui_tabs']))
{
$curTab = intval($_COOKIE['pmx_yui_tabs']);
foreach(array_keys($this->php_vars['blocklist']) as $tabid)
$this->php_vars['blocklist'][$tabid]['act'] = ($tabid == $curTab);
}
/* End INIT PART */


See atached image ...

Fel

[attachment deleted by admin]
Many are stubborn in relation to the way, but less in relation to the target.

neverhurry

*
#10
9 years ago
WOW!!! That is something genius!  O0 O0 O0
Is there a demo site? When will it be release?

Quote from: feline, 9 years ago
Quote from: neverhurry, 9 years ago
Last, i wish very much a pagination function to this awesome multiple boardnews block. Will you consider them?

Not on the next release .. we set this to a to do list...

Fel


Great! Thanks a lot for this! :D :)) O0

Feline

*
#11
9 years ago
Quote from: neverhurry, 9 years ago
Is there a demo site?

You will see this in action, when we have update us server ...

Quote
When will it be release?

When it's done?  8)

Fel
Many are stubborn in relation to the way, but less in relation to the target.

antechinus

*
#12
9 years ago
Hey you wanna develop SMF for us too? ;D  This stuff looks great.
Using Internet Explorer 6 on the internet is like urinating in a public swimming pool.
It's rude, there's no excuse for it, and anyone who does it should be ashamed of themselves.

Feline

*
#13
9 years ago
I have wrote to SMF, that we have free capability for development ... but no answer  >:(
And we think on a enhanced SMF 2 support ...

Fel
Many are stubborn in relation to the way, but less in relation to the target.

Feline

*
#14
9 years ago
More what we have done ..

Added paging to a lot of blocks, like newposts, boardnews .. see first post

Fel
Many are stubborn in relation to the way, but less in relation to the target.

neverhurry

*
#15
9 years ago
Quote from: feline, 9 years ago
More what we have done ..

Added paging to a lot of blocks, like newposts, boardnews, etc (see image)

Fel


Fel, you are just incredible! So marvelous!!!    :):)) O0 O0 O0

Can not wait for it!!! Hope you did paging with Multiple Boardnews, which is more powerful... anyway, great stuff! Congratulations!

Feline

*
#16
9 years ago
We don't support paging for other mods .. that is not us point. for this you have to call the mod author ..

Fel
Many are stubborn in relation to the way, but less in relation to the target.

BurakG

*
#17
9 years ago
Fel, that looks great. How cool it is to see that suggestions becomes live so fast :)

But I hope you wont keep us looking to this post and dream about having it some day :D
Destiny. The design is clearly Ancient ..

http://www.mazdaclubtr.com
http://www.subaruclubtr.com

neverhurry

*
#18
9 years ago
Quote from: feline, 9 years ago
We don't support paging for other mods .. that is not us point. for this you have to call the mod author ..

Fel


Fel, I mean Multiple Boardnews which is one of PortaMX blocks.  :)

Feline

*
#19
9 years ago
for us blocks .. of course .. newposts, boardnews,  boardnews multiple ans the RSS reader have pagination.

Fel
Many are stubborn in relation to the way, but less in relation to the target.

Andre_

*
#20
9 years ago
feline, thank you a lot for your continued development of this great mod. It is really awesome that you continue to devote time to make this more awesome. Me and hundreds others can't wait for your next release.

By the way, are the listed article-related features still planned?

neverhurry

*
#21
9 years ago
Quote from: feline, 9 years ago
for us blocks .. of course .. newposts, boardnews,  boardnews multiple ans the RSS reader have pagination.

Fel


THAT IS GREAT!  :D ;D O0 Thanks!

Feline

*
#22
9 years ago
Quote from: Andre_, 9 years ago
By the way, are the listed article-related features still planned?

Yes  .. the next release is "only" a bigger update, to fix bug and add many requested points.
The categorie/article comes in the next major release .. and we work on this.

Fel
Many are stubborn in relation to the way, but less in relation to the target.

antechinus

*
#23
9 years ago
Awesome. :)
Using Internet Explorer 6 on the internet is like urinating in a public swimming pool.
It's rude, there's no excuse for it, and anyone who does it should be ashamed of themselves.

neverhurry

*
#24
9 years ago
Great!!!  :D :)) O0

* Shouts

Feline
8 months ago
Today we update our Forum to the Version 1.45
Feline
11 months ago
Today we update our Forum to Version 1.4
This release is full compatible with the EU GDPR
Feline
a year ago
Update for PortaMx 1.54 ecl released.
With this updates the Portal works with PHP 7.x and SMF 2.0.15
Feline
a year ago
PortaMx Forum 1.3
released !

*
Feline
a year ago
Today we switched to PHP 7.2 and activate Opcode caching.
Fast .. Very fast *
Feline
2 years ago
Today we upgrade our old SMF 2.0 Forum to PortaMx Forum *

* Calendar

Su
Mo
Tu
We
Th
Fr
Sa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31