summaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorRobin Appelman <icewind1991@gmail.com>2010-09-08 01:43:40 +0200
committerRobin Appelman <icewind1991@gmail.com>2010-09-08 01:43:40 +0200
commitcffa4edb722b080091cb417b734dbff1907eafb2 (patch)
treed593cf06ea1b50f053f59c3a7983fb117fa2afbe /plugins
parent5da12fcfa13f2c3497470edc97315363aa89e47c (diff)
downloadnextcloud-server-cffa4edb722b080091cb417b734dbff1907eafb2.tar.gz
nextcloud-server-cffa4edb722b080091cb417b734dbff1907eafb2.zip
provide a basic viewer for text files
Diffstat (limited to 'plugins')
-rw-r--r--plugins/textviewer/lib_textviewer.php5
-rw-r--r--plugins/textviewer/plugin.xml14
-rw-r--r--plugins/textviewer/style.css26
-rw-r--r--plugins/textviewer/textviewer.js40
4 files changed, 85 insertions, 0 deletions
diff --git a/plugins/textviewer/lib_textviewer.php b/plugins/textviewer/lib_textviewer.php
new file mode 100644
index 00000000000..5b3b90d3b6b
--- /dev/null
+++ b/plugins/textviewer/lib_textviewer.php
@@ -0,0 +1,5 @@
+<?php
+//load the required js and css files
+OC_UTIL::addScript('plugins/textviewer/textviewer.js');
+OC_UTIL::addStyle('plugins/textviewer/style.css');
+?>
diff --git a/plugins/textviewer/plugin.xml b/plugins/textviewer/plugin.xml
new file mode 100644
index 00000000000..a17be4730de
--- /dev/null
+++ b/plugins/textviewer/plugin.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<plugin version='1.0'>
+ <info>
+ <id>textviewer</id>
+ <name>A simple text viewer for ownCloud</name>
+ <version>0.1</version>
+ <licence>AGPL</licence>
+ <author>Icewind</author>
+ <require>1.1</require>
+ </info>
+ <runtime>
+ <include>lib_textviewer.php</include>
+ </runtime>
+</plugin>
diff --git a/plugins/textviewer/style.css b/plugins/textviewer/style.css
new file mode 100644
index 00000000000..18cb1b013dd
--- /dev/null
+++ b/plugins/textviewer/style.css
@@ -0,0 +1,26 @@
+#textframe{
+ position:absolute;
+ top:0px;
+ left:0px;
+ height:100%;
+ width:100%;
+ background:rgb(20,20,20);
+ background:rgba(20,20,20,0.9);
+ text-align:center;
+}
+
+#textframe div{
+ vertical-align:middle;
+ text-align:left;
+ height:auto;
+ max-height:90%;
+ max-width:90%;
+ margin:20px;
+ margin-left:auto;
+ margin-right:auto;
+ margin-bottom:10px;
+ border: black solid 3px;
+ background:black;
+ color:white;
+ overflow:auto;
+} \ No newline at end of file
diff --git a/plugins/textviewer/textviewer.js b/plugins/textviewer/textviewer.js
new file mode 100644
index 00000000000..fd6b48f8896
--- /dev/null
+++ b/plugins/textviewer/textviewer.js
@@ -0,0 +1,40 @@
+OC_TextViewer=new Object();
+
+OC_TextViewer.loader=new OCXMLLoader();
+OC_TextViewer.showText=function(dir,file){
+ var path=WEBROOT+'/files/open_file.php?dir='+encodeURIComponent(dir)+'&file='+encodeURIComponent(file);
+ var div=document.createElement('div');
+ div.setAttribute('id','textframe');
+ div.setAttribute('class','center');
+ div.addEvent('onclick',OC_TextViewer.hideText)
+ OC_TextViewer.textFrame=document.createElement('div');
+ div.appendChild(OC_TextViewer.textFrame);
+ body=document.getElementsByTagName('body').item(0);
+ body.appendChild(div);
+ OC_TextViewer.loader.setCallBack(OC_TextViewer.showTexCallback);
+ OC_TextViewer.loader.load(path);
+}
+
+OC_TextViewer.showTexCallback=function(req){
+ var text=req.responseText;
+ OC_TextViewer.textFrame.innerHTML=OC_TextViewer.prepareText(text);
+}
+
+OC_TextViewer.hideText=function(){
+ var div=document.getElementById('textframe');
+ div.parentNode.removeChild(div);
+}
+
+OC_TextViewer.prepareText=function(text){
+ text=text.replace(/\n/g,"<br/>\n");
+ return text;
+}
+
+if(!OC_FILES.fileActions.text){
+ OC_FILES.fileActions.text=new Object()
+}
+OC_FILES.fileActions.text.show=function(){
+ OC_TextViewer.showText(this.dir,this.file);
+}
+
+OC_FILES.fileActions.text['default']=OC_FILES.fileActions.text.show; \ No newline at end of file