Editor do redakčního systému – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Editor do redakčního systému – JavaScript, AJAX, jQuery – Fórum – Programujte.comEditor do redakčního systému – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

z_moravec
~ Redaktor
+3
Posthunter
29. 6. 2018   #1
-
0
-

Ahoj,

aktuálně vytvářím RS na zakázku a potřeboval bych WYSIWYG editor, který splňuje následující požadavky:

  1. Technologie PHP/JS
  2. Umožňuje zachovat formátování při kopírování z wordu
  3. Umožńuje běžné formátování text, zhruba jako editor zde, ideálně i s možností snadné konfigurace a přidávání tlačítek
  4. Upload souborů na server, vybírání obrázků/dokumentů z určené složky na serveru
  5. Ideálně free

Byl bych rád za tipy na editory, které máte vyzkoušené. Hrál jsem si s CKEditorem, TinyMCE, ale vždy jsem narazil na nějaký problém, nejčastěji s uploadem na server nebo procházením již uploadovaných souborů.

Díky!

Nahlásit jako SPAM
IP: 95.82.135.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
Hookyns
~ Anonymní uživatel
5 příspěvků
4. 7. 2018   #2
-
0
-

#1 z_moravec
Už jsou to roky rokoucí, co jsem hledal nějaký WYSIWYG, takže nemám úplně aktuální přehled, ale došel jsem k "Froala" editoru a byl jsem s ním spokojený. 

Nahlásit jako SPAM
IP: 77.95.192.–
z_moravec
~ Redaktor
+3
Posthunter
5. 7. 2018   #3
-
0
-

#2 Hookyns
Díky, podívám se na to.

Nahlásit jako SPAM
IP: 95.82.135.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
peter
~ Anonymní uživatel
3981 příspěvků
10. 7. 2018   #4
-
0
-

TinyMCe bych doporucil.

Nevim, jaky problem mas s uploadem. Mozna to ocekava nejaky plugin, ta free verze.

Aspon stary FCK nemel defaultne nastaveny upload. Pokud tam tedy v adresarich ty soubory na upload jsou (find text = move_uploaded_file), tak to treba nejspis jen nastavit v configu na php upload a zadat spravne cesty root adresarum. V fck jsem odnekud ten plugin ziskal, ale musel jsem ho cely prepsat. Pocital tam s cestou k webu, kdy je primo / = root = /editor/. Kdezto na hostingu je root adresar / nastaveny jen jako root hostingu. cili, ty mas stranky pod /var/www/moje/editor/. Coz potom je cesta blbe. Mno, nakonec jsem tam udelal asi 3 ruzne cesty misto 1 a v celem pluginu to poprepisoval

Jinak, vypis souboru mas  

$skip = array();
	$dirhandle = opendir($path);
	while (($name=readdir($dirhandle)) !== false)	// adresar name='0'
		{
		if (in_array($name,$skip))
			{
			continue;
			}
		if (is_dir($path.$name))
			{
			$out['dirs'][] = $name;
			continue;
			}
		$out['files'][] = $name;
		}
	closedir($dirhandle);
//var_dump($out['files']);

Upload je trochu slozitejsi. Mam to provazane na nekolik class, tak to sem davat nebudu cele. A tahle cast je jeste netetovana. Zrovna ty odzkousene verze mam na jinem pc...

class classFileUpload
{
var $cfg, $lock_status, $input_all, $file_all;

function __construct()
	{
	$this->cfg = array(
		'root'      => '',
		'lock_path' => './actual/', 
		'lock_file' => 'lock.txt',
		'log_file'  => 'log.txt'
		);
	$this->lock_status = array(
		'locked'   => 'locked',
		'unlocked' => 'unlocked'
		);
	$this->tmp_all  = array();
	$this->file_all = array();
	}


public function errFn($name)
	{
	return 'classFileUpload::'.$name.': ';
	}

public function fileClearPath($path)
	{
	return preg_replace('~^\.+\/+()|\.+(\/)+|(\/)\/+~',"$2",$path);	// odstran ./ ../ ///
	}

public function inputRead($input_name='')
	{
	$err_fn = $this->errFn('inputRead');
	$input_field = isset($_FILES[$input_name]) ? $_FILES[$input_name] : (isset($HTTP_POST_FILES[$input_name]) ? $HTTP_POST_FILES[$input_name] : '');
	if (isset($input_field['tmp_name']) && is_uploaded_file($input_field['tmp_name']))
		{
		$file = $input_field['tmp_name']
		$this->input[] = $file;
		return $file;
		}
	fce_notice($err_fn.'No file is uploaded!','error');
	return false;
	}

public function fileCopy($path_from, $path_to)
	{
	$fp1   = fopen($path_from, "r");
	$data1 = fread($fp1, filesize($path_from));
	fclose($fp1);
	$this->fileWrite($path_to, $data1);
	}

public function fileWrite($file_name, $data, $opt=array())	//, $file_pos_line=0
	{
	$err_fn = $this->errFn('fileWrite');
	$opt = array(
		'end_time'   => 5000,	// 5000 ms
		'type'       => 'w',	// !!! ZMENIT na w nebo w+
		'dir_chmod'  => 0777,
		'file_chmod' => 0755
		);
	$old = umask(0);	// https://www.tutorialspoint.com/…rmission.htm
//	@chmod($dir,$opt['dir_chmod']);		// !!! UPRAVIT kod, pokud budes chtit pouzit | nastav prava adresare na 0777
	$fp  = fopen($file_name, $opt['type']);
	if ($fp === false)
		{
		umask($old);
		fce_notice($err_fn.'Cannot open file '.$file_name.'.', 'error');
		return false;
		}
	// cekej na locknuti 5000 ms, zkousej to kazdych 0 - 100 ms
	$can_write = false;
	$i     = microtime();
	$i_end = $i + $opt['end_time'];
	while (!$can_write && microtime()<$i_end);
		{
		$can_write = flock($fp, LOCK_EX);	// lock
		if (!$can_write)
			{
			usleep(round(rand(0,100)*1000));	// micro-second
			}
		}
	if ($can_write === false)
		{
		umask($old);
		fclose($fp); 
		fce_notice($err_fn.'Cannot unlock file '.$file_name.'.', 'error');
		return false;
		}
//	fseek($fp, $file_pos_line);	// !!! zakomentovat
	fwrite($fp, $data);
	flock($fp, LOCK_UN);				// unlock
	fclose($fp); 
	@chmod($file_name, $opt['file_chmod']);	// !nastavit prava k zapisu souboru, 0755 (rwx r.x r.x) nebo 644 (rw. r.. r..) (owner-vlastnik, group-skupina, other-ostatni, r-read, w-write, x-execute; umask, mkdir)
	umask($old);
	return true;
	}

public function fileRead($name)
	{
	if (file_exists($name))
		{
		$data = file_get_contents($name);
		return $data;
		}
	return false;
	}

public function fileMove($path_from='', $path_to='', $rewrite=false)
	{
	$err_fn = $this->errFn('fileMove');
	if ($rewrite==true || !file_exists($path_to))
		{
		$old  = umask(0);
		@chmod($file_path,0777);	// nastav prava adresare na 777 !nebezpecne
		$bool = move_uploaded_file($path_from, $path_to) || copy($path_from, $path_to) || $this->fileCopy($path_from, $path_to);
		if ($bool!==false)
			{
			fce_notice($err_fn.'Soubor uploadovan.','');
			}
		else	{
			fce_notice($err_fn.'Cannot move file from "'. $path_from .'" to "'. $path_to .'". Check file permitions.', 'error');
			}
		@chmod($to,0444);		// https://www.tutorialspoint.com/…rmission.htm
		umask($old);
		return $bool;
		}
	fce_notice($err_fn.'Cannot move file. File "'.$path_to.'" is exist!', 'error');
	return false;
	}

public function upload($input_name, $file_path, $rewrite=false)		// NORMAL UPLOAD
	{
	$err_fn    = $this->errFn('upload');
	$path_from = $this->inputRead($input_name);
	if ($path_from===false)
		{
		return false;
		}
	return $this->fileMove($path_from, $path_to);
	}
Nahlásit jako SPAM
IP: 90.176.141.–
peter
~ Anonymní uživatel
3981 příspěvků
13. 7. 2018   #5
-
0
-

Ha, ted jsem narazil na tento editor. Take vypada celkem slusne. Ale asi nebude free, kdyz je to pod domenou .com, comercial
https://wordhtml.com/

Nahlásit jako SPAM
IP: 90.176.141.–
23. 9. 2018   #6
-
0
-

Ahoj, na firmě přemýšlíme, že by jsme vyzkoušeli Accelerated Mobile Pages (AMP). Obávám se však jestli podporuje všechny funkce naprogramovaných v JavaScriptech. Máte někdo už zkušenosti s AMP? Neobjevili se vám žádné problémy? Na webu se mi těžko hledá nějaká dobrá recenze na tenhle systém. Pro představu vám přikládám zde i web na který to chceme aplikovat. Děkuji vám za vaši pomoc. 

Nahlásit jako SPAM
IP: 92.52.47.–
MilanL+1
Grafoman
26. 9. 2018   #7
-
0
-

#6 Marcelo123
je zvykem, si na vlastní dotaz založit nové vlákno a nestrkat to do jiného.

Nahlásit jako SPAM
IP: 91.139.9.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý