Merge remote-tracking branch 'upstream/master'
Conflicts: mod/page.php
This commit is contained in:
commit
7ac00d02d1
@ -1,5 +1,4 @@
|
||||
The Red Matrix
|
||||
==============
|
||||

|
||||
|
||||
***"Connected Websites"***
|
||||
|
||||
@ -33,7 +32,7 @@ Within the Red Matrix, identity is nomadic. It defines you and it belongs to you
|
||||
The Red Matrix is free and open source distributed under the MIT license.
|
||||
|
||||
|
||||
Currently the project is in "Developer Preview". A lot of work remains, but many important bits are functioning. Please connect with one of the developer channels ("Channel One" would be a good choice) if you are interested in helping us out.
|
||||
Currently the project is in "Public Preview". A lot of work remains, but many important bits are functioning. Please connect with one of the developer channels ("Channel One" would be a good choice) if you are interested in helping us out.
|
||||
|
||||
[Please help us change the world by providing a small donation.](http://pledgie.com/campaigns/18417) (Large donations are also graciously accepted).
|
||||
|
||||
|
BIN
assets/diamondlattice.png
Normal file
BIN
assets/diamondlattice.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 522 KiB |
206
assets/home.html
Normal file
206
assets/home.html
Normal file
@ -0,0 +1,206 @@
|
||||
<style>section { position: relative; } nav { z-index: 9999; position: fixed; width: 100%; top: 0; left: 0; } header { z-index: 10000; }</style>
|
||||
<script>
|
||||
// Scroll backgrounds at different rates to achieve the parallax effect
|
||||
$(window).scroll(function(e){
|
||||
parallax();
|
||||
});
|
||||
function parallax(){
|
||||
var scrolled = $(window).scrollTop();
|
||||
$('.bg').css('top',-(scrolled*0.4)+'px');
|
||||
$('.bg2').css('top',-(scrolled*0.5)+'px');
|
||||
|
||||
}
|
||||
</script>
|
||||
<link rel='stylesheet' media='screen and (max-width: 830px)' href='assets/narrow.css' />
|
||||
<link rel='stylesheet' media='screen and (min-width: 831px)' href='assets/wide.css' />
|
||||
|
||||
|
||||
<div id="header" align="center"><h1>Red Matrix</h1>
|
||||
<div id="menubutton1"><p style="margin-top:2px;"><a href="#decentralise" style="color:#FFFFFF;text-decoration:none;margin-top:0px;">decentralised</a></p></div>
|
||||
<div id="menubutton2"><p style="margin-top:2px;"><a href="#identity" style="color:#FFFFFF;text-decoration:none;margin-top:0px;">identity</a></p></div>
|
||||
<div id="menubutton3"><p style="margin-top:2px;"><a href="#control" style="color:#FFFFFF;text-decoration:none;margin-top:0px;">control</a></p></div>
|
||||
<div id="menubutton4"><p style="margin-top:2px;"><a href="#freedom" style="color:#FFFFFF;text-decoration:none;margin-top:0px;">freedom</a></p></div>
|
||||
<div id="menubutton6"><p style="margin-top:2px;"><a href="#privacy" style="color:#FFFFFF;text-decoration:none;margin-top:0px;">privacy</a></p></div>
|
||||
</div>
|
||||
|
||||
<body>
|
||||
<div class="bg"></div>
|
||||
<div class="bg2"></div>
|
||||
<div class="bg-mask"></div>
|
||||
<div id="bg-narrow"></div>
|
||||
|
||||
|
||||
<div class="section-heading" style="margin-top: 32px;">
|
||||
The internet is broken. We're fixing it.</div>
|
||||
|
||||
<div>
|
||||
<div id="tagline">
|
||||
<img style="float:center;width:175px;padding:5px;" src="assets/logo_antiprism.png"><br>
|
||||
<span style="color:#808080;font-weight:bold;font-size:1.5em;">ma·trix:</span><span style="color:#808080;font-weight:light;font-size:1.2em;"><i> something within or from which something else originates, develops, or takes form </i></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="intro-text">
|
||||
<p>Imagine an internet slightly different than what we have today. The internet of the future won't require logging in with passwords on every site you wish to access. It will just know who you are. An internet where you need to keep track of hundreds/thousands of passwords on hundreds/thousands of websites is fundamentally broken. But an internet with no privacy and where all your online activities are monitored and tracked is likewise broken.
|
||||
</p>
|
||||
<p>Imagine if you had an internet where the people using it could <b>create new services</b> and <b>communicate freely and privately</b> - and where you didn't need a different account on every website in the network in order to use each website. Where you had your own space and could <b>share anything you wanted</b> with anybody you wanted, any time you wanted. Where the <b>things you share in private stay private</b> instead of being under constant surveillance from advertising corporations and government intelligence agencies.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="summary-menu-container">
|
||||
<a class="summary-menu-item" href="#decentralise" >Decentralise</a>
|
||||
<a class="summary-menu-item" href="#identity" >Identity</a>
|
||||
<a class="summary-menu-item" href="#freedom" >Freedom</a>
|
||||
<a class="summary-menu-item" href="#control" >Access Control</a>
|
||||
<a class="summary-menu-item" href="#privacy" >Privacy</a>
|
||||
<a class="summary-menu-item" href="#identity" >Got Zot?</a>
|
||||
</div>
|
||||
|
||||
<div class="summary-nodes-container">
|
||||
<div class="summary-node-1">
|
||||
<div class="summary-node-1-text">
|
||||
<div class="summary-node-header"><a href="#decentralise" style="color:#FFFFFF;text-decoration:none;margin-top:0px;font-size: 1.2em;">Decentralised</a></div>
|
||||
<div class="summary-node-text">
|
||||
<p id=menutrigger1><a href="#decentralise" style="color:#FFFFFF;text-decoration:none;margin-top:0px;">No centralised servers means no one can censor your content or disable the network.</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="summary-node-2">
|
||||
<div class="summary-node-2-text">
|
||||
<div class="summary-node-header"><a href="#identity" style="color:#FFFFFF;text-decoration:none;margin-top:0px;font-size: 1.2em;">Nomadic Identity</a></div>
|
||||
<div class="summary-node-text">
|
||||
<p id=menutrigger2><a href="#identity" style="color:#FFFFFF;text-decoration:none;margin-top:0px;">You own and control your identity, and it can move freely inside the matrix.</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="summary-node-3">
|
||||
<div class="summary-node-3-text">
|
||||
<div class="summary-node-header"><a href="#freedom" style="color:#FFFFFF;text-decoration:none;margin-top:0px;font-size: 1.2em;">Freedom</a></div>
|
||||
<div class="summary-node-text">
|
||||
<p id=menutrigger3><a href="#freedom" style="color:#FFFFFF;text-decoration:none;margin-top:0px;">Use a trusted hub, or run your own server. Move where you want and take your data and connections with you. The choices are yours.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="summary-node-4">
|
||||
<div class="summary-node-4-text">
|
||||
<div class="summary-node-header"><a href="#control" style="color:#FFFFFF;text-decoration:none;margin-top:0px;font-size: 1.2em;">Access Control</a></div>
|
||||
<div class="summary-node-text">
|
||||
<p id=menutrigger4><a href="#control" style="color:#FFFFFF;text-decoration:none;margin-top:0px;">Share what you want with whom you want. Permissions extend to the entire matrix.</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="summary-node-5">
|
||||
<div class="summary-node-5-text">
|
||||
<div class="summary-node-header"></div>
|
||||
<div class="summary-node-text">
|
||||
<p><a href="#identity" style="color:#FFFFFF;text-decoration:none;margin-top:0px;">Got Zot?</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="summary-node-6">
|
||||
<div class="summary-node-6-text">
|
||||
<div class="summary-node-header"><a href="#privacy" style="color:#FFFFFF;text-decoration:none;margin-top:0px;font-size: 1.2em;">Privacy</a></div>
|
||||
<p class="summary-node-text"><a href="#privacy" style="color:#FFFFFF;text-decoration:none;margin-top:0px;">Privacy and encryption to suit your needs.</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="menutrigger"></div>
|
||||
<section id="decentralise">
|
||||
|
||||
<div class="section-heading">Decentralise. Build a more robust network.</div>
|
||||
<div class="section-text">
|
||||
<p>
|
||||
Now open your eyes. We've done some amazing things with decentralisation technology over the last few years and have created a different kind of network. We call it the Red Matrix. Forget the old internet - it's hopelessly broken and increasingly being choked off in order to take your money and spy on you. We're building tomorrow's internet today. And we're doing things a bit differently than what you may be used to. We could wait for this new internet to be built, but we don't really trust the typical corporations and governmental bodies to do it right. So we're building it on top of the old internet. And we're building privacy into its DNA. And it's <strong>here now</strong>.
|
||||
</p>
|
||||
<p>
|
||||
The Red Matrix is a decentralised network where <strong>people</strong> are in charge and the size of your server farm and wealth do not offer any comparable advantage. Anybody may participate on a level playing field. Cloud storage, file sharing, communications, content creation and management belong to <strong>everybody</strong> and can be shared with <strong>anybody</strong> (or <strong>somebody</strong>, or <strong>nobody</strong>). This is only a representative sample of the services we plan to offer. In an internet where creativity is allowed to flourish and corporate overlords have no power, the door is open to entirely new forms of expression and applications. The Red Matrix software is free and open source; created by volunteers and distributed under the MIT license.
|
||||
</p>
|
||||
<p>
|
||||
And the Red Matrix has <strong>Got Zot.</strong>
|
||||
</p>
|
||||
<p>
|
||||
So what the heck is <strong><em>Zot</em></strong>? I'm glad you asked...
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<br />
|
||||
<section id="identity">
|
||||
|
||||
<div class="section-heading">Your identity is your own. One identity across the network.</div>
|
||||
<div class="section-text">
|
||||
|
||||
<p>
|
||||
Zot is a revolutionary protocol which provides <strong>decentralised communications and identity</strong> management across the matrix. The resulting platform can provide web services comparable to those offered by large corporate providers, but without the large corporate provider and their associated privacy issues. Communications and social networking are an integral part of the matrix. Any channel (and any services provided by that channel) can make full use of feature-rich social communications on a global scale.
|
||||
</p>
|
||||
<p>
|
||||
We use the full power of the matrix to offer friend suggestions and directory services. You can also perform other things which would typically only be possibly on a centralised provider - such as "wall to wall" posts and private/multiple profiles and web content which can be tailored to the viewer. You won't find these features at all on other decentralised communication services. The difference is that Zot also provides decentralised <strong>identity services</strong>. This is what separates the men from the boys, and what makes life in the matrix so awesome.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="section-text">
|
||||
<p>
|
||||
Zot's identity layer is unique. It's like OpenID on steroids. It provides invisible single sign-on across all sites in the matrix; as well as nomadic identity so that your communications with friends, family, and business partners won't be affected by the loss of your primary communication node - either temporarily or permanently. The important bits of your identity and relationships can be backed up to a thumb drive and may appear at any node in the matrix at any time - with all your friends and preferences intact. These nomadic instances are kept in sync so any instance can take over if another one is compromised or damaged. This protects you against not only major system failure, but also temporary site overloads and governmental manipulation. You cannot be silenced. You cannot be removed from the matrix.
|
||||
</p>
|
||||
<p>
|
||||
As you browse the matrix viewing channels and their unique content, you are seamlessly authenticated as you go, even across completely different server hubs. No password dialogues. Nothing to type. You're just greeted by name on every new site you visit. How does Zot do that? We call it "magic-auth" because it really is technology that is so advanced as to be indistinguishable from magic. You login only once on your home hub (or any nomadic backup hub you have chosen). This allows you to access any authenticated services provided anywhere in the matrix - such as shopping and access to private information. This is just like the services offered by large corporate providers with huge user databases; however you can be a member of this community and a server on this network using a "plug computer" like a Rasberry Pi. Your password isn't stored on a thousand different sites where it can be stolen and used to clean out your bank accounts.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="control">
|
||||
|
||||
<div class="section-heading">You control your data. Red Matrix enforces your permissions.</div>
|
||||
<div class="section-text">
|
||||
|
||||
<p>
|
||||
Zot's identity layer allows you to provide fine-grained permissions to any content you wish to publish - and these permissions extend across the Red Matrix. This is like having one super huge website made up of an army of small individual websites - and where each channel in the matrix can completely control their privacy and sharing preferences for any web resources they create.
|
||||
</p>
|
||||
<p>
|
||||
Example: you want a photo to be visible to your family and three select friends, but not your work colleagues. In the matrix this is easy. <strong>Even if your family members, work colleagues, and friends all have accounts on different hubs.</strong>
|
||||
</p>
|
||||
<p>
|
||||
Currently the matrix supports communications, photo albums, events, and files. This will be extended in the future to provide content management services (web pages) and cloud storage facilities such as WebDAV and multi-media libraries. Every object and how it is shared and with whom is completely <strong>under your control</strong>.
|
||||
</p>
|
||||
<p>
|
||||
Again, this type of control is available on large corporate providers, because they own the user database. Within the matrix, there is no need for a huge user database on your machine - because <strong>the matrix is your user database</strong> and for all intents and purposes has infinite capacity and is spread amongst hundreds, and potentially millions of computers. Access can be granted or denied for any resource, to any channel or any group of channels; anywhere within the matrix. They do not need to have an account on your hub.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
<div class="clear"></div>
|
||||
|
||||
<section id="privacy">
|
||||
|
||||
<div class="section-heading">Reclaim your privacy. Red Matrix is built for <i>you</i>, not governments and corporations.</div>
|
||||
<div class="section-text">
|
||||
<p>
|
||||
Your communications may be public or private - and we allow your private communications to be as private as you wish them to be. Private communications comprise not only fully encrypted transport, but also encrypted storage to help protect against accidental snooping and disclosure by rogue system administrators and internet service providers.
|
||||
</p>
|
||||
<p>
|
||||
Want more? You can fully encrypt your messages "end to end" using your choice of encryption ciphers and using a passphrase that only you and the recipient(s) know - <strong>in addition to</strong> our standard multi-layer encryption.
|
||||
</p>
|
||||
<p>
|
||||
Want more? Our end to end encryption is pluggable. You can define your own chain of multiple encryption steps with multiple keys, and include algorithms known only to you and the recipient. At some point even the US National Security Agency will have to throw up their hands. There won't be enough computational power available in the universe to decode your private message.
|
||||
</p>
|
||||
<p>
|
||||
We also provide optional message expiration as a standard feature. When the expiration date/time passes, your message is removed from the network.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
<div class="clear"></div>
|
||||
|
||||
|
||||
|
||||
<section id="freedom">
|
||||
<a href="https://github.com/friendica/red"><img style="float:center;width:125px;" src="assets/logo_antiprism.png"></a>
|
||||
</section>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="footer" align="center"> <a href="http://redmatrix.me">redmatrix.me</a> • <a href="https://github.com/friendica/red"><b>Get Zot now!</b></a> • <a href="https://github.com/friendica/red/wiki">Wiki</a> • <a href="http://zothub.com/pubsites">Public Server Directory</a> </div>
|
||||
|
||||
|
BIN
assets/logo_antiprism.png
Normal file
BIN
assets/logo_antiprism.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 61 KiB |
218
assets/narrow.css
Normal file
218
assets/narrow.css
Normal file
@ -0,0 +1,218 @@
|
||||
body {
|
||||
font-family: 'Ubuntu',Tahoma,Helvetica,Arial,sans-serif;
|
||||
color: #111111;
|
||||
text-align: center;
|
||||
padding:0 0 22px 0;
|
||||
}
|
||||
|
||||
div#header{
|
||||
position:absolute;
|
||||
z-index: 100;
|
||||
top:0;
|
||||
left:0;
|
||||
width:100%;
|
||||
height: 55px;
|
||||
background: rgba(100, 0, 0, 0.8);
|
||||
background-size:3000px 55px;
|
||||
color: #fff;
|
||||
display:none;
|
||||
}
|
||||
|
||||
@media screen{
|
||||
body>div#header{
|
||||
position: fixed;
|
||||
}
|
||||
body>div#footer{
|
||||
position:fixed;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
div#footer{
|
||||
position:absolute;
|
||||
bottom:0;
|
||||
left:0;
|
||||
width:100%;
|
||||
height:22px;
|
||||
background: #AD002C;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#intro-text {
|
||||
color:#c60032;font-size:1.2em;width:70%;margin-right:auto;margin-left:auto;text-align:justify;
|
||||
}
|
||||
div.section-text {
|
||||
color:#c60032;font-size:1.2em;width:80%;margin-right:auto;margin-left:auto;text-align:justify;
|
||||
}
|
||||
|
||||
#tagline {
|
||||
color: #c60032;
|
||||
width:80%;
|
||||
margin-top:0px;
|
||||
margin-bottom:20px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
div.red-button {
|
||||
width:150px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
font-weight: 500;
|
||||
font-size: larger;
|
||||
background-color: #c60032;
|
||||
border: 2px solid lightgray;
|
||||
border-radius: 5px;
|
||||
padding: 12px;
|
||||
}
|
||||
div.red-button a {
|
||||
text-decoration: none;
|
||||
color:#FFFFFF;
|
||||
}
|
||||
div.red-button a:hover {
|
||||
text-decoration: none;
|
||||
font-weight:600;
|
||||
|
||||
}
|
||||
|
||||
#footer {
|
||||
font-size: 12px;
|
||||
color:#fff;
|
||||
padding-top: 4px;
|
||||
}
|
||||
|
||||
#footer a {
|
||||
text-decoration: none;
|
||||
color:#fff;
|
||||
}
|
||||
.bg {
|
||||
display:none;
|
||||
}
|
||||
.bg2 {
|
||||
display:none;
|
||||
}
|
||||
.bg-mask {
|
||||
display:none;
|
||||
}
|
||||
|
||||
#bg-narrow {
|
||||
background: url('diamondlattice.png') center center no-repeat ;
|
||||
opacity: 0.05;
|
||||
position:absolute;
|
||||
top:0;
|
||||
left:0;
|
||||
z-index: -1;
|
||||
width:100%;
|
||||
height:300%;
|
||||
display:none;
|
||||
}
|
||||
|
||||
div.summary-nodes-container {
|
||||
display:none;
|
||||
}
|
||||
div.summary-menu-container {
|
||||
display:block;
|
||||
}
|
||||
a.summary-menu-item {
|
||||
display: block;
|
||||
width:70%;
|
||||
margin-left:auto;margin-right:auto;
|
||||
border-radius:10px;
|
||||
color:#FFFFFF;
|
||||
font-size:1.2em;
|
||||
text-align:center;
|
||||
background:#c60032;
|
||||
margin-bottom:5px;
|
||||
}
|
||||
a.summary-menu-item:hover{
|
||||
color:#FFFFFF;
|
||||
text-decoration:none;
|
||||
background:#550000
|
||||
}
|
||||
|
||||
|
||||
div#menubutton1 {
|
||||
position: fixed;
|
||||
top:10px;
|
||||
left:200px;
|
||||
width:150px;
|
||||
height:30px;
|
||||
border-radius:10px;
|
||||
color:#FFFFFF;
|
||||
/* line-height:100px; */
|
||||
text-align:center;
|
||||
background:#c60032;
|
||||
display: none;
|
||||
z-index:200;
|
||||
}
|
||||
div#menubutton1:hover {
|
||||
color:#FFFFFF;
|
||||
text-decoration:none;
|
||||
background:#550000
|
||||
}
|
||||
div#menubutton2 {
|
||||
position: fixed;
|
||||
top:10px;
|
||||
left:350px;
|
||||
width:150px;
|
||||
height:30px;
|
||||
border-radius:10px;
|
||||
color:#FFFFFF;
|
||||
/* line-height:100px; */
|
||||
text-align:center;
|
||||
background:#c60032;
|
||||
display: none;
|
||||
z-index:200;
|
||||
}
|
||||
div#menubutton2:hover {
|
||||
color:#FFFFFF;
|
||||
text-decoration:none;
|
||||
background:#550000
|
||||
}
|
||||
div#menubutton3 {
|
||||
position: fixed;
|
||||
top:10px;
|
||||
right:350px;
|
||||
width:150px;
|
||||
height:30px;
|
||||
border-radius:10px;
|
||||
color:#FFFFFF;
|
||||
/* line-height:100px; */
|
||||
text-align:center;
|
||||
background:#c60032;
|
||||
display: none;
|
||||
z-index:200;
|
||||
}
|
||||
div#menubutton3:hover {
|
||||
color:#FFFFFF;
|
||||
text-decoration:none;
|
||||
background:#550000
|
||||
}
|
||||
div#menubutton4 {
|
||||
position: fixed;
|
||||
top:10px;
|
||||
right:200px;
|
||||
width:150px;
|
||||
height:30px;
|
||||
border-radius:10px;
|
||||
color:#FFFFFF;
|
||||
/* line-height:100px; */
|
||||
text-align:center;
|
||||
background:#c60032;
|
||||
display: none;
|
||||
z-index:200;
|
||||
}
|
||||
div#menubutton4:hover {
|
||||
color:#FFFFFF;
|
||||
text-decoration:none;
|
||||
background:#550000
|
||||
}
|
||||
div.section-heading {
|
||||
font-size:2.0em;
|
||||
color:#c60032;
|
||||
}
|
||||
div.section-subtitle {
|
||||
font-size:1.5em;
|
||||
color:#c60032;
|
||||
}
|
BIN
assets/redmatrixlogo.png
Normal file
BIN
assets/redmatrixlogo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 103 KiB |
396
assets/wide.css
Normal file
396
assets/wide.css
Normal file
@ -0,0 +1,396 @@
|
||||
body {
|
||||
font-family: 'Ubuntu',Tahoma,Helvetica,Arial,sans-serif;
|
||||
color: #111111;
|
||||
/*color: rgba(0,0,0,0.0); */
|
||||
text-align: center;
|
||||
/* background-image: url("redmatrixbkgd.jpg"); */
|
||||
/*background: #ececec;*/
|
||||
padding:0 0 22px 0;
|
||||
/* background: url(redmatrixbkgd.jpg) no-repeat center center scroll; */
|
||||
/*
|
||||
-webkit-background-size: cover;
|
||||
-moz-background-size: cover;
|
||||
-o-background-size: cover;
|
||||
background-size: cover;
|
||||
*/
|
||||
}
|
||||
|
||||
#intro-text {
|
||||
color:#C60032;font-size:1.2em;width:700px;margin-right:auto;margin-left:auto;text-align:justify;
|
||||
}
|
||||
div.section-text {
|
||||
color:#C60032;font-size:1.2em;width:700px;margin-right:auto;margin-left:auto;text-align:justify;
|
||||
}
|
||||
|
||||
|
||||
div#header{
|
||||
display:none;
|
||||
position:absolute;
|
||||
z-index: 100;
|
||||
top:0;
|
||||
left:0;
|
||||
width:100%;
|
||||
height: 55px;
|
||||
/* background-image: url("redmatrixbkgd.jpg"); */
|
||||
background: rgba(198, 0, 50, 0.8);
|
||||
background-size:3000px 55px;
|
||||
/* background: #afafaf;*/
|
||||
color: #fff;
|
||||
}
|
||||
@media screen{
|
||||
body>div#header{
|
||||
position: fixed;
|
||||
}
|
||||
body>div#footer{
|
||||
position:fixed;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
div#footer{
|
||||
position:absolute;
|
||||
bottom:0;
|
||||
left:0;
|
||||
width:100%;
|
||||
height:22px;
|
||||
background: #AD002C;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#tagline {
|
||||
color: #880000;
|
||||
width:600px;
|
||||
margin-top:0px;
|
||||
margin-bottom:20px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
|
||||
.clear {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
div.red-button {
|
||||
width:150px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
font-weight: 500;
|
||||
font-size: larger;
|
||||
background-color: #C60032;
|
||||
border: 2px solid lightgray;
|
||||
border-radius: 5px;
|
||||
padding: 12px;
|
||||
}
|
||||
div.red-button a {
|
||||
text-decoration: none;
|
||||
color:#FFFFFF;
|
||||
}
|
||||
div.red-button a:hover {
|
||||
text-decoration: none;
|
||||
font-weight:600;
|
||||
}
|
||||
|
||||
#footer {
|
||||
font-size: 12px;
|
||||
color:#fff;
|
||||
padding-top: 4px;
|
||||
}
|
||||
|
||||
#footer a {
|
||||
text-decoration: none;
|
||||
color:#fff;
|
||||
}
|
||||
|
||||
.bg {
|
||||
background: url('diamondlattice.png') center center no-repeat ;
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
height: 1350px;
|
||||
|
||||
top:0px;
|
||||
left:0px;
|
||||
opacity: 1.0;
|
||||
z-index: -1;
|
||||
}
|
||||
.bg2 {
|
||||
background: url('diamondlattice.png') center center no-repeat;
|
||||
position: fixed;
|
||||
|
||||
width: 100%;
|
||||
height: 1350px;
|
||||
top:0px;
|
||||
left:0px;
|
||||
opacity: 1.0;
|
||||
z-index: -1;
|
||||
}
|
||||
.bg-mask {
|
||||
background: rgba(255, 255, 255, 0.95) center center no-repeat;
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
height: 1350px;
|
||||
top:0;
|
||||
left:0px;
|
||||
z-index: -1;
|
||||
|
||||
}
|
||||
.bg-narrow {
|
||||
display:none;
|
||||
}
|
||||
div.summary-menu-container {
|
||||
display:none;
|
||||
}
|
||||
div.summary-node {
|
||||
position: fixed;
|
||||
width: 50px;
|
||||
text-align: center ;
|
||||
font-size:1.2em;
|
||||
|
||||
|
||||
}
|
||||
div.summary-node-header {
|
||||
font-size: 1.2em;
|
||||
color:#FFFFFF;
|
||||
font-weight:bold;
|
||||
}
|
||||
div.summary-node-1 {
|
||||
position: absolute;
|
||||
top:0px;
|
||||
left:0px;
|
||||
width:200px;
|
||||
height:200px;
|
||||
border-radius:100px;
|
||||
color:#CCCCCC;
|
||||
/* line-height:100px; */
|
||||
text-align:center;
|
||||
background:#C60032;
|
||||
}
|
||||
div.summary-node-1:hover{
|
||||
color:#FFFFFF;
|
||||
text-decoration:none;
|
||||
background:#550000
|
||||
}
|
||||
div.summary-node-1-text {
|
||||
margin-top:25%;
|
||||
width: 150px;
|
||||
margin-left:auto;
|
||||
margin-right:auto;
|
||||
}
|
||||
div.summary-node-2 {
|
||||
position: absolute;
|
||||
top:50px;
|
||||
left:170px;
|
||||
width:220px;
|
||||
height:220px;
|
||||
border-radius:200px;
|
||||
color:#CCCCCC;
|
||||
/* line-height:100px; */
|
||||
text-align:center;
|
||||
background:#C60032;
|
||||
}
|
||||
div.summary-node-2:hover{
|
||||
color:#FFFFFF;
|
||||
text-decoration:none;
|
||||
background:#550000
|
||||
}
|
||||
div.summary-node-2-text {
|
||||
margin-top:30%;
|
||||
width: 150px;
|
||||
margin-left:auto;
|
||||
margin-right:auto;
|
||||
}
|
||||
div.summary-node-3 {
|
||||
position: absolute;
|
||||
top:0px;
|
||||
right:20px;
|
||||
width:250px;
|
||||
height:250px;
|
||||
border-radius:200px;
|
||||
color:#FFFFFF;
|
||||
/* line-height:100px; */
|
||||
text-align:center;
|
||||
background:#C60032;
|
||||
}
|
||||
div.summary-node-3:hover{
|
||||
color:#FFFFFF;
|
||||
text-decoration:none;
|
||||
background:#550000
|
||||
}
|
||||
div.summary-node-3-text {
|
||||
margin-top:25%;
|
||||
width: 200px;
|
||||
margin-left:auto;
|
||||
margin-right:auto;
|
||||
}
|
||||
|
||||
div.summary-node-4 {
|
||||
position: absolute;
|
||||
top:200px;
|
||||
right:180px;
|
||||
width:200px;
|
||||
height:200px;
|
||||
border-radius:200px;
|
||||
color:#FFFFFF;
|
||||
/* line-height:100px; */
|
||||
text-align:center;
|
||||
background:#C60032;
|
||||
}
|
||||
div.summary-node-4:hover{
|
||||
color:#FFFFFF;
|
||||
text-decoration:none;
|
||||
background:#550000
|
||||
}
|
||||
div.summary-node-4-text {
|
||||
margin-top:25%;
|
||||
width: 150px;
|
||||
margin-left:auto;
|
||||
margin-right:auto;
|
||||
}
|
||||
div.summary-node-5 {
|
||||
position: absolute;
|
||||
top:250px;
|
||||
left:120px;
|
||||
width:150px;
|
||||
height:150px;
|
||||
border-radius:150px;
|
||||
color:#FFFFFF;
|
||||
/* line-height:100px; */
|
||||
text-align:center;
|
||||
background:#C60032;
|
||||
}
|
||||
div.summary-node-5:hover{
|
||||
color:#FFFFFF;
|
||||
text-decoration:none;
|
||||
background:#550000
|
||||
}
|
||||
div.summary-node-5-text {
|
||||
margin-top:55px;
|
||||
width: 150px;
|
||||
margin-left:auto;
|
||||
margin-right:auto;
|
||||
font-size:2.0em;
|
||||
|
||||
}
|
||||
div.summary-node-6 {
|
||||
position: absolute;
|
||||
top:20px;
|
||||
right:270px;
|
||||
width:150px;
|
||||
height:150px;
|
||||
border-radius:150px;
|
||||
color:#FFFFFF;
|
||||
/* line-height:100px; */
|
||||
text-align:center;
|
||||
background:#C60032;
|
||||
}
|
||||
div.summary-node-6:hover{
|
||||
color:#FFFFFF;
|
||||
text-decoration:none;
|
||||
background:#550000
|
||||
}
|
||||
div.summary-node-6-text {
|
||||
margin-top:30px;
|
||||
width: 100px;
|
||||
margin-left:auto;
|
||||
margin-right:auto;
|
||||
}
|
||||
div.summary-nodes-container {
|
||||
position: relative;
|
||||
margin-left: auto ;
|
||||
margin-right: auto ;
|
||||
margin-top:30px;
|
||||
margin-bottom:30px;
|
||||
width: 800px;
|
||||
height: 400px;
|
||||
text-align: center ;
|
||||
}
|
||||
div#menubutton1 {
|
||||
position: fixed;
|
||||
top:10px;
|
||||
left:200px;
|
||||
width:150px;
|
||||
height:30px;
|
||||
border-radius:10px;
|
||||
color:#FFFFFF;
|
||||
/* line-height:100px; */
|
||||
text-align:center;
|
||||
background:#C60032;
|
||||
display: none;
|
||||
z-index:200;
|
||||
}
|
||||
div#menubutton1:hover {
|
||||
color:#FFFFFF;
|
||||
text-decoration:none;
|
||||
background:#550000
|
||||
}
|
||||
div#menubutton2 {
|
||||
position: fixed;
|
||||
top:10px;
|
||||
left:350px;
|
||||
width:150px;
|
||||
height:30px;
|
||||
border-radius:10px;
|
||||
color:#FFFFFF;
|
||||
/* line-height:100px; */
|
||||
text-align:center;
|
||||
background:#C60032;
|
||||
display: none;
|
||||
z-index:200;
|
||||
}
|
||||
div#menubutton2:hover {
|
||||
color:#FFFFFF;
|
||||
text-decoration:none;
|
||||
background:#550000
|
||||
}
|
||||
div#menubutton3 {
|
||||
position: fixed;
|
||||
top:10px;
|
||||
right:350px;
|
||||
width:150px;
|
||||
height:30px;
|
||||
border-radius:10px;
|
||||
color:#FFFFFF;
|
||||
/* line-height:100px; */
|
||||
text-align:center;
|
||||
background:#C60032;
|
||||
display: none;
|
||||
z-index:200;
|
||||
}
|
||||
div#menubutton3:hover {
|
||||
color:#FFFFFF;
|
||||
text-decoration:none;
|
||||
background:#550000
|
||||
}
|
||||
div#menubutton4 {
|
||||
position: fixed;
|
||||
top:10px;
|
||||
right:200px;
|
||||
width:150px;
|
||||
height:30px;
|
||||
border-radius:10px;
|
||||
color:#FFFFFF;
|
||||
/* line-height:100px; */
|
||||
text-align:center;
|
||||
background:#C60032;
|
||||
display: none;
|
||||
z-index:200;
|
||||
}
|
||||
div#menubutton4:hover {
|
||||
color:#FFFFFF;
|
||||
text-decoration:none;
|
||||
background:#550000
|
||||
}
|
||||
div.section-heading {
|
||||
font-size:2.0em;
|
||||
color:#C60032;
|
||||
width:700px;
|
||||
margin-bottom: 1em;
|
||||
margin-left:auto;
|
||||
margin-right:auto;
|
||||
}
|
||||
div.section-subtitle {
|
||||
font-size:1.5em;
|
||||
color:#BB0000;
|
||||
}
|
697
boot.php
697
boot.php
@ -39,13 +39,14 @@ require_once('library/Mobile_Detect/Mobile_Detect.php');
|
||||
require_once('include/BaseObject.php');
|
||||
require_once('include/features.php');
|
||||
require_once('include/taxonomy.php');
|
||||
require_once('include/identity.php');
|
||||
|
||||
|
||||
define ( 'RED_PLATFORM', 'Red Matrix' );
|
||||
define ( 'RED_VERSION', trim(file_get_contents('version.inc')) . 'R');
|
||||
define ( 'ZOT_REVISION', 1 );
|
||||
|
||||
define ( 'DB_UPDATE_VERSION', 1081 );
|
||||
define ( 'DB_UPDATE_VERSION', 1084 );
|
||||
|
||||
define ( 'EOL', '<br />' . "\r\n" );
|
||||
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
|
||||
@ -204,6 +205,7 @@ define ( 'PAGE_DIRECTORY_CHANNEL', 0x0008 ); // system channel used for director
|
||||
define ( 'PAGE_PREMIUM', 0x0010 );
|
||||
define ( 'PAGE_ADULT', 0x0020 );
|
||||
|
||||
define ( 'PAGE_SYSTEM', 0x1000 );
|
||||
define ( 'PAGE_REMOVED', 0x8000 );
|
||||
|
||||
|
||||
@ -366,6 +368,7 @@ define ( 'XCHAN_FLAGS_HIDDEN', 0x0001);
|
||||
define ( 'XCHAN_FLAGS_ORPHAN', 0x0002);
|
||||
define ( 'XCHAN_FLAGS_CENSORED', 0x0004);
|
||||
define ( 'XCHAN_FLAGS_SELFCENSORED', 0x0008);
|
||||
define ( 'XCHAN_FLAGS_SYSTEM', 0x0010);
|
||||
define ( 'XCHAN_FLAGS_DELETED', 0x1000);
|
||||
/*
|
||||
* Traficlights for Administration of HubLoc
|
||||
@ -477,8 +480,10 @@ define ( 'ACCOUNT_PENDING', 0x0010 );
|
||||
* Account roles
|
||||
*/
|
||||
|
||||
define ( 'ACCOUNT_ROLE_ADMIN', 0x1000 );
|
||||
define ( 'ACCOUNT_ROLE_ALLOWCODE', 0x0001 );
|
||||
define ( 'ACCOUNT_ROLE_SYSTEM', 0x0002 );
|
||||
|
||||
define ( 'ACCOUNT_ROLE_ADMIN', 0x1000 );
|
||||
|
||||
/**
|
||||
* Item visibility
|
||||
@ -773,7 +778,7 @@ class App {
|
||||
$this->is_mobile = $mobile_detect->isMobile();
|
||||
$this->is_tablet = $mobile_detect->isTablet();
|
||||
|
||||
$this->head_set_icon('/images/rhash-32.png');
|
||||
$this->head_set_icon('/images/rm-32.png');
|
||||
|
||||
BaseObject::set_app($this);
|
||||
|
||||
@ -803,12 +808,6 @@ class App {
|
||||
|
||||
$scheme = $this->scheme;
|
||||
|
||||
// if((x($this->config,'system')) && (x($this->config['system'],'ssl_policy'))) {
|
||||
// if(intval($this->config['system']['ssl_policy']) === intval(SSL_POLICY_FULL)) {
|
||||
// $scheme = 'https';
|
||||
// }
|
||||
// }
|
||||
|
||||
$this->baseurl = $scheme . "://" . $this->hostname . ((isset($this->path) && strlen($this->path)) ? '/' . $this->path : '' );
|
||||
return $this->baseurl;
|
||||
}
|
||||
@ -995,23 +994,6 @@ class App {
|
||||
)) . $this->page['htmlhead'];
|
||||
}
|
||||
|
||||
function set_curl_code($code) {
|
||||
$this->curl_code = $code;
|
||||
}
|
||||
|
||||
function get_curl_code() {
|
||||
return $this->curl_code;
|
||||
}
|
||||
|
||||
function set_curl_headers($headers) {
|
||||
$this->curl_headers = $headers;
|
||||
}
|
||||
|
||||
function get_curl_headers() {
|
||||
return $this->curl_headers;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* register template engine class
|
||||
* if $name is "", is used class static property $class::$name
|
||||
@ -1186,7 +1168,6 @@ function is_ajax() {
|
||||
// $_SERVER variables, and synchronising the state of installed plugins.
|
||||
|
||||
|
||||
|
||||
function check_config(&$a) {
|
||||
|
||||
$build = get_config('system','db_version');
|
||||
@ -1412,6 +1393,13 @@ function fix_system_urls($oldurl,$newurl) {
|
||||
dbesc($oldurl)
|
||||
);
|
||||
|
||||
|
||||
$z = q("update profile set photo = '%s', thumb = '%s' where uid = %d",
|
||||
dbesc(str_replace($oldurl,$newurl,$rr['xchan_photo_l'])),
|
||||
dbesc(str_replace($oldurl,$newurl,$rr['xchan_photo_m'])),
|
||||
intval($rr['channel_id'])
|
||||
);
|
||||
|
||||
proc_run('php', 'include/notifier.php', 'refresh_all', $rr['channel_id']);
|
||||
|
||||
}
|
||||
@ -1555,449 +1543,12 @@ function info($s) {
|
||||
|
||||
|
||||
function get_max_import_size() {
|
||||
global $a;
|
||||
return ((x($a->config,'max_import_size')) ? $a->config['max_import_size'] : 0 );
|
||||
return(intval(get_config('system','max_import_size')));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* Function : profile_load
|
||||
* @parameter App $a
|
||||
* @parameter string $nickname
|
||||
* @parameter string $profile
|
||||
*
|
||||
* Summary: Loads a profile into the page sidebar.
|
||||
* The function requires a writeable copy of the main App structure, and the nickname
|
||||
* of a registered local account.
|
||||
*
|
||||
* If the viewer is an authenticated remote viewer, the profile displayed is the
|
||||
* one that has been configured for his/her viewing in the Contact manager.
|
||||
* Passing a non-zero profile ID can also allow a preview of a selected profile
|
||||
* by the owner.
|
||||
*
|
||||
* Profile information is placed in the App structure for later retrieval.
|
||||
* Honours the owner's chosen theme for display.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
function profile_load(&$a, $nickname, $profile = '') {
|
||||
|
||||
logger('profile_load: ' . $profile);
|
||||
|
||||
$user = q("select channel_id from channel where channel_address = '%s' limit 1",
|
||||
dbesc($nickname)
|
||||
);
|
||||
|
||||
if(! $user) {
|
||||
logger('profile error: ' . $a->query_string, LOGGER_DEBUG);
|
||||
notice( t('Requested channel is not available.') . EOL );
|
||||
$a->error = 404;
|
||||
return;
|
||||
}
|
||||
|
||||
// get the current observer
|
||||
$observer = $a->get_observer();
|
||||
|
||||
// Can the observer see our profile?
|
||||
require_once('include/permissions.php');
|
||||
if(! perm_is_allowed($user[0]['channel_id'],$observer['xchan_hash'],'view_profile')) {
|
||||
// permission denied
|
||||
notice( t(' Sorry, you don\'t have the permission to view this profile. ') . EOL);
|
||||
return;
|
||||
}
|
||||
|
||||
if(! $profile) {
|
||||
$r = q("SELECT abook_profile FROM abook WHERE abook_xchan = '%s' and abook_channel = '%d' limit 1",
|
||||
dbesc($observer['xchan_hash']),
|
||||
intval($user[0]['channel_id'])
|
||||
);
|
||||
if($r)
|
||||
$profile = $r[0]['abook_profile'];
|
||||
}
|
||||
$r = null;
|
||||
|
||||
if($profile) {
|
||||
$r = q("SELECT profile.uid AS profile_uid, profile.*, channel.* FROM profile
|
||||
LEFT JOIN channel ON profile.uid = channel.channel_id
|
||||
WHERE channel.channel_address = '%s' AND profile.profile_guid = '%s' LIMIT 1",
|
||||
dbesc($nickname),
|
||||
dbesc($profile)
|
||||
);
|
||||
}
|
||||
|
||||
if(! $r) {
|
||||
$r = q("SELECT profile.uid AS profile_uid, profile.*, channel.* FROM profile
|
||||
LEFT JOIN channel ON profile.uid = channel.channel_id
|
||||
WHERE channel.channel_address = '%s' and not ( channel_pageflags & %d )
|
||||
AND profile.is_default = 1 LIMIT 1",
|
||||
dbesc($nickname),
|
||||
intval(PAGE_REMOVED)
|
||||
);
|
||||
}
|
||||
|
||||
if(! $r) {
|
||||
logger('profile error: ' . $a->query_string, LOGGER_DEBUG);
|
||||
notice( t('Requested profile is not available.') . EOL );
|
||||
$a->error = 404;
|
||||
return;
|
||||
}
|
||||
|
||||
// fetch user tags if this isn't the default profile
|
||||
|
||||
if(! $r[0]['is_default']) {
|
||||
$x = q("select `keywords` from `profile` where uid = %d and `is_default` = 1 limit 1",
|
||||
intval($profile_uid)
|
||||
);
|
||||
if($x)
|
||||
$r[0]['keywords'] = $x[0]['keywords'];
|
||||
}
|
||||
|
||||
if($r[0]['keywords']) {
|
||||
$keywords = str_replace(array('#',',',' ',',,'),array('',' ',',',','),$r[0]['keywords']);
|
||||
if(strlen($keywords))
|
||||
$a->page['htmlhead'] .= '<meta name="keywords" content="' . htmlentities($keywords,ENT_COMPAT,'UTF-8') . '" />' . "\r\n" ;
|
||||
|
||||
}
|
||||
|
||||
$a->profile = $r[0];
|
||||
$a->profile_uid = $r[0]['profile_uid'];
|
||||
|
||||
$a->page['title'] = $a->profile['channel_name'] . " - " . $a->profile['channel_address'] . "@" . $a->get_hostname();
|
||||
|
||||
$a->profile['channel_mobile_theme'] = get_pconfig(local_user(),'system', 'mobile_theme');
|
||||
$_SESSION['theme'] = $a->profile['channel_theme'];
|
||||
$_SESSION['mobile_theme'] = $a->profile['channel_mobile_theme'];
|
||||
|
||||
/**
|
||||
* load/reload current theme info
|
||||
*/
|
||||
|
||||
$a->set_template_engine(); // reset the template engine to the default in case the user's theme doesn't specify one
|
||||
|
||||
$theme_info_file = "view/theme/".current_theme()."/php/theme.php";
|
||||
if (file_exists($theme_info_file)){
|
||||
require_once($theme_info_file);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
function profile_create_sidebar(&$a,$connect = true) {
|
||||
|
||||
$block = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false);
|
||||
|
||||
$a->set_widget('profile',profile_sidebar($a->profile, $block, $connect));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* Function: profile_sidebar
|
||||
*
|
||||
* Formats a profile for display in the sidebar.
|
||||
* It is very difficult to templatise the HTML completely
|
||||
* because of all the conditional logic.
|
||||
*
|
||||
* @parameter: array $profile
|
||||
*
|
||||
* Returns HTML string stuitable for sidebar inclusion
|
||||
* Exceptions: Returns empty string if passed $profile is wrong type or not populated
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
|
||||
function profile_sidebar($profile, $block = 0, $show_connect = true) {
|
||||
|
||||
$a = get_app();
|
||||
|
||||
$observer = $a->get_observer();
|
||||
|
||||
$o = '';
|
||||
$location = false;
|
||||
$address = false;
|
||||
$pdesc = true;
|
||||
|
||||
if((! is_array($profile)) && (! count($profile)))
|
||||
return $o;
|
||||
|
||||
|
||||
head_set_icon($profile['thumb']);
|
||||
|
||||
$is_owner = (($profile['uid'] == local_user()) ? true : false);
|
||||
|
||||
$profile['picdate'] = urlencode($profile['picdate']);
|
||||
|
||||
call_hooks('profile_sidebar_enter', $profile);
|
||||
|
||||
require_once('include/Contact.php');
|
||||
|
||||
if($show_connect) {
|
||||
|
||||
// This will return an empty string if we're already connected.
|
||||
|
||||
$connect_url = rconnect_url($profile['uid'],get_observer_hash());
|
||||
$connect = (($connect_url) ? t('Connect') : '');
|
||||
if($connect_url)
|
||||
$connect_url = sprintf($connect_url,urlencode($profile['channel_address'] . '@' . $a->get_hostname()));
|
||||
|
||||
// premium channel - over-ride
|
||||
|
||||
if($profile['channel_pageflags'] & PAGE_PREMIUM)
|
||||
$connect_url = z_root() . '/connect/' . $profile['channel_address'];
|
||||
}
|
||||
|
||||
// show edit profile to yourself
|
||||
if($is_owner) {
|
||||
|
||||
$profile['menu'] = array(
|
||||
'chg_photo' => t('Change profile photo'),
|
||||
'entries' => array(),
|
||||
);
|
||||
|
||||
|
||||
if(feature_enabled(local_user(),'multi_profiles')) {
|
||||
$profile['edit'] = array($a->get_baseurl(). '/profiles', t('Profiles'),"", t('Manage/edit profiles'));
|
||||
$profile['menu']['cr_new'] = t('Create New Profile');
|
||||
}
|
||||
else
|
||||
$profile['edit'] = array($a->get_baseurl() . '/profiles/' . $profile['id'], t('Edit Profile'),'',t('Edit Profile'));
|
||||
|
||||
$r = q("SELECT * FROM `profile` WHERE `uid` = %d",
|
||||
local_user());
|
||||
|
||||
|
||||
if($r) {
|
||||
foreach($r as $rr) {
|
||||
$profile['menu']['entries'][] = array(
|
||||
'photo' => $rr['thumb'],
|
||||
'id' => $rr['id'],
|
||||
'alt' => t('Profile Image'),
|
||||
'profile_name' => $rr['profile_name'],
|
||||
'isdefault' => $rr['is_default'],
|
||||
'visible_to_everybody' => t('visible to everybody'),
|
||||
'edit_visibility' => t('Edit visibility'),
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if((x($profile,'address') == 1)
|
||||
|| (x($profile,'locality') == 1)
|
||||
|| (x($profile,'region') == 1)
|
||||
|| (x($profile,'postal_code') == 1)
|
||||
|| (x($profile,'country_name') == 1))
|
||||
$location = t('Location:');
|
||||
|
||||
$gender = ((x($profile,'gender') == 1) ? t('Gender:') : False);
|
||||
$marital = ((x($profile,'marital') == 1) ? t('Status:') : False);
|
||||
$homepage = ((x($profile,'homepage') == 1) ? t('Homepage:') : False);
|
||||
|
||||
if(($profile['hidewall'] || $block) && (! local_user()) && (! remote_user())) {
|
||||
$location = $pdesc = $gender = $marital = $homepage = False;
|
||||
}
|
||||
|
||||
$firstname = ((strpos($profile['name'],' '))
|
||||
? trim(substr($profile['name'],0,strpos($profile['name'],' '))) : $profile['name']);
|
||||
$lastname = (($firstname === $profile['name']) ? '' : trim(substr($profile['name'],strlen($firstname))));
|
||||
|
||||
if(is_array($observer)
|
||||
&& perm_is_allowed($profile['uid'],$observer['xchan_hash'],'view_contacts')) {
|
||||
$contact_block = contact_block();
|
||||
}
|
||||
|
||||
$channel_menu = false;
|
||||
$menu = get_pconfig($profile['uid'],'system','channel_menu');
|
||||
if($menu) {
|
||||
require_once('include/menu.php');
|
||||
$m = menu_fetch($menu,$profile['uid'],$observer['xchan_hash']);
|
||||
if($m)
|
||||
$channel_menu = menu_render($m);
|
||||
}
|
||||
$menublock = get_pconfig($profile['uid'],'system','channel_menublock');
|
||||
if ($menublock) {
|
||||
require_once('include/comanche.php');
|
||||
$channel_menu .= comanche_block($menublock);
|
||||
}
|
||||
|
||||
$tpl = get_markup_template('profile_vcard.tpl');
|
||||
|
||||
$o .= replace_macros($tpl, array(
|
||||
'$profile' => $profile,
|
||||
'$connect' => $connect,
|
||||
'$connect_url' => $connect_url,
|
||||
'$location' => $location,
|
||||
'$gender' => $gender,
|
||||
'$pdesc' => $pdesc,
|
||||
'$marital' => $marital,
|
||||
'$homepage' => $homepage,
|
||||
'$chanmenu' => $channel_menu,
|
||||
'$contact_block' => $contact_block,
|
||||
));
|
||||
|
||||
$arr = array('profile' => &$profile, 'entry' => &$o);
|
||||
|
||||
call_hooks('profile_sidebar', $arr);
|
||||
|
||||
return $o;
|
||||
}
|
||||
|
||||
|
||||
// FIXME or remove
|
||||
|
||||
|
||||
function get_birthdays() {
|
||||
|
||||
$a = get_app();
|
||||
$o = '';
|
||||
|
||||
if(! local_user())
|
||||
return $o;
|
||||
|
||||
$bd_format = t('g A l F d') ; // 8 AM Friday January 18
|
||||
$bd_short = t('F d');
|
||||
|
||||
$r = q("SELECT `event`.*, `event`.`id` AS `eid`, `contact`.* FROM `event`
|
||||
LEFT JOIN `contact` ON `contact`.`id` = `event`.`cid`
|
||||
WHERE `event`.`uid` = %d AND `type` = 'birthday' AND `start` < '%s' AND `finish` > '%s'
|
||||
ORDER BY `start` ASC ",
|
||||
intval(local_user()),
|
||||
dbesc(datetime_convert('UTC','UTC','now + 6 days')),
|
||||
dbesc(datetime_convert('UTC','UTC','now'))
|
||||
);
|
||||
|
||||
if($r && count($r)) {
|
||||
$total = 0;
|
||||
$now = strtotime('now');
|
||||
$cids = array();
|
||||
|
||||
$istoday = false;
|
||||
foreach($r as $rr) {
|
||||
if(strlen($rr['name']))
|
||||
$total ++;
|
||||
if((strtotime($rr['start'] . ' +00:00') < $now) && (strtotime($rr['finish'] . ' +00:00') > $now))
|
||||
$istoday = true;
|
||||
}
|
||||
$classtoday = $istoday ? ' birthday-today ' : '';
|
||||
if($total) {
|
||||
foreach($r as &$rr) {
|
||||
if(! strlen($rr['name']))
|
||||
continue;
|
||||
|
||||
// avoid duplicates
|
||||
|
||||
if(in_array($rr['cid'],$cids))
|
||||
continue;
|
||||
$cids[] = $rr['cid'];
|
||||
|
||||
$today = (((strtotime($rr['start'] . ' +00:00') < $now) && (strtotime($rr['finish'] . ' +00:00') > $now)) ? true : false);
|
||||
$sparkle = '';
|
||||
$url = $rr['url'];
|
||||
if($rr['network'] === NETWORK_DFRN) {
|
||||
$sparkle = " sparkle";
|
||||
$url = $a->get_baseurl() . '/redir/' . $rr['cid'];
|
||||
}
|
||||
|
||||
$rr['link'] = $url;
|
||||
$rr['title'] = $rr['name'];
|
||||
$rr['date'] = day_translate(datetime_convert('UTC', $a->timezone, $rr['start'], $rr['adjust'] ? $bd_format : $bd_short)) . (($today) ? ' ' . t('[today]') : '');
|
||||
$rr['startime'] = Null;
|
||||
$rr['today'] = $today;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
$tpl = get_markup_template("birthdays_reminder.tpl");
|
||||
return replace_macros($tpl, array(
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$classtoday' => $classtoday,
|
||||
'$count' => $total,
|
||||
'$event_reminders' => t('Birthday Reminders'),
|
||||
'$event_title' => t('Birthdays this week:'),
|
||||
'$events' => $r,
|
||||
'$lbr' => '{', // raw brackets mess up if/endif macro processing
|
||||
'$rbr' => '}'
|
||||
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
// FIXME
|
||||
|
||||
|
||||
function get_events() {
|
||||
|
||||
require_once('include/bbcode.php');
|
||||
|
||||
$a = get_app();
|
||||
|
||||
if(! local_user())
|
||||
return $o;
|
||||
|
||||
$bd_format = t('g A l F d') ; // 8 AM Friday January 18
|
||||
$bd_short = t('F d');
|
||||
|
||||
$r = q("SELECT `event`.* FROM `event`
|
||||
WHERE `event`.`uid` = %d AND `type` != 'birthday' AND `start` < '%s' AND `start` > '%s'
|
||||
ORDER BY `start` ASC ",
|
||||
intval(local_user()),
|
||||
dbesc(datetime_convert('UTC','UTC','now + 6 days')),
|
||||
dbesc(datetime_convert('UTC','UTC','now - 1 days'))
|
||||
);
|
||||
|
||||
if($r && count($r)) {
|
||||
$now = strtotime('now');
|
||||
$istoday = false;
|
||||
foreach($r as $rr) {
|
||||
if(strlen($rr['name']))
|
||||
$total ++;
|
||||
|
||||
$strt = datetime_convert('UTC',$rr['convert'] ? $a->timezone : 'UTC',$rr['start'],'Y-m-d');
|
||||
if($strt === datetime_convert('UTC',$a->timezone,'now','Y-m-d'))
|
||||
$istoday = true;
|
||||
}
|
||||
$classtoday = (($istoday) ? 'event-today' : '');
|
||||
|
||||
|
||||
foreach($r as &$rr) {
|
||||
if($rr['adjust'])
|
||||
$md = datetime_convert('UTC',$a->timezone,$rr['start'],'Y/m');
|
||||
else
|
||||
$md = datetime_convert('UTC','UTC',$rr['start'],'Y/m');
|
||||
$md .= "/#link-".$rr['id'];
|
||||
|
||||
$title = substr(strip_tags(bbcode($rr['desc'])),0,32) . '... ';
|
||||
if(! $title)
|
||||
$title = t('[No description]');
|
||||
|
||||
$strt = datetime_convert('UTC',$rr['convert'] ? $a->timezone : 'UTC',$rr['start']);
|
||||
$today = ((substr($strt,0,10) === datetime_convert('UTC',$a->timezone,'now','Y-m-d')) ? true : false);
|
||||
|
||||
$rr['link'] = $md;
|
||||
$rr['title'] = $title;
|
||||
$rr['date'] = day_translate(datetime_convert('UTC', $rr['adjust'] ? $a->timezone : 'UTC', $rr['start'], $bd_format)) . (($today) ? ' ' . t('[today]') : '');
|
||||
$rr['startime'] = $strt;
|
||||
$rr['today'] = $today;
|
||||
}
|
||||
}
|
||||
|
||||
$tpl = get_markup_template("events_reminder.tpl");
|
||||
return replace_macros($tpl, array(
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$classtoday' => $classtoday,
|
||||
'$count' => count($r),
|
||||
'$event_reminders' => t('Event Reminders'),
|
||||
'$event_title' => t('Events this week:'),
|
||||
'$events' => $r,
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
@ -2150,27 +1701,6 @@ function current_theme_url($installing = false) {
|
||||
return('view/theme/' . $t . '/css/style.css');
|
||||
}
|
||||
|
||||
|
||||
function z_birthday($dob,$tz,$format="Y-m-d H:i:s") {
|
||||
|
||||
if(! strlen($tz))
|
||||
$tz = 'UTC';
|
||||
|
||||
$tmp_dob = substr($dob,5);
|
||||
if(intval($tmp_dob)) {
|
||||
$y = datetime_convert($tz,$tz,'now','Y');
|
||||
$bd = $y . '-' . $tmp_dob . ' 00:00';
|
||||
$t_dob = strtotime($bd);
|
||||
$now = strtotime(datetime_convert($tz,$tz,'now'));
|
||||
if($t_dob < $now)
|
||||
$bd = $y + 1 . '-' . $tmp_dob . ' 00:00';
|
||||
$birthday = datetime_convert($tz,'UTC',$bd,$format);
|
||||
}
|
||||
|
||||
return $birthday;
|
||||
|
||||
}
|
||||
|
||||
function is_site_admin() {
|
||||
$a = get_app();
|
||||
if((intval($_SESSION['authenticated']))
|
||||
@ -2209,171 +1739,6 @@ function load_contact_links($uid) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
function profile_tabs($a, $is_owner=False, $nickname=Null){
|
||||
//echo "<pre>"; var_dump($a->user); killme();
|
||||
|
||||
$channel = $a->get_channel();
|
||||
|
||||
if (is_null($nickname))
|
||||
$nickname = $channel['channel_address'];
|
||||
|
||||
if(x($_GET,'tab'))
|
||||
$tab = notags(trim($_GET['tab']));
|
||||
|
||||
$url = $a->get_baseurl() . '/channel/' . $nickname;
|
||||
$pr = $a->get_baseurl() . '/profile/' . $nickname;
|
||||
|
||||
$tabs = array(
|
||||
array(
|
||||
'label' => t('Channel'),
|
||||
'url' => $url,
|
||||
'sel' => ((argv(0) == 'channel') ? 'active' : ''),
|
||||
'title' => t('Status Messages and Posts'),
|
||||
'id' => 'status-tab',
|
||||
),
|
||||
array(
|
||||
'label' => t('About'),
|
||||
'url' => $pr,
|
||||
'sel' => ((argv(0) == 'profile') ? 'active' : ''),
|
||||
'title' => t('Profile Details'),
|
||||
'id' => 'profile-tab',
|
||||
),
|
||||
array(
|
||||
'label' => t('Photos'),
|
||||
'url' => $a->get_baseurl() . '/photos/' . $nickname,
|
||||
'sel' => ((argv(0) == 'photos') ? 'active' : ''),
|
||||
'title' => t('Photo Albums'),
|
||||
'id' => 'photo-tab',
|
||||
),
|
||||
);
|
||||
|
||||
|
||||
if ($is_owner){
|
||||
$tabs[] = array(
|
||||
'label' => t('Events'),
|
||||
'url' => $a->get_baseurl() . '/events',
|
||||
'sel' => ((argv(0) == 'events') ? 'active' : ''),
|
||||
'title' => t('Events and Calendar'),
|
||||
'id' => 'events-tab',
|
||||
);
|
||||
if(feature_enabled(local_user(),'webpages')){
|
||||
$tabs[] = array(
|
||||
'label' => t('Webpages'),
|
||||
'url' => $a->get_baseurl() . '/webpages/' . $nickname,
|
||||
'sel' => ((argv(0) == 'webpages') ? 'active' : ''),
|
||||
'title' => t('Manage Webpages'),
|
||||
'id' => 'webpages-tab',
|
||||
);}
|
||||
}
|
||||
else {
|
||||
// FIXME
|
||||
// we probably need a listing of events that were created by
|
||||
// this channel and are visible to the observer
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
$arr = array('is_owner' => $is_owner, 'nickname' => $nickname, 'tab' => (($tab) ? $tab : false), 'tabs' => $tabs);
|
||||
call_hooks('profile_tabs', $arr);
|
||||
|
||||
$tpl = get_markup_template('common_tabs.tpl');
|
||||
|
||||
return replace_macros($tpl,array('$tabs' => $arr['tabs']));
|
||||
}
|
||||
|
||||
|
||||
function get_my_url() {
|
||||
if(x($_SESSION,'zrl_override'))
|
||||
return $_SESSION['zrl_override'];
|
||||
if(x($_SESSION,'my_url'))
|
||||
return $_SESSION['my_url'];
|
||||
return false;
|
||||
}
|
||||
|
||||
function get_my_address() {
|
||||
if(x($_SESSION,'zid_override'))
|
||||
return $_SESSION['zid_override'];
|
||||
if(x($_SESSION,'my_address'))
|
||||
return $_SESSION['my_address'];
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @function zid_init(&$a)
|
||||
* If somebody arrives at our site using a zid, add their xchan to our DB if we don't have it already.
|
||||
* And if they aren't already authenticated here, attempt reverse magic auth.
|
||||
*
|
||||
* @hooks 'zid_init'
|
||||
* string 'zid' - their zid
|
||||
* string 'url' - the destination url
|
||||
*
|
||||
*/
|
||||
|
||||
function zid_init(&$a) {
|
||||
$tmp_str = get_my_address();
|
||||
if(validate_email($tmp_str)) {
|
||||
proc_run('php','include/gprobe.php',bin2hex($tmp_str));
|
||||
$arr = array('zid' => $tmp_str, 'url' => $a->cmd);
|
||||
call_hooks('zid_init',$arr);
|
||||
if((! local_user()) && (! remote_user())) {
|
||||
logger('zid_init: not authenticated. Invoking reverse magic-auth');
|
||||
$r = q("select * from hubloc where hubloc_addr = '%s' limit 1",
|
||||
dbesc($tmp_str)
|
||||
);
|
||||
// try to avoid recursion - but send them home to do a proper magic auth
|
||||
$dest = '/' . $a->query_string;
|
||||
$dest = str_replace(array('?zid=','&zid='),array('?rzid=','&rzid='),$dest);
|
||||
if($r && ($r[0]['hubloc_url'] != z_root()) && (! strstr($dest,'/magic')) && (! strstr($dest,'/rmagic'))) {
|
||||
goaway($r[0]['hubloc_url'] . '/magic' . '?f=&rev=1&dest=' . z_root() . $dest);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @function zid($s,$address = '')
|
||||
* Adds a zid parameter to a url
|
||||
* @param string $s
|
||||
* The url to accept the zid
|
||||
* @param boolean $address
|
||||
* $address to use instead of session environment
|
||||
* @return string
|
||||
*
|
||||
* @hooks 'zid'
|
||||
* string url - url to accept zid
|
||||
* string zid - urlencoded zid
|
||||
* string result - the return string we calculated, change it if you want to return something else
|
||||
*/
|
||||
|
||||
|
||||
function zid($s,$address = '') {
|
||||
if(! strlen($s) || strpos($s,'zid='))
|
||||
return $s;
|
||||
$has_params = ((strpos($s,'?')) ? true : false);
|
||||
$num_slashes = substr_count($s,'/');
|
||||
if(! $has_params)
|
||||
$has_params = ((strpos($s,'&')) ? true : false);
|
||||
$achar = strpos($s,'?') ? '&' : '?';
|
||||
|
||||
$mine = get_my_url();
|
||||
$myaddr = (($address) ? $address : get_my_address());
|
||||
|
||||
// FIXME checking against our own channel url is no longer reliable. We may have a lot
|
||||
// of urls attached to out channel. Should probably match against our site, since we
|
||||
// will not need to remote authenticate on our own site anyway.
|
||||
|
||||
if($mine && $myaddr && (! link_compare($mine,$s)))
|
||||
$zurl = $s . (($num_slashes >= 3) ? '' : '/') . $achar . 'zid=' . urlencode($myaddr);
|
||||
else
|
||||
$zurl = $s;
|
||||
|
||||
$arr = array('url' => $s, 'zid' => urlencode($myaddr), 'result' => $zurl);
|
||||
call_hooks('zid', $arr);
|
||||
return $arr['result'];
|
||||
}
|
||||
|
||||
/**
|
||||
* returns querystring as string from a mapped array
|
||||
*
|
||||
@ -2455,12 +1820,17 @@ function construct_page(&$a) {
|
||||
|
||||
require_once('include/comanche.php');
|
||||
|
||||
if(($p = theme_include('mod_' . $a->module . '.pdl')) != '')
|
||||
comanche_parser($a,@file_get_contents($p));
|
||||
|
||||
$comanche = ((count($a->layout)) ? true : false);
|
||||
|
||||
/**
|
||||
* Build the page - now that we have all the components
|
||||
*/
|
||||
|
||||
require_once(theme_include('theme_init.php'));
|
||||
|
||||
$installing = false;
|
||||
|
||||
if($a->module == 'setup')
|
||||
@ -2475,7 +1845,6 @@ function construct_page(&$a) {
|
||||
}
|
||||
}
|
||||
|
||||
require_once(theme_include('theme_init.php'));
|
||||
|
||||
if(($p = theme_include(current_theme() . '.js')) != '')
|
||||
head_add_js($p);
|
||||
@ -2513,6 +1882,10 @@ function construct_page(&$a) {
|
||||
// layout completely with a new layout definition, or replace/remove existing content.
|
||||
|
||||
if($comanche) {
|
||||
$arr = array('module' => $a->module, 'layout' => $a->layout);
|
||||
call_hooks('construct_page',$arr);
|
||||
$a->layout = $arr['layout'];
|
||||
|
||||
foreach($a->layout as $k => $v) {
|
||||
if((strpos($k,'region_') === 0) && strlen($v)) {
|
||||
if(strpos($v,'$region_') !== false) {
|
||||
@ -2525,10 +1898,12 @@ function construct_page(&$a) {
|
||||
$v = str_replace('$nav',$a->page['nav'],$v);
|
||||
}
|
||||
if(strpos($v,'$content') !== false) {
|
||||
$v = str_replace('$content',$a->page['section'],$v);
|
||||
|
||||
$v = str_replace('$content',$a->page['content'],$v);
|
||||
}
|
||||
|
||||
$a->page[substr($k,7)] = $v;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2584,19 +1959,3 @@ function head_get_icon() {
|
||||
return $icon;
|
||||
}
|
||||
|
||||
// Used from within PCSS themes to set theme parameters. If there's a
|
||||
// puid request variable, that is the "page owner" and normally their theme
|
||||
// settings take precedence; unless a local user sets the "always_my_theme"
|
||||
// system pconfig, which means they don't want to see anybody else's theme
|
||||
// settings except their own while on this site.
|
||||
|
||||
function get_theme_uid() {
|
||||
$uid = (($_REQUEST['puid']) ? intval($_REQUEST['puid']) : 0);
|
||||
if(local_user()) {
|
||||
if((get_pconfig(local_user(),'system','always_my_theme')) || (! $uid))
|
||||
return local_user();
|
||||
if(! $uid)
|
||||
return local_user();
|
||||
}
|
||||
return $uid;
|
||||
}
|
||||
|
107
doc/Features.md
Normal file
107
doc/Features.md
Normal file
@ -0,0 +1,107 @@
|
||||
Extra Features
|
||||
==============
|
||||
|
||||
The default interface of the Red Matrix was designed to be uncluttered. There are a huge number of extra features (some of which are extremely useful) which you can turn on and get the most of the application. These are found under the [Extra Features](settings/features) link of your [Settings](settings) page.
|
||||
|
||||
**Content Expiration**
|
||||
|
||||
Remove posts/comments and/or private messages at a future time. An extra button is added to the post editor which asks you for an expiration. Typically this in "yyyy-mm-dd hh:mm" format, but in the English language you have a bit more freedom and can use most any recognisable date reference such as "next Thursday" or "+1 day". At the specified time (give or take approximately ten minutes based on the remote system's checking frequency) the post is removed.
|
||||
|
||||
**Multiple Profiles**
|
||||
|
||||
The ability to create multiple profiles which are visible only to specific persons or groups. Your default profile may be visible to anybody, but secondary profiles can all contain different or additional information and can only be seen by those to whom that profile is assigned.
|
||||
|
||||
**Web Pages**
|
||||
|
||||
Provides the ability to use web page design feaures and create custom webpages from your own content and also to design the pages with page layouts, custom menus, and content blocks.
|
||||
|
||||
**Private Notes**
|
||||
|
||||
On pages where it is available (your matrix page and personal web pages) provide a "widget" to create and store personal reminders and notes.
|
||||
|
||||
**Enhanced Photo Albums**
|
||||
|
||||
Provides a photo album viewer that is a bit prettier than the normal interface.
|
||||
|
||||
**Extended Identity Sharing**
|
||||
|
||||
By default your identity travels with you as you browse the matrix to remote sites - and they know who you are and can show you content that only you can see. With Extended Identity Sharing you can provide this information to any website you visit from within the matrix.
|
||||
|
||||
**Expert Mode**
|
||||
|
||||
This allows you to see some advanced configuration options that would confuse some people or cause support issues. In particular this can give you full control over theme features and colours - so that you can tweak a large number of settings of the display theme to your liking.
|
||||
|
||||
**Premium Channel**
|
||||
|
||||
This allows you to set restrictions and terms on those that connect with your channel. This may be used by celebrities or anybody else who wishes to describe their channel to people who wish to connect with it. In certain cases you may be asked for payment in order to connect.
|
||||
|
||||
|
||||
**Richtext Editor**
|
||||
|
||||
The status post editor is plaintext, but the matrix allows a wide range of markup using BBcode. The visual editor provides "what you see is what you get" for many of the most frequently used markup tags.
|
||||
|
||||
**Post Preview**
|
||||
|
||||
Allows previewing posts and comments exactly as they would look on the page before publishing them.
|
||||
|
||||
**Channel Sources**
|
||||
|
||||
Automatically import and re-publish channel content from other channels or feeds. This allows you to create sub-channels and super-channels from content provided elsewhere. The rules are that the content must be public, and the channel owner must give you permission to source their channel.
|
||||
|
||||
**Even More Encryption**
|
||||
|
||||
Private messages are encrypted during transport and storage. In this day and age, this encyption may not be enough if your communications are extremely sensitive. This options lets you provide optional encryption of content "end-to-end" with a shared secret key. How the recipient learns the secret key is completely up to you. You can provide a hint such as "the name of aunt Claire's first dog".
|
||||
|
||||
|
||||
**Search by Date**
|
||||
|
||||
This provides the ability to select posts by date ranges
|
||||
|
||||
**Collections Filter**
|
||||
|
||||
Enable widget to display stream posts only from selected collections. This also toggles the outbound permissions while you are viewing a collection. This is analogous to Google "circles" or Disapora "aspects".
|
||||
|
||||
**Saved Searches**
|
||||
|
||||
Provides a search widget on your matrix page which can save selected search terms for re-use.
|
||||
|
||||
**Personal Tab**
|
||||
|
||||
Enable tab to display only matrix posts that you've interacted with in some way, as an author or a contributor to the conversation.
|
||||
|
||||
**New Tab**
|
||||
|
||||
Enables a tab to display all new matrix activity as a firehose or timeline.
|
||||
|
||||
**Affinity Tool**
|
||||
|
||||
Filter matrix stream activity by the depth of your relationships
|
||||
|
||||
**Edit Sent Posts**
|
||||
|
||||
Edit and correct posts and comments after sending
|
||||
|
||||
**Tagging**
|
||||
|
||||
Ability to tag existing posts, including those written by others.
|
||||
|
||||
**Post Categories**
|
||||
|
||||
Add categories to your channel posts
|
||||
|
||||
**Saved Folders**
|
||||
|
||||
Ability to file posts under folders or tags for later recall
|
||||
|
||||
**Dislike Posts**
|
||||
|
||||
Ability to dislike posts/comments
|
||||
|
||||
**Star Posts**
|
||||
|
||||
Ability to mark special posts with a star indicator
|
||||
|
||||
**Tag Cloud**
|
||||
|
||||
Provide a personal tag cloud on your channel page
|
||||
|
12
doc/Home.md
12
doc/Home.md
@ -9,6 +9,7 @@ Red Matrix Documentation and Resources
|
||||
* [Channels](help/Channels)
|
||||
* [Connecting to Channels](help/Connecting-to-Channels)
|
||||
* [Permissions](help/Permissions)
|
||||
* [But Wait - There's More. MUCH More...](help/Features)
|
||||
* [Tags and Mentions](help/Tags-and-Mentions)
|
||||
* [Web Pages](help/Webpages)
|
||||
* [Remove Account](help/Remove-Account)
|
||||
@ -18,12 +19,21 @@ Red Matrix Documentation and Resources
|
||||
* [Install](help/Install)
|
||||
* [Comanche Page Descriptions](help/Comanche)
|
||||
* [Plugins](help/Plugins)
|
||||
* [Schemas](help/Schema-development)
|
||||
* [Developers](help/Developers)
|
||||
* [Code](doc/html)
|
||||
* [Intro for Developers](help/Intro-for-Developers)
|
||||
* [API functions](help/api_functions)
|
||||
* [Red Functions 101](help/dev-function-overview)
|
||||
* [Code Reference (doxygen generated)](doc/html)
|
||||
* [To-Do list for the Red Documentation Project](help/To-Do)
|
||||
* [To-Do list for Developers](help/To-Do-Code)
|
||||
|
||||
**External Resources**
|
||||
|
||||
* [Main Website](https://github.com/friendica/red)
|
||||
* [Plugin/Addon Website](https://github.com/friendica/red-addons)
|
||||
* [Assets Website](https://github.com/friendica/red-assets)
|
||||
|
||||
* [Development Channel](http://zothub.com/channel/one)
|
||||
|
||||
**About**
|
||||
|
105
doc/Intro-for-Developers.md
Normal file
105
doc/Intro-for-Developers.md
Normal file
@ -0,0 +1,105 @@
|
||||
File system layout:
|
||||
===================
|
||||
|
||||
[addon] optional addons/plugins
|
||||
|
||||
[boot.php] Every process uses this to bootstrap the application structure
|
||||
|
||||
[doc] Help Files
|
||||
|
||||
[images] core required images
|
||||
|
||||
[include] The "model" in MVC - (back-end functions), also contains PHP "executables" for background processing
|
||||
|
||||
[index.php] The front-end controller for web access
|
||||
|
||||
[install] Installation and upgrade files and DB schema
|
||||
|
||||
[js] core required javascript
|
||||
|
||||
[library] Third party modules (must be license compatible)
|
||||
|
||||
[mod] Controller modules based on URL pathname (e.g. http://sitename/foo loads mod/foo.php)
|
||||
|
||||
[spec] protocol specifications
|
||||
|
||||
[util] translation tools, main English string database and other miscellaneous utilities
|
||||
|
||||
[version.inc] contains current version (auto-updated via cron for the master repository and distributed via git)
|
||||
|
||||
[view] theming and language files
|
||||
|
||||
|
||||
[view/(css,js,img,php,tpl)] default theme files
|
||||
|
||||
[view/(en,it,es ...)] language strings and resources
|
||||
|
||||
[view/theme/] individual named themes containing (css,js,img,php,tpl) over-rides
|
||||
|
||||
|
||||
The Database:
|
||||
=============
|
||||
|
||||
* abook - contact table, replaces Friendica 'contact'
|
||||
* account - service provider account
|
||||
* addon - registered plugins
|
||||
* attach - file attachments
|
||||
* auth_codes - OAuth usage
|
||||
* cache - TBD
|
||||
* challenge - old DFRN structure, may re-use or may deprecate
|
||||
* channel - replaces Friendica 'user'
|
||||
* clients - OAuth usage
|
||||
* config - main configuration storage
|
||||
* event - Events
|
||||
* fcontact - friend suggestion stuff
|
||||
* ffinder - friend suggestion stuff
|
||||
* fserver - obsolete
|
||||
* fsuggest - friend suggestion stuff
|
||||
* gcign - ignored friend suggestions
|
||||
* gcontact - social graph storage, obsolete
|
||||
* glink - social graph storage - obsolete
|
||||
* group - privacy groups
|
||||
* group_member - privacy groups
|
||||
* hook - plugin hook registry
|
||||
* hubloc - Red location storage, ties a location to an xchan
|
||||
* intro - DFRN introductions, may be obsolete
|
||||
* item - posts
|
||||
* item_id - other identifiers on other services for posts
|
||||
* mail - private messages
|
||||
* manage - may be unused in Red, table of accounts that can "su" each other
|
||||
* notify - notifications
|
||||
* notify-threads - need to factor this out and use item thread info on notifications
|
||||
* outq - Red output queue
|
||||
* pconfig - personal (per channel) configuration storage
|
||||
* photo - photo storage
|
||||
* profile - channel profiles
|
||||
* profile_check - DFRN remote auth use, may be obsolete
|
||||
* queue - old Friendica queue, obsolete
|
||||
* register - registrations requiring admin approval
|
||||
* session - web session storage
|
||||
* site - site table to find directory peers
|
||||
* spam - unfinished
|
||||
* term - item taxonomy (categories, tags, etc.) table
|
||||
* tokens - OAuth usage
|
||||
* verify - general purpose verification structure
|
||||
* xchan - replaces 'gcontact', list of known channels in the universe
|
||||
* xlink - "friends of friends" linkages derived from poco
|
||||
* xprof - if this hub is a directory server, contains basic public profile info of everybody in the network
|
||||
* xtag - if this hub is a directory server, contains tags or interests of everybody in the network
|
||||
|
||||
|
||||
How to theme Red - by Olivier Migeot
|
||||
====================================
|
||||
|
||||
This is a short documentation on what I found while trying to modify Red's appearance.
|
||||
|
||||
First, you'll need to create a new theme. This is in /view/theme, and I chose to copy 'redbasic' since it's the only available for now. Let's assume I named it <theme>.
|
||||
|
||||
Oh, and don't forget to rename the _init function in <theme>/php/theme.php to be <theme>_init() instead of redbasic_init().
|
||||
|
||||
At that point, if you need to add javascript or css files, add them to <theme>/js or <theme>/css, and then "register" them in <theme>_init() through head_add_js('file.js') and head_add_css('file.css').
|
||||
|
||||
Now you'll probably want to alter a template. These can be found in in /view/tpl OR view/<theme>/tpl. All you should have to do is copy whatever you want to tweak from the first place to your theme's own tpl directory.
|
||||
|
||||
|
||||
|
38
doc/README.md
Normal file
38
doc/README.md
Normal file
@ -0,0 +1,38 @@
|
||||
The Red Matrix
|
||||
==============
|
||||
|
||||
***"Connected Websites"***
|
||||
|
||||
The modern web is "missing" a few important pieces which would make it much more useful. Many corporations have stepped in with products to supply these missing pieces, but with a loss of freedom and privacy and increased **centralisation**.
|
||||
|
||||
Centralisation is generally considered a bad thing in network design as the loss of one critical node or centralised service could seriously impact the entire network - possibly taking a long time to recover. Recognising this, the original web was based on decentralised services. Over the years, this fundamental design strength has been largely overlooked, as people congregate into centralised services which provide the missing pieces.
|
||||
|
||||
These missing pieces are (in no particular order):
|
||||
|
||||
- Secure and private "spam free" communications
|
||||
|
||||
- Identity and "single-signon" across the entire network
|
||||
|
||||
- Privacy controls and permissions which extend to the entire network
|
||||
|
||||
- Directory services (like a phone book)
|
||||
|
||||
|
||||
|
||||
The Red Matrix (sometimes referred to as just "Red") is a collection of web servers and services which provides these missing pieces, but within a decentralised identity and messaging framework (known as "Zot"). Red operates as an independent network within the larger internet where all the nodes or servers (we call them "hubs") are able to fully interact with each other in ways that are simply not possible using other services. Additionally the owners of each network hub have the ability to set their own rules with regard to communications privacy and data ownership, because each operates with complete independence. These hubs require only slightly more resources than a blog or content management system, and the software is being designed with the ability to natively incorporate both kinds of functionality, as well as cloud storage.
|
||||
|
||||

|
||||
|
||||
|
||||
Whilst other decentralised communications networks exist, an additional weakness we've found in the implementation of these systems is the binding of network identity with the physical server where it resides; for example if you are "eric@example.website", your identity is often tied permanently to "example.website". We see this as a problem. Many hubs on the Indie Web are run by enthusiasts with varying skill levels and financial resources - and the technology is changing quite rapidly. Often the cost or workload involved in maintaining these services becomes a burden (or hardware fails) and people or entire social communities are left stranded when their server goes offline. Their identity no longer exists. They may have to "start over" building their social circle from scratch when this happens. In some cases communities are unable to recover from this kind of disruption and the entire community dissolves.
|
||||
|
||||
We've been working on decentralisation for several years and have seen this happen time and time again.
|
||||
Within the Red Matrix, identity is nomadic. It defines you and it belongs to you - and is not locked to a particular network address. You can take your identity, and all your friends and associates with you - to any other hub in the network, at any time. If your hub goes offline for any reason, you have the ability to relocate to any other hub and carry on as if nothing happened. You still have all your friends and associations.
|
||||
|
||||
|
||||
The Red Matrix is free and open source distributed under the MIT license.
|
||||
|
||||
|
||||
Currently the project is in "Developer Preview". A lot of work remains, but many important bits are functioning. Please connect with one of the developer channels ("Channel One" would be a good choice) if you are interested in helping us out.
|
||||
|
||||
[Please help us change the world by providing a small donation.](http://pledgie.com/campaigns/18417) (Large donations are also graciously accepted).
|
@ -1,4 +1,23 @@
|
||||
Remove Account
|
||||
==============
|
||||
|
||||
It is presently not possible to remove an account. We'll have better doco when somebody finishes that bit.
|
||||
It is presently not possible to remove an account without asking your site administrator for assistance.
|
||||
We'll have better doco when somebody finishes that bit.
|
||||
|
||||
|
||||
Remove Channel
|
||||
==============
|
||||
|
||||
Visit the URL
|
||||
|
||||
https://yoursite/removeme
|
||||
|
||||
(replace 'yoursite' with the domain name of your Red Matrix site).
|
||||
You will need to confirm your password and the channel you are currently logged into will be removed.
|
||||
|
||||
This is irreversible.
|
||||
|
||||
If you have identity clones on other sites this only removes the channel instance which exists
|
||||
on this site.
|
||||
|
||||
|
||||
|
76
doc/Schema-development.md
Normal file
76
doc/Schema-development.md
Normal file
@ -0,0 +1,76 @@
|
||||
Red development - a guide to the schema system
|
||||
==============================================
|
||||
|
||||
|
||||
A schema, in a nutshell, is a collection of settings for a bunch of variables to define
|
||||
certain elements of a theme. A schema is loaded as though it were part of config.php
|
||||
and has access to all the same information. Importantly, this means it is identity aware,
|
||||
and can be used to do some interesting things. One could, for example, restrict options
|
||||
by service class, or present different options to different members.
|
||||
|
||||
By default, we filter only by whether or not expert mode is enabled. If expert mode is
|
||||
enabled, all options are presented to the member. If it is not, only scheme, background
|
||||
image, font face, and iconset are available as choices.
|
||||
|
||||
A schema is loaded *after* the member's personal settings. Therefore, to allow a member
|
||||
to overwrite a particular aspect of a schema you would use the following syntax:
|
||||
|
||||
if (! $foo)
|
||||
$foo = 'bar';
|
||||
|
||||
However, there are circumstances - particularly with positional elements - where it
|
||||
may be desirable (or necessary) to override a member's settings. In this case, the syntax
|
||||
is even simpler:
|
||||
|
||||
$foo = 'bar';
|
||||
|
||||
Members will not thank you for this, however, so only use it when it is required.
|
||||
|
||||
If no personal options are set, and no schema is selected, we will first try to load a schema
|
||||
with the file name "default.php". This file should never be included with a theme. If it
|
||||
is, merge conflicts will occur as people update their code. Rather, this should be defined
|
||||
by administrators on a site by site basis.
|
||||
|
||||
You schema does not need to - and should not - contain all of these values. Only the values
|
||||
that differ from the defaults should be listed. This gives you some very powerful options
|
||||
with very few lines of code.
|
||||
|
||||
Note the options available differ with each theme. The options available with the Redbasic
|
||||
theme are as follows:
|
||||
|
||||
* nav_colour
|
||||
The colour of the navigation bar. Options are red, black and silver. Alternatively,
|
||||
one can set $nav_bg_1, $nav_bg_2, $nav_bg_3 and $nav_bg_4 to provide gradient and
|
||||
hover effects.
|
||||
* banner_colour
|
||||
The font colour of the banner element. Accepts an RGB or Hex value.
|
||||
* bgcolour
|
||||
Set the body background colour. Accepts an RGB or Hex value.
|
||||
* background_image
|
||||
Sets a background image. Accepts a URL or path.
|
||||
* item_colour
|
||||
Set the background colour of items. Accepts an RGB or Hex value.
|
||||
* item_opacity
|
||||
Set the opacity of items. Accepts a value from 0.01 to 1
|
||||
* toolicon_colour
|
||||
Set the colour of tool icons. Accepts an RGB or Hex value.
|
||||
* toolicon_activecolour
|
||||
Set the colour of active or hovered icon tools.
|
||||
* font_size
|
||||
Set the size of fonts in items and posts. Accepts px or em.
|
||||
* body_font_size
|
||||
Sets the size of fonts at the body level. Accepts px or em.
|
||||
* font_colour
|
||||
Sets the font colour. Accepts an RGB or Hex value.
|
||||
* radius
|
||||
Set the radius of corners. Accepts a numeral, and is always in px.
|
||||
* shadow
|
||||
Set the size of shadows shown with inline images. Accepts a numerical
|
||||
value. Note shadows are not applied to smileys.
|
||||
* converse_width
|
||||
Set the maximum width of conversations. Accepts px, or %.
|
||||
* nav_min_opacity
|
||||
* top_photo
|
||||
* reply_photo
|
||||
* sloppy_photos
|
||||
Determins whether photos are "sloppy" or aligned. Set or unset (1 or '')
|
51
doc/To-Do-Code.md
Normal file
51
doc/To-Do-Code.md
Normal file
@ -0,0 +1,51 @@
|
||||
Project Code To-Do List
|
||||
=======================
|
||||
|
||||
We need much more than this, but here are areas where developers can help. Please edit this page when items are finished. Another place for developers to start is with the issues list.
|
||||
|
||||
* ACL widget - provide cc/bcc toggle to allow recipients to be discoverable at receiving end. This should integrate with public/private collections which currently exist but have no defined function.
|
||||
|
||||
* Turn top-level Apps menu into an Apps page - which will probably require App plugins to have icons. Add documentation specifically to the plugin/addon documentation for creating apps. Add links to the App Store (which doesn't currently exist).
|
||||
|
||||
* Documentation - see [Red Documentation Project To-Do List](help/To-Do)
|
||||
|
||||
* Finish the anti-spam bayesian engine
|
||||
|
||||
* Integrate the "open site" list with the register page
|
||||
|
||||
* Write more webpage layouts
|
||||
|
||||
* Write more webpage widgets
|
||||
|
||||
* (Advanced) create a UI for building Comanche pages
|
||||
|
||||
* Help with WebDAV and file storage implementation
|
||||
|
||||
* Extend WebDAV to provide desktop access to photo albums and existing file (attachment) storage
|
||||
|
||||
* Directory - provide a hover popup providing much more detail about the channel of interest. Keywords, additional public profile details, perhaps the last public post, anything else of interest.
|
||||
|
||||
* Events module - bring back birthday reminders for friends, fix permissions on events, and provide JS translation support for the calendar overview
|
||||
|
||||
* Events module - event followups and RSVP
|
||||
|
||||
* Photos module - turn photos into normal conversations and fix tagging
|
||||
|
||||
* Provide RSS feed support which look like channels (in matrix only - copyright issues)
|
||||
|
||||
* Fully implement "things".
|
||||
|
||||
* Create mobile clients for the top platforms - which involves extending the API so that we can do stuff far beyond the current crop of Twitter/Statusnet clients. Ditto for mobile themes. We can probably use something like the Friendica Android app as a base to start from.
|
||||
|
||||
* Activity Stream generation for liking things, liking channels and other combinations.
|
||||
|
||||
* Implement owned and exchangeable "things".
|
||||
|
||||
* Family Account creation - using service classes (an account holder can create a certain number of sub-accounts which are all tied to their subscription - if the subscription lapses they all go away).
|
||||
|
||||
* Re-working of widgets so that entire application and page contents (e.g. modules) will be available to and under the control of themes/apps using Comanche layouts.
|
||||
|
||||
In many cases some of the work has already been started and code exists so that you needn't start from scratch. Please contact one of the developer channels like Channel One (one@zothub.com) before embarking and we can tell you what we already have and provide some insights on how we envision these features fitting together.
|
||||
|
||||
|
||||
|
23
doc/To-Do.md
Normal file
23
doc/To-Do.md
Normal file
@ -0,0 +1,23 @@
|
||||
Documentation we need to write
|
||||
==============================
|
||||
|
||||
|
||||
* Database schema detailed descriptions
|
||||
|
||||
* Complete plugin hook documentation
|
||||
|
||||
* API documentation
|
||||
|
||||
* Function and code documentation (doxygen)
|
||||
|
||||
* New Member guide
|
||||
|
||||
* "Extra Feature" reference, description of each
|
||||
|
||||
* Detailed Personal Settings Documentation
|
||||
|
||||
* Administration Guide (post-install)
|
||||
|
||||
* Administration Guide (pre-install)
|
||||
|
||||
|
138
doc/api_functions.md
Normal file
138
doc/api_functions.md
Normal file
@ -0,0 +1,138 @@
|
||||
Red Twitter API
|
||||
===============
|
||||
|
||||
The "basic" Red web API is based on the Twitter API, as this provides instant compatibility with a huge number of third-party clients and applications without requiring any code changes on their part. It is also a super-set of the StatusNet version of the Twitter API, as this also has existing wide support.
|
||||
|
||||
Red has a lot more capability that isn't exposed in the Twitter interfaces or where we are forced to "dumb-down" the API functions to work with the primitive Twitter/StatusNet communications and privacy model. So we plan to extend the Twitter API in ways that will allow Red-specific clients to make full use of Red features without being crippled.
|
||||
|
||||
A dedicated Red API is also being developed to work with native data structures and permissions and which do not require translating to different privacy and permission models and storage formats. This will be described in other documents. The prefix for all of the native endpoints is 'api/red'.
|
||||
|
||||
Red provides multiple channels accesible via the same login account. With Red, any API function which requires authentication will accept a parameter &channel={channel_nickname} - and will select that channel and make it current before executing the API command. By default, the default channel associated with an account is selected.
|
||||
|
||||
Red also provides an extended permission model. In the absence of any Red specific API calls to set permissions, they will be set to the default permissions settings which are associated with the current channel.
|
||||
|
||||
Red will probably never be able to support the Twitter 'api/friendships' functions fully because Red is not a social network and has no concept of "friendships" - it only recognises permissions to do stuff (or not do stuff as the case may be).
|
||||
|
||||
Legend: T= Twitter, S= StatusNet, F= Friendica, R= Red, ()=Not yet working, J= JSON only (XML formats deprecated)
|
||||
|
||||
|
||||
|
||||
Twitter API compatible functions:
|
||||
|
||||
* api/account/verify_credentials T,S,F,R
|
||||
* api/statuses/update T,S,F,R
|
||||
* api/users/show T,S,F,R
|
||||
* api/statuses/home_timeline T,S,F,R
|
||||
* api/statuses/friends_timeline T,S,F,R
|
||||
* api/statuses/public_timeline T,S,F,R
|
||||
* api/statuses/show T,S,F,R
|
||||
* api/statuses/retweet T,S,F,R
|
||||
* api/statuses/destroy T,S,F,(R)
|
||||
* api/statuses/mentions T,S,F,(R)
|
||||
* api/statuses/replies T,S,F,(R)
|
||||
* api/statuses/user_timeline T,S,F,(R)
|
||||
* api/favorites T,S,F,(R)
|
||||
* api/account/rate_limit_status T,S,F,R
|
||||
* api/help/test T,S,F,R
|
||||
* api/statuses/friends T,S,F,R
|
||||
* api/statuses/followers T,S,F,R
|
||||
* api/friends/ids T,S,F,R
|
||||
* api/followers/ids T,S,F,R
|
||||
* api/direct_messages/new T,S,F,(R)
|
||||
* api/direct_messages/conversation T,S,F,(R)
|
||||
* api/direct_messages/all T,S,F,(R)
|
||||
* api/direct_messages/sent T,S,F,(R)
|
||||
* api/direct_messages T,S,F,(R)
|
||||
* api/oauth/request_token T,S,F,R
|
||||
* api/oauth/access_token T,S,F,R
|
||||
|
||||
|
||||
Twitter API functions supported by StatusNet but not currently by Friendica or Red
|
||||
|
||||
* api/favorites T,S
|
||||
* api/favorites/create T,S
|
||||
* api/favorites/destroy T,S
|
||||
* api/statuses/retweets_of_me T,S
|
||||
* api/friendships/create T,S
|
||||
* api/friendships/destroy T,S
|
||||
* api/friendships/exists T,S
|
||||
* api/friendships/show T,S
|
||||
* api/account/update_location T,S
|
||||
* api/account/update_profile_background_image T,S
|
||||
* api/account/update_profile_image T,S
|
||||
* api/blocks/create T,S
|
||||
* api/blocks/destroy T,S
|
||||
|
||||
Twitter API functions not currently supported by StatusNet
|
||||
|
||||
* api/statuses/retweeted_to_me T
|
||||
* api/statuses/retweeted_by_me T
|
||||
* api/direct_messages/destroy T
|
||||
* api/account/end_session T,(R)
|
||||
* api/account/update_delivery_device T
|
||||
* api/notifications/follow T
|
||||
* api/notifications/leave T
|
||||
* api/blocks/exists T
|
||||
* api/blocks/blocking T
|
||||
* api/lists T
|
||||
|
||||
|
||||
Statusnet compatible extensions to the Twitter API supported in both Friendica and Red
|
||||
|
||||
* api/statusnet/version S,F,R
|
||||
* api/statusnet/config S,F,R
|
||||
|
||||
Friendica API extensions to the Twitter API supported in both Friendica and Red
|
||||
|
||||
* api/statuses/mediap F,R
|
||||
|
||||
|
||||
Red specific API extensions to the Twitter API not supported in Friendica
|
||||
|
||||
* api/account/logout R
|
||||
* api/export/basic R,J
|
||||
* api/friendica/config R
|
||||
* api/red/config R
|
||||
* api/friendica/version R
|
||||
* api/red/version R
|
||||
|
||||
* api/red/channel/export/basic R,J
|
||||
* api/red/channel/stream R,J (currently post only)
|
||||
* api/red/albums R,J
|
||||
* api/red/photos R,J (option album=xxxx)
|
||||
|
||||
|
||||
Red proposed API extensions to the Twitter API
|
||||
|
||||
* api/statuses/edit (R),J
|
||||
* api/statuses/permissions (R),J
|
||||
* api/statuses/permissions/update (R),J
|
||||
* api/statuses/ids (R),J # search for existing message_id before importing a foreign post
|
||||
* api/files/show (R),J
|
||||
* api/files/destroy (R),J
|
||||
* api/files/update (R),J
|
||||
* api/files/permissions (R),J
|
||||
* api/files/permissions/update (R),J
|
||||
* api/pages/show (R),J
|
||||
* api/pages/destroy (R),J
|
||||
* api/pages/update (R),J
|
||||
* api/pages/permissions (R),J
|
||||
* api/pages/permissions/update (R),J
|
||||
* api/events/show (R),J
|
||||
* api/events/update (R),J
|
||||
* api/events/permissions (R),J
|
||||
* api/events/permissions/update (R),J
|
||||
* api/events/destroy (R),J
|
||||
* api/photos/show (R),J
|
||||
* api/photos/update (R),J
|
||||
* api/photos/permissions (R),J
|
||||
* api/photos/permissions/update (R),J
|
||||
* api/albums/destroy (R),J
|
||||
* api/albums/show (R),J
|
||||
* api/albums/update (R),J
|
||||
* api/albums/permissions (R),J
|
||||
* api/albums/permissions/update (R),J
|
||||
* api/albums/destroy (R),J
|
||||
* api/friends/permissions (R),J
|
||||
|
||||
|
52
doc/dev-function-overview.md
Normal file
52
doc/dev-function-overview.md
Normal file
@ -0,0 +1,52 @@
|
||||
Red development - some useful basic functions
|
||||
=============================================
|
||||
|
||||
|
||||
|
||||
* get_account_id()
|
||||
|
||||
Returns numeric account_id if authenticated or 0. It is possible to be authenticated and not connected to a channel.
|
||||
|
||||
* local_user()
|
||||
|
||||
Returns authenticated numeric channel_id if authenticated and connected to a channel or 0. Sometimes referred to as $uid in the code.
|
||||
|
||||
* remote_user()
|
||||
|
||||
Returns authenticated string hash of Red global identifier, if authenticated via remote auth, or an empty string.
|
||||
|
||||
* get_app()
|
||||
|
||||
Returns the global app structure ($a).
|
||||
|
||||
* App::get_observer()
|
||||
|
||||
(App:: is usually assigned to the global $a), so $a->get_observer() or get_app()->get_observer() - returns an xchan structure representing the current viewer if authenticated (locally or remotely).
|
||||
|
||||
* get_config($family,$key), get_pconfig($uid,$family,$key)
|
||||
|
||||
Returns the config setting for $family and $key or false if unset.
|
||||
|
||||
* set_config($family,$key,$value), set_pconfig($uid,$family,$key,$value)
|
||||
|
||||
Sets the value of config setting for $family and $key to $value. Returns $value. The config versions operate on system-wide settings. The pconfig versions get/set the values for a specific integer uid (channel_id).
|
||||
|
||||
* dbesc()
|
||||
|
||||
Always escape strings being used in DB queries. This function returns the escaped string. Integer DB parameters should all be proven integers by wrapping with intval()
|
||||
|
||||
* q($sql,$var1...)
|
||||
|
||||
Perform a DB query with the SQL statement $sql. printf style arguments %s and %d are replaced with variable arguments, which should each be appropriately dbesc() or intval(). SELECT queries return an array of results or false if SQL or DB error. Other queries return true if the command was successful or false if it wasn't.
|
||||
|
||||
* t($string)
|
||||
|
||||
Returns the translated variant of $string for the current language or $string (default 'en' language) if the language is unrecognised or a translated version of the string does not exist.
|
||||
|
||||
* x($var), $x($array,$key)
|
||||
|
||||
Shorthand test to see if variable $var is set and is not empty. Tests vary by type. Returns false if $var or $key is not set.
|
||||
If variable is set, returns 1 if has 'non-zero' value, otherwise returns 0. -- e.g. x('') or x(0) returns 0;
|
||||
|
||||
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
@ -140,12 +140,9 @@ Functions</h2></td></tr>
|
||||
<tr class="separator:a28e062c884331dbb5dfa713228c25ad6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a38daa1c210b78385307123450ca9a1fc"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#a38daa1c210b78385307123450ca9a1fc">terminate_friendship</a> ($user, $self, $contact)</td></tr>
|
||||
<tr class="separator:a38daa1c210b78385307123450ca9a1fc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a91281b5d4bbbb2ed468e27ec82ca083c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="redbasic_2php_2style_8php.html#a883f9f14e205f7aa7de02c14df67b40a">if</a>(!function_exists('mark_for_death')) <br class="typebreak"/>
|
||||
<a class="el" href="redbasic_2php_2style_8php.html#a883f9f14e205f7aa7de02c14df67b40a">if</a>(!function_exists('unmark_for_death')) <br class="typebreak"/>
|
||||
<a class="el" href="redbasic_2php_2style_8php.html#a883f9f14e205f7aa7de02c14df67b40a">if</a>(!function_exists('contact_photo_menu')) </td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#a91281b5d4bbbb2ed468e27ec82ca083c">random_profile</a> ()</td></tr>
|
||||
<tr class="separator:a91281b5d4bbbb2ed468e27ec82ca083c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a228fc01f90ae9bfdde4c2ad0772bd7dc"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#a228fc01f90ae9bfdde4c2ad0772bd7dc">contacts_not_grouped</a> ($uid, $start=0, $count=0)</td></tr>
|
||||
<tr class="separator:a228fc01f90ae9bfdde4c2ad0772bd7dc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a852fa476f0c70bde10a4f2533aec5f71"><td class="memItemLeft" align="right" valign="top"><a class="el" href="redbasic_2php_2style_8php.html#a883f9f14e205f7aa7de02c14df67b40a">if</a>(!function_exists('mark_for_death')) <br class="typebreak"/>
|
||||
<a class="el" href="redbasic_2php_2style_8php.html#a883f9f14e205f7aa7de02c14df67b40a">if</a>(!function_exists('unmark_for_death')) </td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#a852fa476f0c70bde10a4f2533aec5f71">random_profile</a> ()</td></tr>
|
||||
<tr class="separator:a852fa476f0c70bde10a4f2533aec5f71"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<h2 class="groupheader">Function Documentation</h2>
|
||||
<a class="anchor" id="ae8803c330352cbf1e828eb7490edf47e"></a>
|
||||
@ -244,7 +241,7 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Referenced by <a class="el" href="include_2chanman_8php.html#a21ba9a5c961e866ff27aee3ee67bf99b">chanman_remove_everything_from_network()</a>.</p>
|
||||
<p>Referenced by <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, and <a class="el" href="include_2chanman_8php.html#a21ba9a5c961e866ff27aee3ee67bf99b">chanman_remove_everything_from_network()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -354,46 +351,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a228fc01f90ae9bfdde4c2ad0772bd7dc"></a>
|
||||
<a class="anchor" id="a852fa476f0c70bde10a4f2533aec5f71"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">contacts_not_grouped </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname"><em>$uid</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname"><em>$start</em> = <code>0</code>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname"><em>$count</em> = <code>0</code> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Referenced by <a class="el" href="nogroup_8php.html#a52085b183f97c552f1db5c4926e8ec30">nogroup_content()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a91281b5d4bbbb2ed468e27ec82ca083c"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="redbasic_2php_2style_8php.html#a883f9f14e205f7aa7de02c14df67b40a">if</a> (!function_exists('mark_for_death')) <a class="el" href="redbasic_2php_2style_8php.html#a883f9f14e205f7aa7de02c14df67b40a">if</a> (!function_exists('unmark_for_death')) <a class="el" href="redbasic_2php_2style_8php.html#a883f9f14e205f7aa7de02c14df67b40a">if</a> (!function_exists('contact_photo_menu')) random_profile </td>
|
||||
<td class="memname"><a class="el" href="redbasic_2php_2style_8php.html#a883f9f14e205f7aa7de02c14df67b40a">if</a> (!function_exists('mark_for_death')) <a class="el" href="redbasic_2php_2style_8php.html#a883f9f14e205f7aa7de02c14df67b40a">if</a> (!function_exists('unmark_for_death')) random_profile </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -429,7 +392,7 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Referenced by <a class="el" href="boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>.</p>
|
||||
<p>Referenced by <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -507,8 +470,6 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Referenced by <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, and <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a6348a532c9d26cd1c9afbc9aa6aa8960"></a>
|
||||
|
@ -9,8 +9,7 @@ var Contact_8php =
|
||||
[ "channelx_by_n", "Contact_8php.html#a3a0844dac1e86d523de5d2f432cfeebc", null ],
|
||||
[ "channelx_by_nick", "Contact_8php.html#a87e699f74a1102b25e8aa0432d86a91e", null ],
|
||||
[ "contact_remove", "Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6", null ],
|
||||
[ "contacts_not_grouped", "Contact_8php.html#a228fc01f90ae9bfdde4c2ad0772bd7dc", null ],
|
||||
[ "random_profile", "Contact_8php.html#a91281b5d4bbbb2ed468e27ec82ca083c", null ],
|
||||
[ "random_profile", "Contact_8php.html#a852fa476f0c70bde10a4f2533aec5f71", null ],
|
||||
[ "rconnect_url", "Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91", null ],
|
||||
[ "remove_all_xchan_resources", "Contact_8php.html#acc12cda999c88c4d6185cca967c15125", null ],
|
||||
[ "terminate_friendship", "Contact_8php.html#a38daa1c210b78385307123450ca9a1fc", null ],
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
@ -124,8 +124,8 @@ Functions</h2></td></tr>
|
||||
<tr class="separator:a9476997d2968a5794f3723878ed89c91"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad6664fb8330308e23f2645cd6624727e"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="acl__selectors_8php.html#ad6664fb8330308e23f2645cd6624727e">fixacl</a> (&$item)</td></tr>
|
||||
<tr class="separator:ad6664fb8330308e23f2645cd6624727e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a51f2ec7a143d5a5b38e35efd5f3d6e2c"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="acl__selectors_8php.html#a51f2ec7a143d5a5b38e35efd5f3d6e2c">populate_acl</a> ($user=null, $celeb=false)</td></tr>
|
||||
<tr class="separator:a51f2ec7a143d5a5b38e35efd5f3d6e2c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7b5446e999636ceceea65c154d865a31"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="acl__selectors_8php.html#a7b5446e999636ceceea65c154d865a31">populate_acl</a> ($defaults=null, $unused=false)</td></tr>
|
||||
<tr class="separator:a7b5446e999636ceceea65c154d865a31"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<h2 class="groupheader">Function Documentation</h2>
|
||||
<a class="anchor" id="a9476997d2968a5794f3723878ed89c91"></a>
|
||||
@ -246,7 +246,7 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a51f2ec7a143d5a5b38e35efd5f3d6e2c"></a>
|
||||
<a class="anchor" id="a7b5446e999636ceceea65c154d865a31"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
@ -254,13 +254,13 @@ Functions</h2></td></tr>
|
||||
<td class="memname">populate_acl </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname"><em>$user</em> = <code>null</code>, </td>
|
||||
<td class="paramname"><em>$defaults</em> = <code>null</code>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname"><em>$celeb</em> = <code>false</code> </td>
|
||||
<td class="paramname"><em>$unused</em> = <code>false</code> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
@ -270,7 +270,7 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, and <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>.</p>
|
||||
<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, and <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -3,5 +3,5 @@ var acl__selectors_8php =
|
||||
[ "contact_select", "acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91", null ],
|
||||
[ "fixacl", "acl__selectors_8php.html#ad6664fb8330308e23f2645cd6624727e", null ],
|
||||
[ "group_select", "acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0", null ],
|
||||
[ "populate_acl", "acl__selectors_8php.html#a51f2ec7a143d5a5b38e35efd5f3d6e2c", null ]
|
||||
[ "populate_acl", "acl__selectors_8php.html#a7b5446e999636ceceea65c154d865a31", null ]
|
||||
];
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
112
doc/html/apw_2README_8md.html
Normal file
112
doc/html/apw_2README_8md.html
Normal file
@ -0,0 +1,112 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.3.1"/>
|
||||
<title>The Red Matrix: view/theme/apw/README.md File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="resize.js"></script>
|
||||
<script type="text/javascript" src="navtree.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(initResizable);
|
||||
$(window).load(resizeHeight);
|
||||
</script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { searchBox.OnSelectItem(0); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.3.1 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){initNavTree('apw_2README_8md.html','');});
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Pages</a></div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">view/theme/apw/README.md File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
|
File diff suppressed because one or more lines are too long
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
@ -241,7 +241,7 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Referenced by <a class="el" href="bb2diaspora_8php.html#a4f10e0876b27373c762bc1abbe745f5c">bb2diaspora()</a>, <a class="el" href="items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee">construct_activity_object()</a>, <a class="el" href="items_8php.html#aa579bc4445d60098b1410961ca8e96b7">construct_activity_target()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">format_event_html()</a>, <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification()</a>, <a class="el" href="boot_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, and <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>.</p>
|
||||
<p>Referenced by <a class="el" href="bb2diaspora_8php.html#a4f10e0876b27373c762bc1abbe745f5c">bb2diaspora()</a>, <a class="el" href="items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee">construct_activity_object()</a>, <a class="el" href="items_8php.html#aa579bc4445d60098b1410961ca8e96b7">construct_activity_target()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">format_event_html()</a>, <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, and <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
112
doc/html/blogga_2php_2README_8md.html
Normal file
112
doc/html/blogga_2php_2README_8md.html
Normal file
@ -0,0 +1,112 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.3.1"/>
|
||||
<title>The Red Matrix: view/theme/blogga/php/README.md File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="resize.js"></script>
|
||||
<script type="text/javascript" src="navtree.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(initResizable);
|
||||
$(window).load(resizeHeight);
|
||||
</script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { searchBox.OnSelectItem(0); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.3.1 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){initNavTree('blogga_2php_2README_8md.html','');});
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Pages</a></div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">view/theme/blogga/php/README.md File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
|
138
doc/html/blogga_2php_2theme_8php.html
Normal file
138
doc/html/blogga_2php_2theme_8php.html
Normal file
@ -0,0 +1,138 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.3.1"/>
|
||||
<title>The Red Matrix: view/theme/blogga/php/theme.php File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="resize.js"></script>
|
||||
<script type="text/javascript" src="navtree.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(initResizable);
|
||||
$(window).load(resizeHeight);
|
||||
</script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { searchBox.OnSelectItem(0); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.3.1 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){initNavTree('blogga_2php_2theme_8php.html','');});
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Pages</a></div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">theme.php File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:aa55c1cb1f05087b5002ecb633b550b1b"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="blogga_2php_2theme_8php.html#aa55c1cb1f05087b5002ecb633b550b1b">blog_init</a> (&$a)</td></tr>
|
||||
<tr class="separator:aa55c1cb1f05087b5002ecb633b550b1b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<h2 class="groupheader">Function Documentation</h2>
|
||||
<a class="anchor" id="aa55c1cb1f05087b5002ecb633b550b1b"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">blog_init </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">& </td>
|
||||
<td class="paramname"><em>$a</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Name: Blogga Version: 0.6 Description: Blog theme ported from <a href="http://wordpress.org/extend/themes/twentyeleven">Twenty Eleven wordpress theme</a>, Licensed under <a href="http://www.gnu.org/licenses/gpl-2.0.html">GNU General Public License v2 or later</a> Author: Fabio <a href="http://kirgroup.com/profile/fabrixxm">http://kirgroup.com/profile/fabrixxm</a> Maintainer: Mike <zot:<a href="#" onclick="location.href='mai'+'lto:'+'mik'+'e@'+'zot'+'hu'+'b.c'+'om'; return false;">mike@<span style="display: none;">.nosp@m.</span>zoth<span style="display: none;">.nosp@m.</span>ub.co<span style="display: none;">.nosp@m.</span>m</a>> </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
|
4
doc/html/blogga_2php_2theme_8php.js
Normal file
4
doc/html/blogga_2php_2theme_8php.js
Normal file
@ -0,0 +1,4 @@
|
||||
var blogga_2php_2theme_8php =
|
||||
[
|
||||
[ "blog_init", "blogga_2php_2theme_8php.html#aa55c1cb1f05087b5002ecb633b550b1b", null ]
|
||||
];
|
220
doc/html/blogga_2view_2theme_2blog_2theme_8php.html
Normal file
220
doc/html/blogga_2view_2theme_2blog_2theme_8php.html
Normal file
@ -0,0 +1,220 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.3.1"/>
|
||||
<title>The Red Matrix: view/theme/blogga/view/theme/blog/theme.php File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="resize.js"></script>
|
||||
<script type="text/javascript" src="navtree.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(initResizable);
|
||||
$(window).load(resizeHeight);
|
||||
</script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { searchBox.OnSelectItem(0); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.3.1 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){initNavTree('blogga_2view_2theme_2blog_2theme_8php.html','');});
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Pages</a></div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">theme.php File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:aa55c1cb1f05087b5002ecb633b550b1b"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#aa55c1cb1f05087b5002ecb633b550b1b">blog_init</a> (&$a)</td></tr>
|
||||
<tr class="separator:aa55c1cb1f05087b5002ecb633b550b1b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aae58cc837fe56473d9f3370abfe533ae"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#aae58cc837fe56473d9f3370abfe533ae">blog_install</a> (&$a)</td></tr>
|
||||
<tr class="separator:aae58cc837fe56473d9f3370abfe533ae"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a3e77dbe111f330c64a1ff6c741cd515c"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#a3e77dbe111f330c64a1ff6c741cd515c">blog_uninstall</a> (&$a)</td></tr>
|
||||
<tr class="separator:a3e77dbe111f330c64a1ff6c741cd515c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af634a3f721c5e238530d0636d33230ec"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#af634a3f721c5e238530d0636d33230ec">blogtheme_imgurl</a> ($headimg)</td></tr>
|
||||
<tr class="separator:af634a3f721c5e238530d0636d33230ec"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a028ae8e9f2824670dfa76a6651d817e5"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#a028ae8e9f2824670dfa76a6651d817e5">blogtheme_display_item</a> (&$a, &$data)</td></tr>
|
||||
<tr class="separator:a028ae8e9f2824670dfa76a6651d817e5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<h2 class="groupheader">Function Documentation</h2>
|
||||
<a class="anchor" id="aa55c1cb1f05087b5002ecb633b550b1b"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">blog_init </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">& </td>
|
||||
<td class="paramname"><em>$a</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Name: Blog Version: 0.6 Description: Blog theme ported from <a href="http://wordpress.org/extend/themes/twentyeleven">Twenty Eleven wordpress theme</a>, Licensed under <a href="http://www.gnu.org/licenses/gpl-2.0.html">GNU General Public License v2 or later</a> Author: Fabio <a href="http://kirgroup.com/profile/fabrixxm">http://kirgroup.com/profile/fabrixxm</a> Maintainer: Fabio <a href="http://kirgroup.com/profile/fabrixxm">http://kirgroup.com/profile/fabrixxm</a> </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="aae58cc837fe56473d9f3370abfe533ae"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">blog_install </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">& </td>
|
||||
<td class="paramname"><em>$a</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a3e77dbe111f330c64a1ff6c741cd515c"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">blog_uninstall </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">& </td>
|
||||
<td class="paramname"><em>$a</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a028ae8e9f2824670dfa76a6651d817e5"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">blogtheme_display_item </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">& </td>
|
||||
<td class="paramname"><em>$a</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">& </td>
|
||||
<td class="paramname"><em>$data</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="af634a3f721c5e238530d0636d33230ec"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">blogtheme_imgurl </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname"><em>$headimg</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
|
8
doc/html/blogga_2view_2theme_2blog_2theme_8php.js
Normal file
8
doc/html/blogga_2view_2theme_2blog_2theme_8php.js
Normal file
@ -0,0 +1,8 @@
|
||||
var blogga_2view_2theme_2blog_2theme_8php =
|
||||
[
|
||||
[ "blog_init", "blogga_2view_2theme_2blog_2theme_8php.html#aa55c1cb1f05087b5002ecb633b550b1b", null ],
|
||||
[ "blog_install", "blogga_2view_2theme_2blog_2theme_8php.html#aae58cc837fe56473d9f3370abfe533ae", null ],
|
||||
[ "blog_uninstall", "blogga_2view_2theme_2blog_2theme_8php.html#a3e77dbe111f330c64a1ff6c741cd515c", null ],
|
||||
[ "blogtheme_display_item", "blogga_2view_2theme_2blog_2theme_8php.html#a028ae8e9f2824670dfa76a6651d817e5", null ],
|
||||
[ "blogtheme_imgurl", "blogga_2view_2theme_2blog_2theme_8php.html#af634a3f721c5e238530d0636d33230ec", null ]
|
||||
];
|
File diff suppressed because one or more lines are too long
@ -16,14 +16,9 @@ var boot_8php =
|
||||
[ "fix_system_urls", "boot_8php.html#aca5e42678e178c6b9034610d66666fd7", null ],
|
||||
[ "get_account_id", "boot_8php.html#afe88b920aa285982edb817a0dd44eb37", null ],
|
||||
[ "get_app", "boot_8php.html#a0e6db7e365f2b041a828b93786f694bc", null ],
|
||||
[ "get_birthdays", "boot_8php.html#ad2c97627a313d53df1a1c7b4215ddb51", null ],
|
||||
[ "get_custom_nav", "boot_8php.html#a899d24fd074594ceebbf72e1feff335f", null ],
|
||||
[ "get_events", "boot_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312", null ],
|
||||
[ "get_max_import_size", "boot_8php.html#a97769915c9f14adc4f8ab1ea2cecfd90", null ],
|
||||
[ "get_my_address", "boot_8php.html#a490972c02fdb638c52ec0e012a30bfd2", null ],
|
||||
[ "get_my_url", "boot_8php.html#aa46321e1cd6a3b8dfde8bf9510112fec", null ],
|
||||
[ "get_observer_hash", "boot_8php.html#a623e49c79943f3e7bdb770d021683cf7", null ],
|
||||
[ "get_theme_uid", "boot_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3", null ],
|
||||
[ "goaway", "boot_8php.html#a5ab6181607a090bcdbaa13b15b85aba1", null ],
|
||||
[ "head_get_icon", "boot_8php.html#a24a7a70afedd5d85fe0eadc85afa9f77", null ],
|
||||
[ "head_set_icon", "boot_8php.html#a0e4701c9742c3ef88f02ac450a042a84", null ],
|
||||
@ -36,19 +31,12 @@ var boot_8php =
|
||||
[ "login", "boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4", null ],
|
||||
[ "notice", "boot_8php.html#a9255af5ae9c887520091ea04763c1a88", null ],
|
||||
[ "proc_run", "boot_8php.html#ab346a2ece14993861f3e4206befa94f0", null ],
|
||||
[ "profile_create_sidebar", "boot_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620", null ],
|
||||
[ "profile_load", "boot_8php.html#a4751b522ea913d0e7ed43e03d22e9e68", null ],
|
||||
[ "profile_sidebar", "boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc", null ],
|
||||
[ "profile_tabs", "boot_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273", null ],
|
||||
[ "remote_user", "boot_8php.html#a5542c5c2806ab8bca04bad53d47b5209", null ],
|
||||
[ "startup", "boot_8php.html#aca47505b8732177f52bb2d647eb2741c", null ],
|
||||
[ "system_unavailable", "boot_8php.html#ac608a34f3bc180e7724192e0fd31f9b0", null ],
|
||||
[ "x", "boot_8php.html#a01353c9abebc3544ea080ac161729632", null ],
|
||||
[ "z_birthday", "boot_8php.html#ab55e545b72ec8c097e052ea7d373491f", null ],
|
||||
[ "z_path", "boot_8php.html#aba208673515cbb8a55e5fa4a1da99fda", null ],
|
||||
[ "z_root", "boot_8php.html#add517a0958ac684792c62142a3877f81", null ],
|
||||
[ "zid", "boot_8php.html#a5b815330f3d177ab383af37a6c12e532", null ],
|
||||
[ "zid_init", "boot_8php.html#a680fbafc2db023c5b1309e0180e81315", null ],
|
||||
[ "ABOOK_FLAG_ARCHIVED", "boot_8php.html#a222395aa223cfbff6166fab0b4e2e1d5", null ],
|
||||
[ "ABOOK_FLAG_BLOCKED", "boot_8php.html#a52b599cd13e152ebc80d7e4413683195", null ],
|
||||
[ "ABOOK_FLAG_HIDDEN", "boot_8php.html#a34c756469ebed32e2fc987bcde62d382", null ],
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
@ -114,28 +114,10 @@ $(document).ready(function(){initNavTree('channel_8php.html','');});
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:ac7c8c7845741baadf87fae6bc279f3dc"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init</a> (&$a)</td></tr>
|
||||
<tr class="separator:ac7c8c7845741baadf87fae6bc279f3dc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aea8e189f2fbabfda779349dd94082e8e"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="channel_8php.html#aea8e189f2fbabfda779349dd94082e8e">channel_aside</a> (&$a)</td></tr>
|
||||
<tr class="separator:aea8e189f2fbabfda779349dd94082e8e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a9c6a6179e0e626398ebecc6151905ef1"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content</a> (&$a, $update=0, $load=false)</td></tr>
|
||||
<tr class="separator:a9c6a6179e0e626398ebecc6151905ef1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<h2 class="groupheader">Function Documentation</h2>
|
||||
<a class="anchor" id="aea8e189f2fbabfda779349dd94082e8e"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">channel_aside </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">& </td>
|
||||
<td class="paramname"><em>$a</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a9c6a6179e0e626398ebecc6151905ef1"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
|
@ -1,6 +1,5 @@
|
||||
var channel_8php =
|
||||
[
|
||||
[ "channel_aside", "channel_8php.html#aea8e189f2fbabfda779349dd94082e8e", null ],
|
||||
[ "channel_content", "channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1", null ],
|
||||
[ "channel_init", "channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc", null ]
|
||||
];
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
@ -176,8 +176,6 @@ $(document).ready(function(){initNavTree('classApp.html','');});
|
||||
<tr><td class="entry"><a class="el" href="classApp.html#a5c63eabdc7fdd8b6e3348980ec16a3ad">get_apps</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classApp.html#a604d659d6977a99de42a160343e5289a">get_baseurl</a>($ssl=false)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classApp.html#a084e03c77686d8c13390fef3f7428a2b">get_channel</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classApp.html#ab410451f132910773d0a02e35d0dced9">get_curl_code</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classApp.html#abaf2173711e861ae4aebf43a7f70157e">get_curl_headers</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classApp.html#a4659785d13e4bac0bed50dbb1b0d4299">get_groups</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classApp.html#a622eace13f8fc9f4b5672a68e2bc4396">get_hostname</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classApp.html#a1ad3bb1b68439b3b7cbe630918e618d2">get_observer</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
|
||||
@ -194,8 +192,6 @@ $(document).ready(function(){initNavTree('classApp.html','');});
|
||||
<tr><td class="entry"><a class="el" href="classApp.html#abea5a4f77dcd53c928dc4eed86616637">set_apps</a>($arr)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classApp.html#a78788f6e9d8b713b138f81e457c5cd08">set_baseurl</a>($url)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classApp.html#a89e9feb2bfb5253883a9720beaffe876">set_channel</a>($channel)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classApp.html#a5e6a6bd641e4d9909df56f0283c03821">set_curl_code</a>($code)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classApp.html#a9632092d9e8fdaa82a9fc4586433fd31">set_curl_headers</a>($headers)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classApp.html#a3d84af5e42082098672531cd1a618853">set_groups</a>($g)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classApp.html#a344d2b7dc2f276648d521aee4da1731c">set_hostname</a>($h)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classApp.html#a4776d9322edea17fae56afa5d01a323e">set_observer</a>($xchan)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
@ -165,14 +165,6 @@ Public Member Functions</h2></td></tr>
|
||||
<tr class="separator:a4bdd7bfed62f50515fce652127bf481b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a08f0537964d98958d218066364cff785"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">build_pagehead</a> ()</td></tr>
|
||||
<tr class="separator:a08f0537964d98958d218066364cff785"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a5e6a6bd641e4d9909df56f0283c03821"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a5e6a6bd641e4d9909df56f0283c03821">set_curl_code</a> ($code)</td></tr>
|
||||
<tr class="separator:a5e6a6bd641e4d9909df56f0283c03821"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab410451f132910773d0a02e35d0dced9"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#ab410451f132910773d0a02e35d0dced9">get_curl_code</a> ()</td></tr>
|
||||
<tr class="separator:ab410451f132910773d0a02e35d0dced9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a9632092d9e8fdaa82a9fc4586433fd31"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a9632092d9e8fdaa82a9fc4586433fd31">set_curl_headers</a> ($headers)</td></tr>
|
||||
<tr class="separator:a9632092d9e8fdaa82a9fc4586433fd31"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abaf2173711e861ae4aebf43a7f70157e"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#abaf2173711e861ae4aebf43a7f70157e">get_curl_headers</a> ()</td></tr>
|
||||
<tr class="separator:abaf2173711e861ae4aebf43a7f70157e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abf46a653d8499e7c253cc1be894a6d83"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#abf46a653d8499e7c253cc1be894a6d83">register_template_engine</a> ($class, $name= '')</td></tr>
|
||||
<tr class="separator:abf46a653d8499e7c253cc1be894a6d83"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a94a1ed2dc493c58612d17035b74ae736"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a94a1ed2dc493c58612d17035b74ae736">template_engine</a> ($name= '')</td></tr>
|
||||
@ -414,36 +406,6 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ab410451f132910773d0a02e35d0dced9"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">App::get_curl_code </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="abaf2173711e861ae4aebf43a7f70157e"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">App::get_curl_headers </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a4659785d13e4bac0bed50dbb1b0d4299"></a>
|
||||
@ -717,38 +679,6 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a5e6a6bd641e4d9909df56f0283c03821"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">App::set_curl_code </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname"><em>$code</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a9632092d9e8fdaa82a9fc4586433fd31"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">App::set_curl_headers </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname"><em>$headers</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a3d84af5e42082098672531cd1a618853"></a>
|
||||
@ -1186,8 +1116,6 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Referenced by <a class="el" href="classApp.html#ab410451f132910773d0a02e35d0dced9">get_curl_code()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="af5007c42a693afd9c4899c243b2e1363"></a>
|
||||
@ -1208,8 +1136,6 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Referenced by <a class="el" href="classApp.html#abaf2173711e861ae4aebf43a7f70157e">get_curl_headers()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a0ce85be198e46570366cb3344f3c55b8"></a>
|
||||
|
@ -6,8 +6,6 @@ var classApp =
|
||||
[ "get_apps", "classApp.html#a5c63eabdc7fdd8b6e3348980ec16a3ad", null ],
|
||||
[ "get_baseurl", "classApp.html#a604d659d6977a99de42a160343e5289a", null ],
|
||||
[ "get_channel", "classApp.html#a084e03c77686d8c13390fef3f7428a2b", null ],
|
||||
[ "get_curl_code", "classApp.html#ab410451f132910773d0a02e35d0dced9", null ],
|
||||
[ "get_curl_headers", "classApp.html#abaf2173711e861ae4aebf43a7f70157e", null ],
|
||||
[ "get_groups", "classApp.html#a4659785d13e4bac0bed50dbb1b0d4299", null ],
|
||||
[ "get_hostname", "classApp.html#a622eace13f8fc9f4b5672a68e2bc4396", null ],
|
||||
[ "get_observer", "classApp.html#a1ad3bb1b68439b3b7cbe630918e618d2", null ],
|
||||
@ -24,8 +22,6 @@ var classApp =
|
||||
[ "set_apps", "classApp.html#abea5a4f77dcd53c928dc4eed86616637", null ],
|
||||
[ "set_baseurl", "classApp.html#a78788f6e9d8b713b138f81e457c5cd08", null ],
|
||||
[ "set_channel", "classApp.html#a89e9feb2bfb5253883a9720beaffe876", null ],
|
||||
[ "set_curl_code", "classApp.html#a5e6a6bd641e4d9909df56f0283c03821", null ],
|
||||
[ "set_curl_headers", "classApp.html#a9632092d9e8fdaa82a9fc4586433fd31", null ],
|
||||
[ "set_groups", "classApp.html#a3d84af5e42082098672531cd1a618853", null ],
|
||||
[ "set_hostname", "classApp.html#a344d2b7dc2f276648d521aee4da1731c", null ],
|
||||
[ "set_observer", "classApp.html#a4776d9322edea17fae56afa5d01a323e", null ],
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
|
||||
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">The Red Matrix
|
||||
</div>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user